diff options
-rw-r--r-- | daemon/daemon.h | 2 | ||||
-rw-r--r-- | daemon/guestfsd.c | 22 |
2 files changed, 24 insertions, 0 deletions
diff --git a/daemon/daemon.h b/daemon/daemon.h index bb1ebb3a..777cf332 100644 --- a/daemon/daemon.h +++ b/daemon/daemon.h @@ -66,6 +66,8 @@ extern int commandrvf (char **stdoutput, char **stderror, int flags, extern char **split_lines (char *str); +extern void trim (char *str); + extern int device_name_translation (char *device, const char *func); extern void udev_settle (void); diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index 0fc01283..5265ab52 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -928,6 +928,28 @@ split_lines (char *str) return lines; } +/* Skip leading and trailing whitespace, updating the original string + * in-place. + */ +void +trim (char *str) +{ + size_t len = strlen (str); + + while (len > 0 && c_isspace (str[len-1])) { + str[len-1] = '\0'; + len--; + } + + const char *p = str; + while (*p && c_isspace (*p)) { + p++; + len--; + } + + memmove (str, p, len+1); +} + /* printf helper function so we can use %Q ("quoted") and %R to print * shell-quoted strings. See HACKING file for more details. */ |