From c20b7955474dbc04fd8bdb85b1e4bff4803cf9ee Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 1 Nov 2016 15:53:04 +0100 Subject: [PATCH] ifcfg-rh: let reader create lineList in O(n) using g_list_prepend() and g_list_reverse() --- src/settings/plugins/ifcfg-rh/shvar.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/settings/plugins/ifcfg-rh/shvar.c b/src/settings/plugins/ifcfg-rh/shvar.c index 413ff309b5..ed0e1057bb 100644 --- a/src/settings/plugins/ifcfg-rh/shvar.c +++ b/src/settings/plugins/ifcfg-rh/shvar.c @@ -629,10 +629,11 @@ svOpenFileInternal (const char *name, gboolean create, GError **error) /* we'd use g_strsplit() here, but we want a list, not an array */ for (p = arena; (q = strchr (p, '\n')) != NULL; p = q + 1) - s->lineList = g_list_append (s->lineList, g_strndup (p, q - p)); + s->lineList = g_list_prepend (s->lineList, g_strndup (p, q - p)); if (p[0]) - s->lineList = g_list_append (s->lineList, g_strdup (p)); + s->lineList = g_list_prepend (s->lineList, g_strdup (p)); g_free (arena); + s->lineList = g_list_reverse (s->lineList); /* closefd is set if we opened the file read-only, so go ahead and * close it, because we can't write to it anyway