X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftransform%2Ftransform.c;h=6334ed218b900e03b165db058da0eac263f8739a;hb=5eff221e8c9a84be71a564441c6edf705f8ba8fa;hp=3e787e91fb6bc67a35b671bfbd08c32f0ef47666;hpb=988357ca2f0cb0d0e066111c12b9c0de74a53a1b;p=libsigrok.git
diff --git a/src/transform/transform.c b/src/transform/transform.c
index 3e787e91..6334ed21 100644
--- a/src/transform/transform.c
+++ b/src/transform/transform.c
@@ -18,11 +18,14 @@
* along with this program. If not, see .
*/
+#include
#include
-#include "libsigrok.h"
+#include
#include "libsigrok-internal.h"
+/** @cond PRIVATE */
#define LOG_PREFIX "transform"
+/** @endcond */
/**
* @file
@@ -39,9 +42,15 @@
*/
/** @cond PRIVATE */
+extern SR_PRIV struct sr_transform_module transform_nop;
+extern SR_PRIV struct sr_transform_module transform_scale;
+extern SR_PRIV struct sr_transform_module transform_invert;
/* @endcond */
static const struct sr_transform_module *transform_module_list[] = {
+ &transform_nop,
+ &transform_scale,
+ &transform_invert,
NULL,
};
@@ -213,7 +222,8 @@ SR_API const struct sr_transform *sr_transform_new(const struct sr_transform_mod
/* Pass option along. */
gvt = g_variant_get_type(mod_opts[i].def);
if (!g_variant_is_of_type(value, gvt)) {
- sr_err("Invalid type for '%s' option.", key);
+ sr_err("Invalid type for '%s' option.",
+ (char *)key);
g_free(t);
return NULL;
}
@@ -231,7 +241,8 @@ SR_API const struct sr_transform *sr_transform_new(const struct sr_transform_mod
g_hash_table_iter_init(&iter, options);
while (g_hash_table_iter_next(&iter, &key, &value)) {
if (!g_hash_table_lookup(new_opts, key)) {
- sr_err("Transform module '%s' has no option '%s'.", tmod->id, key);
+ sr_err("Transform module '%s' has no option '%s'.",
+ tmod->id, (char *)key);
g_hash_table_destroy(new_opts);
g_free(t);
return NULL;
@@ -247,6 +258,9 @@ SR_API const struct sr_transform *sr_transform_new(const struct sr_transform_mod
if (new_opts)
g_hash_table_destroy(new_opts);
+ /* Add the transform to the session's list of transforms. */
+ sdi->session->transforms = g_slist_append(sdi->session->transforms, t);
+
return t;
}