]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
fix that parse does not skip over quotes (in whitespace skip).
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Tue, 11 Feb 2014 13:17:08 +0000 (14:17 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Tue, 11 Feb 2014 13:17:08 +0000 (14:17 +0100)
parse.c

diff --git a/parse.c b/parse.c
index 710c4e70b8489df4b52f341601bd766d76317be9..e68627c25a7259456c24156e1b391e384911e755 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -161,7 +161,9 @@ ldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *li
        return (ssize_t)i;
 
 tokenread:
-       ldns_fskipcs_l(f, del, line_nr);
+       if(*del == '"') /* do not skip over quotes, they are significant */
+               ldns_fskipcs_l(f, del+1, line_nr);
+       else    ldns_fskipcs_l(f, del, line_nr);
        *t = '\0';
        if (p != 0) {
                return -1;
@@ -331,7 +333,9 @@ ldns_bget_token(ldns_buffer *b, char *token, const char *delim, size_t limit)
        return (ssize_t)i;
 
 tokenread:
-       ldns_bskipcs(b, del);
+       if(*del == '"') /* do not skip over quotes, they are significant */
+               ldns_bskipcs(b, del+1);
+       else    ldns_bskipcs(b, del);
        *t = '\0';
 
        if (p != 0) {