diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2016-04-19 13:14:00 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2016-04-19 14:02:13 +0200 |
commit | ccc148fe9bc24a687ba868070014028d7ad0bb22 (patch) | |
tree | a4686e2712032ea682ed1383334651b4d3638237 | |
parent | 59f57befa4be81b562f9adfbac39fbe19d88c111 (diff) | |
download | ModemManager-ccc148fe9bc24a687ba868070014028d7ad0bb22.tar.gz |
libmm-glib,common-helpers: fix reading boolean from string
The "0" case wasn't being handled properly:
$ sudo mmcli -m 0 --create-bearer="apn=,allow-roaming=0"
Error parsing properties string: 'Cannot get boolean from string '0''
-rw-r--r-- | libmm-glib/mm-common-helpers.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libmm-glib/mm-common-helpers.c b/libmm-glib/mm-common-helpers.c index 804a9d40f..c1ddd8966 100644 --- a/libmm-glib/mm-common-helpers.c +++ b/libmm-glib/mm-common-helpers.c @@ -832,12 +832,13 @@ mm_common_get_boolean_from_string (const gchar *value, if (!g_ascii_strcasecmp (value, "true") || g_str_equal (value, "1")) return TRUE; - if (g_ascii_strcasecmp (value, "false") && g_str_equal (value, "0")) - g_set_error (error, - MM_CORE_ERROR, - MM_CORE_ERROR_INVALID_ARGS, - "Cannot get boolean from string '%s'", value); + if (!g_ascii_strcasecmp (value, "false") || g_str_equal (value, "0")) + return FALSE; + g_set_error (error, + MM_CORE_ERROR, + MM_CORE_ERROR_INVALID_ARGS, + "Cannot get boolean from string '%s'", value); return FALSE; } |