diff options
-rw-r--r-- | RELEASE-NOTES | 2 | ||||
-rw-r--r-- | src/urlglob.c | 23 |
2 files changed, 4 insertions, 21 deletions
diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 30fcb466a..05e02c9a8 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -20,6 +20,7 @@ This release includes the following bugfixes: o ftp-wildcard: avoid tight loop when used without any pattern o multi_socket: re-use of same socket without notifying app o ftp wildcard: FTP LIST parser FIX + o urlglobbing backslash escaping bug This release includes the following known bugs: @@ -29,6 +30,7 @@ This release would not have looked like this without help, code, reports and advice from friends like these: Dan Fandrich, Kamil Dudka, Krister Johansen, Pavel Raiskup, + Jon Sargeant Thanks! (and sorry if I forgot to mention someone) diff --git a/src/urlglob.c b/src/urlglob.c index 5f8fb2868..8435b250d 100644 --- a/src/urlglob.c +++ b/src/urlglob.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -75,8 +75,6 @@ static GlobCode glob_set(URLGlob *glob, char *pattern, ++glob->size; while (!done) { - bool skip; - switch (*pattern) { case '\0': /* URL ended while set was still open */ snprintf(glob->errormsg, sizeof(glob->errormsg), @@ -127,24 +125,7 @@ static GlobCode glob_set(URLGlob *glob, char *pattern, return GLOB_ERROR; case '\\': /* escaped character, skip '\' */ - switch(pattern[1]) { - case '[': - case ']': - case '{': - case '}': - case ',': - skip = TRUE; - break; - default: - skip = FALSE; - break; - } - if(skip) { - if (*(buf+1) == '\0') { /* but no escaping of '\0'! */ - snprintf(glob->errormsg, sizeof(glob->errormsg), - "illegal pattern at pos %zu\n", pos); - return GLOB_ERROR; - } + if(pattern[1]) { ++pattern; ++pos; } |