aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2008-04-25 07:04:59 +0000
committerAndreas Steffen <andreas.steffen@strongswan.org>2008-04-25 07:04:59 +0000
commit33eb3d4ab6fdad17eaa4773aad9d1fd5a0e158c1 (patch)
tree502706e25969528fda0382256bd5688d082652c3 /src
parent36fecdb8a35e275eaf8aa1caed48674fcf30d76f (diff)
downloadstrongswan-33eb3d4ab6fdad17eaa4773aad9d1fd5a0e158c1.tar.bz2
strongswan-33eb3d4ab6fdad17eaa4773aad9d1fd5a0e158c1.tar.xz
extract_token() now handles whitespace
Diffstat (limited to 'src')
-rw-r--r--src/libstrongswan/utils/lexparser.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libstrongswan/utils/lexparser.c b/src/libstrongswan/utils/lexparser.c
index c23576971..9019c2602 100644
--- a/src/libstrongswan/utils/lexparser.c
+++ b/src/libstrongswan/utils/lexparser.c
@@ -48,6 +48,14 @@ bool extract_token(chunk_t *token, const char termination, chunk_t *src)
{
u_char *eot = memchr(src->ptr, termination, src->len);
+ if (termination == ' ')
+ {
+ u_char *eot_tab = memchr(src->ptr, '\t', src->len);
+
+ /* check if a tab instead of a space terminates the token */
+ eot = ( eot_tab == NULL || (eot && eot < eot_tab) ) ? eot : eot_tab;
+ }
+
/* initialize empty token */
*token = chunk_empty;