aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/devices/x86/processor.c16
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;
}