static char * get_option (GHashTable *hash, const char *key) { GValue *value; value = g_hash_table_lookup (hash, key); if (value == NULL) return NULL; if (G_VALUE_TYPE (value) != DBUS_TYPE_G_UCHAR_ARRAY) { nm_log_warn (LOGD_DHCP, "unexpected key %s value type was not " "DBUS_TYPE_G_UCHAR_ARRAY", (char *) key); return NULL; } return garray_to_string ((GArray *) g_value_get_boxed (value), key); }
static void copy_option (gpointer key, gpointer value, gpointer user_data) { GHashTable *hash = user_data; const char *str_key = (const char *) key; char *str_value = NULL; if (G_VALUE_TYPE (value) != DBUS_TYPE_G_UCHAR_ARRAY) { nm_log_warn (LOGD_DHCP, "unexpected key %s value type was not " "DBUS_TYPE_G_UCHAR_ARRAY", str_key); return; } str_value = garray_to_string ((GArray *) g_value_get_boxed (value), str_key); if (str_value) g_hash_table_insert (hash, g_strdup (str_key), str_value); }