diff options
author | Thomas Haller <thaller@redhat.com> | 2016-04-25 15:13:18 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-04-25 15:26:26 +0200 |
commit | 316359d8b65030df2ac8b34be926bc752a96802c (patch) | |
tree | 40c61373799d98787797cf3956153aa720b232d0 | |
parent | 79d85ca180c7510e9e6a07e7295d84f0151f0243 (diff) | |
download | NetworkManager-316359d8b65030df2ac8b34be926bc752a96802c.tar.gz |
settings: refactor read_hostname_*()
-rw-r--r-- | src/settings/nm-settings.c | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c index 6b06335036..281f299f1f 100644 --- a/src/settings/nm-settings.c +++ b/src/settings/nm-settings.c @@ -480,27 +480,25 @@ get_plugin (NMSettings *self, guint32 capability) static gchar * read_hostname_gentoo (const char *path) { - gchar *contents = NULL, *result = NULL, *tmp; - gchar **all_lines = NULL; - guint line_num, i; + gs_free char *contents = NULL; + gs_strfreev char **all_lines = NULL; + const char *tmp; + guint i; if (!g_file_get_contents (path, &contents, NULL, NULL)) return NULL; + all_lines = g_strsplit (contents, "\n", 0); - line_num = g_strv_length (all_lines); - for (i = 0; i < line_num; i++) { + for (i = 0; all_lines[i]; i++) { g_strstrip (all_lines[i]); if (all_lines[i][0] == '#' || all_lines[i][0] == '\0') continue; if (g_str_has_prefix (all_lines[i], "hostname=")) { tmp = &all_lines[i][NM_STRLEN ("hostname=")]; - result = g_shell_unquote (tmp, NULL); - break; + return g_shell_unquote (tmp, NULL); } } - g_strfreev (all_lines); - g_free (contents); - return result; + return NULL; } #endif @@ -508,15 +506,16 @@ read_hostname_gentoo (const char *path) static gchar * read_hostname_slackware (const char *path) { - gchar *contents = NULL, *result = NULL, *tmp; - gchar **all_lines = NULL; - guint line_num, i, j = 0; + gs_free char *contents = NULL; + gs_strfreev char **all_lines = NULL; + char *tmp; + guint i, j = 0; if (!g_file_get_contents (path, &contents, NULL, NULL)) return NULL; + all_lines = g_strsplit (contents, "\n", 0); - line_num = g_strv_length (all_lines); - for (i = 0; i < line_num; i++) { + for (i = 0; all_lines[i]; i++) { g_strstrip (all_lines[i]); if (all_lines[i][0] == '#' || all_lines[i][0] == '\0') continue; @@ -530,12 +529,9 @@ read_hostname_slackware (const char *path) } j++; } - result = g_shell_unquote (tmp, NULL); - break; + return g_shell_unquote (tmp, NULL); } - g_strfreev (all_lines); - g_free (contents); - return result; + return NULL; } #endif |