From 17f26fd5ed8adec7a8c2c69ddac1934e56dff0c9 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 8 May 2009 19:04:41 +0400 Subject: * Strip header values to avoid problems with libc functions --- src/fstring.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/fstring.c') 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; +} -- cgit v1.2.3