diff options
-rw-r--r-- | modules/devices/x86/processor.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/modules/devices/x86/processor.c b/modules/devices/x86/processor.c index 1af96039..04db2423 100644 --- a/modules/devices/x86/processor.c +++ b/modules/devices/x86/processor.c @@ -213,16 +213,26 @@ fail: g_free(endpoint); } +static gboolean _g_strv_contains(const gchar * const * strv, const gchar *str) { + /* g_strv_contains() requires glib>2.44 */ + //return g_strv_contains(strv, str); + gint i = 0; + while(strv[i] != NULL) { + if (g_strcmp0(strv[i], str) == 0) + return 1; + i++; + } + return 0; +} + int processor_has_flag(gchar * strflags, gchar * strflag) { gchar **flags; gint ret = 0; - if (strflags == NULL || strflag == NULL) return 0; - flags = g_strsplit(strflags, " ", 0); - ret = g_strv_contains((const gchar * const *)flags, strflag); + ret = _g_strv_contains((const gchar * const *)flags, strflag); g_strfreev(flags); return ret; } |