diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2011-07-01 11:01:08 +0300 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-07-06 11:23:05 +0200 |
commit | 74099465def80adc6f820ecd1237ec47bfe6cdb4 (patch) | |
tree | a5df7a40e828094e492fad76d94d85f1a64460db /src/provider.c | |
parent | 37e594e654a074af246e16504e1a4ab14f417092 (diff) | |
download | connman-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.c | 11 |
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; } |