]> sigrok.org Git - sigrok-cli.git/blobdiff - parsers.c
parsers: use proper conversion routine for PD option data types
[sigrok-cli.git] / parsers.c
index d92218f8664ed5a8858e32a6b631b8d4c68633aa..c1ab9bdabf5a2bf728c3f4477d5e170e4186605a 100644 (file)
--- a/parsers.c
+++ b/parsers.c
@@ -444,11 +444,11 @@ GHashTable *generic_arg_to_opt(const struct sr_option **opts, GHashTable *genarg
                        g_hash_table_insert(hash, g_strdup(opts[i]->id),
                                        g_variant_ref_sink(gvar));
                } else if (g_variant_is_of_type(opts[i]->def, G_VARIANT_TYPE_INT32)) {
-                       gvar = g_variant_new_int32(strtoul(s, NULL, 10));
+                       gvar = g_variant_new_int32(strtol(s, NULL, 10));
                        g_hash_table_insert(hash, g_strdup(opts[i]->id),
                                        g_variant_ref_sink(gvar));
                } else if (g_variant_is_of_type(opts[i]->def, G_VARIANT_TYPE_UINT64)) {
-                       gvar = g_variant_new_uint64(strtoul(s, NULL, 10));
+                       gvar = g_variant_new_uint64(strtoull(s, NULL, 10));
                        g_hash_table_insert(hash, g_strdup(opts[i]->id),
                                        g_variant_ref_sink(gvar));
                } else if (g_variant_is_of_type(opts[i]->def, G_VARIANT_TYPE_DOUBLE)) {