libmm-glib,common-helpers: allow yes/no as booleans in string

E.g. so that the settings passed on Simple.Connect() or
Bearer.Connect() are parsed correctly from the user string:

  daemon.notice netifd: wan (30476): simple connect=apn=internet,ip-type=ipv4,allow-roaming=yes
  daemon.notice netifd: wan (30476): Error parsing connect string:
  'Invalid properties string, unexpected key 'allow-roaming''

This also goes inline with e.g. the --create-bearer help in the man
page that suggests using yes/no for the allow-roaming setting.
This commit is contained in:
Aleksander Morgado
2020-01-06 14:39:45 +01:00
parent 0d8a5e2a43
commit 15e8a78a15

View File

@@ -952,10 +952,10 @@ gboolean
mm_common_get_boolean_from_string (const gchar *value,
GError **error)
{
if (!g_ascii_strcasecmp (value, "true") || g_str_equal (value, "1"))
if (!g_ascii_strcasecmp (value, "true") || g_str_equal (value, "1") || !g_ascii_strcasecmp (value, "yes"))
return TRUE;
if (!g_ascii_strcasecmp (value, "false") || g_str_equal (value, "0"))
if (!g_ascii_strcasecmp (value, "false") || g_str_equal (value, "0") || !g_ascii_strcasecmp (value, "no"))
return FALSE;
g_set_error (error,