summaryrefslogtreecommitdiffstats
path: root/src/fstring.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fstring.c')
-rw-r--r--src/fstring.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/fstring.c b/src/fstring.c
index 2202effaf..935c8bdcc 100644
--- a/src/fstring.c
+++ b/src/fstring.c
@@ -338,3 +338,39 @@ fstrhash (f_str_t *str)
}
return hval;
}
+
+void
+fstrstrip (f_str_t *str)
+{
+ char *p = str->begin;
+ int r = 0;
+
+ while (r < str->len) {
+ if (g_ascii_isspace (*p)) {
+ p ++;
+ r ++;
+ }
+ else {
+ break;
+ }
+ }
+
+ if (r > 0) {
+ memmove (str->begin, p, str->len - r);
+ str->len -= r;
+ }
+
+ r = str->len;
+ p = str->begin + str->len;
+ while (r > 0) {
+ if (g_ascii_isspace (*p)) {
+ p --;
+ r --;
+ }
+ else {
+ break;
+ }
+ }
+
+ str->len = r;
+}