From: Richard Jones Date: Thu, 18 Mar 2010 13:46:26 +0000 (+0000) Subject: daemon: Add a trim utility function. X-Git-Tag: 1.0.87~29 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=27e73269d384814eb5f76468f609f7844cb75b0b daemon: Add a trim utility function. This function trims the whitespace from around a string. It does this in-place, so it can be called for malloc'd strings. --- diff --git a/daemon/daemon.h b/daemon/daemon.h index bb1ebb3..777cf33 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 0fc0128..5265ab5 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. */