diff options
Diffstat (limited to 'src/fstring.c')
-rw-r--r-- | src/fstring.c | 36 |
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; +} |