extract_token() now handles whitespace
authorAndreas Steffen <andreas.steffen@strongswan.org>
Fri, 25 Apr 2008 07:04:59 +0000 (07:04 -0000)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Fri, 25 Apr 2008 07:04:59 +0000 (07:04 -0000)
src/libstrongswan/utils/lexparser.c

index c235769..9019c26 100644 (file)
@@ -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;