gdhcp: Support hostname with space characters
authorMartin Xu <martin.xu@intel.com>
Thu, 25 Nov 2010 06:03:14 +0000 (14:03 +0800)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 25 Nov 2010 10:47:52 +0000 (11:47 +0100)
gdhcp/client.c

index 5c5b426..4e687e9 100644 (file)
@@ -844,7 +844,7 @@ static char *malloc_option_value_string(uint8_t *option, GDHCPOptionType type)
        return ret;
 }
 
-static GList *get_option_value_list(char *value)
+static GList *get_option_value_list(char *value, GDHCPOptionType type)
 {
        char *pos = value;
        GList *list = NULL;
@@ -852,6 +852,9 @@ static GList *get_option_value_list(char *value)
        if (pos == NULL)
                return NULL;
 
+       if (type == OPTION_STRING)
+               return g_list_append(list, g_strdup(value));
+
        while ((pos = strchr(pos, ' ')) != NULL) {
                *pos = '\0';
 
@@ -890,7 +893,7 @@ static void get_request(GDHCPClient *dhcp_client, struct dhcp_packet *packet)
                        g_hash_table_remove(dhcp_client->code_value_hash,
                                                GINT_TO_POINTER((int) code));
 
-               value_list = get_option_value_list(option_value);
+               value_list = get_option_value_list(option_value, type);
 
                g_free(option_value);