summaryrefslogtreecommitdiff
path: root/src/provider.c
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2011-07-01 11:01:08 +0300
committerSamuel Ortiz <sameo@linux.intel.com>2011-07-06 11:23:05 +0200
commit74099465def80adc6f820ecd1237ec47bfe6cdb4 (patch)
treea5df7a40e828094e492fad76d94d85f1a64460db /src/provider.c
parent37e594e654a074af246e16504e1a4ab14f417092 (diff)
downloadconnman-74099465def80adc6f820ecd1237ec47bfe6cdb4.tar.gz
connman-74099465def80adc6f820ecd1237ec47bfe6cdb4.tar.bz2
connman-74099465def80adc6f820ecd1237ec47bfe6cdb4.zip
provider: Properly set host and domain provider members
Detect 'Host' and 'VPN.Domain' strings being set and insert them properly into the provider structure. Also ensure that the strings corresponding to provider structure members are not duplicated into the provider string settings hash.
Diffstat (limited to 'src/provider.c')
-rw-r--r--src/provider.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/provider.c b/src/provider.c
index 5bc8c40e..39b9a9b6 100644
--- a/src/provider.c
+++ b/src/provider.c
@@ -623,9 +623,14 @@ int connman_provider_set_string(struct connman_provider *provider,
} else if (g_str_equal(key, "Name") == TRUE) {
g_free(provider->name);
provider->name = g_strdup(value);
- }
-
- g_hash_table_replace(provider->setting_strings,
+ } else if (g_str_equal(key, "Host") == TRUE) {
+ g_free(provider->host);
+ provider->host = g_strdup(value);
+ } else if (g_str_equal(key, "VPN.Domain") == TRUE) {
+ g_free(provider->domain);
+ provider->domain = g_strdup(value);
+ } else
+ g_hash_table_replace(provider->setting_strings,
g_strdup(key), g_strdup(value));
return 0;
}