summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--daemon/daemon.h2
-rw-r--r--daemon/guestfsd.c22
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.
*/