From 80b0e2c0fdad108454ae87130496f595f0b81b81 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Fri, 7 May 2004 22:02:29 +0000 Subject: - Reworked the internal API - Added common functions for trimming - Debugging - Reworked the module to the new protocol --- common/buffer.c | 6 ++---- common/stringx.c | 29 +++++++++++++++++++++++++++++ common/stringx.h | 9 +++++++++ 3 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 common/stringx.c create mode 100644 common/stringx.h (limited to 'common') diff --git a/common/buffer.c b/common/buffer.c index 72f0b6c..5a77922 100644 --- a/common/buffer.c +++ b/common/buffer.c @@ -1,6 +1,7 @@ #include "usuals.h" #include "httpauthd.h" +#include "stringx.h" #include @@ -316,10 +317,7 @@ char* ha_bufparseline(ha_buffer_t* buf, int trim) buf->_pp = t + 1; if(trim) - { - while(t > line && isspace(*(--t))) - *t = 0; - } + line = trim_space(line); /* We don't return empty strings */ if(line[0] == 0) diff --git a/common/stringx.c b/common/stringx.c new file mode 100644 index 0000000..159a7f4 --- /dev/null +++ b/common/stringx.c @@ -0,0 +1,29 @@ + +#include +#include "stringx.h" + +const char* trim_start(const char* data) +{ + while(*data && isspace(*data)) + ++data; + return data; +} + +char* trim_end(char* data) +{ + char* t = data + strlen(data); + + while(t > data && isspace(*(t - 1))) + { + t--; + *t = 0; + } + + return data; +} + +char* trim_space(char* data) +{ + data = (char*)trim_start(data); + return trim_end(data); +} diff --git a/common/stringx.h b/common/stringx.h new file mode 100644 index 0000000..4776170 --- /dev/null +++ b/common/stringx.h @@ -0,0 +1,9 @@ + +#ifndef __STRINGX_H__ +#define __STRINGX_H__ + +const char* trim_start(const char* data); +char* trim_end(char* data); +char* trim_space(char* data); + +#endif /* __STRINGX_H__ */ -- cgit v1.2.3