mmcli: fix newline prefixing

The last line in a multi-line string was getting lost if it wasn't '\n'
terminated.
This commit is contained in:
Aleksander Morgado
2013-05-23 17:38:09 +02:00
parent a12be165d1
commit 5c8f1fe0f2

View File

@@ -1145,10 +1145,15 @@ mmcli_prefix_newlines (const gchar *prefix,
const gchar *line_start = str; const gchar *line_start = str;
const gchar *line_end; const gchar *line_end;
while ((line_end = strchr (line_start, '\n'))) { do {
gssize line_length; gssize line_length;
line_length = line_end - line_start; line_end = strchr (line_start, '\n');
if (line_end)
line_length = line_end - line_start;
else
line_length = strlen (line_start);
if (line_start[line_length - 1] == '\r') if (line_start[line_length - 1] == '\r')
line_length--; line_length--;
@@ -1166,8 +1171,8 @@ mmcli_prefix_newlines (const gchar *prefix,
line_length); line_length);
} }
line_start = line_end + 1; line_start = (line_end ? line_end + 1 : NULL);
} } while (line_start != NULL);
return (prefixed_string ? return (prefixed_string ?
g_string_free (prefixed_string, FALSE) : g_string_free (prefixed_string, FALSE) :