X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fstrings.c;h=d78f9fdfb76e87dbd97eca8d097a3f68e81631e6;hb=f339cb33703fc1b561d9956c29c4eb0e57334a91;hp=5e9c3a8968cc5ad8a001f84cee77d3d531f303aa;hpb=fa7c8bb79b45aecdf65ed93635a42f3fdf301134;p=libguestfs.git diff --git a/daemon/strings.c b/daemon/strings.c index 5e9c3a8..d78f9fd 100644 --- a/daemon/strings.c +++ b/daemon/strings.c @@ -26,15 +26,13 @@ #include "actions.h" char ** -do_strings_e (const char *encoding, const char *path) +do_strings_e (char *encoding, char *path) { int len; char *buf; int r; char *out, *err; - char **lines = NULL; - int size = 0, alloc = 0; - char *p, *pend; + char **lines; NEED_ROOT (NULL); ABS_PATH (path, NULL); @@ -60,32 +58,17 @@ do_strings_e (const char *encoding, const char *path) free (err); /* Now convert the output to a list of lines. */ - p = out; - while (p && *p) { - pend = strchr (p, '\n'); - if (pend) { - *pend = '\0'; - pend++; - } - - if (add_string (&lines, &size, &alloc, p) == -1) { - free (out); - return NULL; - } - - p = pend; - } - + lines = split_lines (out); free (out); - if (add_string (&lines, &size, &alloc, NULL) == -1) + if (lines == NULL) return NULL; return lines; /* Caller frees. */ } char ** -do_strings (const char *path) +do_strings (char *path) { return do_strings_e ("s", path); }