[PATCH 1/3] dhcp: Cleanup of VendorClassID config option
by VAUTRIN Emmanuel (Canal Plus Prestataire)
---
include/setting.h | 1 +
src/dhcp.c | 2 +-
src/main.c | 18 ++++++++++++------
3 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/include/setting.h b/include/setting.h
index 8d2c37b7964d..920e6754169b 100644
--- a/include/setting.h
+++ b/include/setting.h
@@ -30,6 +30,7 @@ extern "C" {
bool connman_setting_get_bool(const char *key);
unsigned int connman_setting_get_uint(const char *key);
+char *connman_setting_get_string(const char *key);
char **connman_setting_get_string_list(const char *key);
unsigned int *connman_setting_get_uint_list(const char *key);
diff --git a/src/dhcp.c b/src/dhcp.c
index 42e9f417d960..2d96c439207e 100644
--- a/src/dhcp.c
+++ b/src/dhcp.c
@@ -616,7 +616,7 @@ static int dhcp_initialize(struct connman_dhcp *dhcp)
g_dhcp_client_set_request(dhcp_client, G_DHCP_ROUTER);
g_dhcp_client_set_request(dhcp_client, G_DHCP_SUBNET);
- vendor_class_id = connman_option_get_string("VendorClassID");
+ vendor_class_id = connman_setting_get_string("VendorClassID");
if (vendor_class_id)
g_dhcp_client_set_send(dhcp_client, G_DHCP_VENDOR_CLASS_ID,
vendor_class_id);
diff --git a/src/main.c b/src/main.c
index 8bd44ba18027..73ecde418793 100644
--- a/src/main.c
+++ b/src/main.c
@@ -301,7 +301,7 @@ static void parse_config(GKeyFile *config)
char **interfaces;
char **str_list;
char **tethering;
- char *vendor_class_id;
+ char *string;
gsize len;
int integer;
@@ -461,10 +461,10 @@ static void parse_config(GKeyFile *config)
g_clear_error(&error);
- vendor_class_id = __connman_config_get_string(config, "General",
+ string = __connman_config_get_string(config, "General",
CONF_VENDOR_CLASS_ID, &error);
if (!error)
- connman_settings.vendor_class_id = vendor_class_id;
+ connman_settings.vendor_class_id = string;
g_clear_error(&error);
@@ -705,9 +705,6 @@ static GOptionEntry options[] = {
const char *connman_option_get_string(const char *key)
{
- if (g_str_equal(key, CONF_VENDOR_CLASS_ID))
- return connman_settings.vendor_class_id;
-
if (g_strcmp0(key, "wifi") == 0) {
if (!option_wifi)
return "nl80211,wext";
@@ -767,6 +764,14 @@ unsigned int connman_setting_get_uint(const char *key)
return 0;
}
+char *connman_setting_get_string(const char *key)
+{
+ if (g_str_equal(key, CONF_VENDOR_CLASS_ID))
+ return connman_settings.vendor_class_id;
+
+ return NULL;
+}
+
char **connman_setting_get_string_list(const char *key)
{
if (g_str_equal(key, CONF_PREF_TIMESERVERS))
@@ -988,6 +993,7 @@ int main(int argc, char *argv[])
g_strfreev(connman_settings.fallback_nameservers);
g_strfreev(connman_settings.blacklisted_interfaces);
g_strfreev(connman_settings.tethering_technologies);
+ g_free(connman_settings.vendor_class_id);
g_free(option_debug);
g_free(option_wifi);
--
2.25.1