opt_to_gvar: notify the user in case of invalid values for --config
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Thu, 4 Dec 2014 16:27:08 +0000 (17:27 +0100)
committerUwe Hermann <uwe@hermann-uwe.de>
Sat, 3 Jan 2015 18:16:06 +0000 (19:16 +0100)
sigrok-cli exits silently in many cases where values passed to --config are
empty strings or haven't been converted by GLib functions properly.

Check for errors and notify the user.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
session.c

index b0241969b7481a8ff4f2c765d68e2ca44c34f718..2c2f478365469effabd1c3513c2ef76de606127c 100644 (file)
--- a/session.c
+++ b/session.c
@@ -337,7 +337,7 @@ int opt_to_gvar(char *key, char *value, struct sr_config *src)
        }
        src->key = srci->key;
 
-       if ((value == NULL) &&
+       if ((value == NULL || strlen(value) == 0) &&
                (srci->datatype != SR_T_BOOL)) {
                g_critical("Option '%s' needs a value.", (char *)key);
                return -1;
@@ -426,6 +426,9 @@ int opt_to_gvar(char *key, char *value, struct sr_config *src)
                ret = -1;
        }
 
+       if (ret < 0)
+               g_critical("Invalid value: '%s' for option '%s'", value, key);
+
        return ret;
 }