X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fcss-url.c;h=f97690d6046c155c015b18254a2f690d4442a65e;hp=355e780a4e0a92f4e991fa7d156c9822b8a2f01b;hb=b718128b4f3eb8473fb3b31c8397b49854e74ab7;hpb=4a08094db88011153adadbf995103770b20d2a31 diff --git a/src/css-url.c b/src/css-url.c index 355e780a..f97690d6 100644 --- a/src/css-url.c +++ b/src/css-url.c @@ -1,6 +1,6 @@ /* Collect URLs from CSS source. - Copyright (C) 1998, 2000, 2001, 2002, 2003, 2009 Free Software - Foundation, Inc. + Copyright (C) 1998, 2000, 2001, 2002, 2003, 2009, 2010, 2011 Free + Software Foundation, Inc. This file is part of GNU Wget. @@ -55,6 +55,7 @@ as that of the covered work. */ #include "convert.h" #include "html-url.h" #include "css-tokens.h" +#include "css-url.h" /* from lex.yy.c */ extern char *yytext; @@ -107,7 +108,7 @@ const char *token_names[] = { whitespace after the opening parenthesis and before the closing parenthesis. */ -char * +static char * get_uri_string (const char *at, int *pos, int *length) { char *uri; @@ -124,9 +125,11 @@ get_uri_string (const char *at, int *pos, int *length) /* skip leading space */ while (isspace (at[*pos])) { - (*pos)++; - (*length)--; + (*pos)++; + if (--(*length) == 0) + return NULL; } + /* skip trailing space */ while (isspace (at[*pos + *length - 1])) { @@ -252,7 +255,7 @@ get_urls_css_file (const char *file, const char *url) struct map_context ctx; /* Load the file. */ - fm = read_file (file); + fm = wget_read_file (file); if (!fm) { logprintf (LOG_NOTQUIET, "%s: %s\n", file, strerror (errno)); @@ -261,13 +264,13 @@ get_urls_css_file (const char *file, const char *url) DEBUGP (("Loaded %s (size %s).\n", file, number_to_static_string (fm->length))); ctx.text = fm->content; - ctx.head = ctx.tail = NULL; + ctx.head = NULL; ctx.base = NULL; ctx.parent_base = url ? url : opt.base_href; ctx.document_file = file; ctx.nofollow = 0; get_urls_css (&ctx, 0, fm->length); - read_file_free (fm); + wget_read_file_free (fm); return ctx.head; }