summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-04-25 15:13:18 +0200
committerThomas Haller <thaller@redhat.com>2016-04-25 15:26:26 +0200
commit316359d8b65030df2ac8b34be926bc752a96802c (patch)
tree40c61373799d98787797cf3956153aa720b232d0
parent79d85ca180c7510e9e6a07e7295d84f0151f0243 (diff)
downloadNetworkManager-316359d8b65030df2ac8b34be926bc752a96802c.tar.gz
settings: refactor read_hostname_*()
-rw-r--r--src/settings/nm-settings.c36
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