summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2009-12-24 00:55:32 +0100
committerMarcel Holtmann <marcel@holtmann.org>2009-12-23 19:29:01 -0800
commit4ffb42c8fb8f0d9c2189ba6fbcb1fded222cb68d (patch)
treedd77268f23e30a4b1e3e508407cf6089520f3ccc
parent2b6c343612c961ec7744bcd2f7d5d47f7862f2c1 (diff)
downloadconnman-4ffb42c8fb8f0d9c2189ba6fbcb1fded222cb68d.tar.gz
connman-4ffb42c8fb8f0d9c2189ba6fbcb1fded222cb68d.tar.bz2
connman-4ffb42c8fb8f0d9c2189ba6fbcb1fded222cb68d.zip
More config.c copy and paste fixes
In __connman_config_provision_service(), the config pointer was always set to the last service entry found from the configuration files. This was hiding many bugs introduced by the hexadecimal SSID changes.
-rw-r--r--src/config.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/config.c b/src/config.c
index 6afe7fcf..cd63d407 100644
--- a/src/config.c
+++ b/src/config.c
@@ -68,7 +68,7 @@ static int load_service(GKeyFile *keyfile, struct connman_config *config)
str = g_key_file_get_string(keyfile, "service", "Type", NULL);
if (str != NULL) {
- g_free(service->ssid);
+ g_free(service->type);
service->type = str;
}
@@ -91,7 +91,7 @@ static int load_service(GKeyFile *keyfile, struct connman_config *config)
g_free(hex_ssid);
- g_free(service->type);
+ g_free(service->ssid);
service->ssid = ssid;
service->ssid_len = hex_ssid_len / 2;
}
@@ -415,11 +415,11 @@ int __connman_config_provision_service(struct connman_service *service)
ssid_len == config->service->ssid_len)
if (config->service->ssid &&
memcmp(config->service->ssid, ssid,
- ssid_len) == 0)
+ ssid_len) == 0) {
+ config_service_setup(service, config->service);
break;
+ }
}
- config_service_setup(service, config->service);
-
return 0;
}