diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2008-04-25 07:04:59 +0000 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2008-04-25 07:04:59 +0000 |
commit | 33eb3d4ab6fdad17eaa4773aad9d1fd5a0e158c1 (patch) | |
tree | 502706e25969528fda0382256bd5688d082652c3 /src | |
parent | 36fecdb8a35e275eaf8aa1caed48674fcf30d76f (diff) | |
download | strongswan-33eb3d4ab6fdad17eaa4773aad9d1fd5a0e158c1.tar.bz2 strongswan-33eb3d4ab6fdad17eaa4773aad9d1fd5a0e158c1.tar.xz |
extract_token() now handles whitespace
Diffstat (limited to 'src')
-rw-r--r-- | src/libstrongswan/utils/lexparser.c | 8 |
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; |