X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fcss-url.c;h=e8c49892a310a78f0e33d100e54af931bbe00f70;hp=f3d8c909eb417a1b58d9545485bf1af19fdadadd;hb=38a7829dcb4eb5dba28dbf0f05c6a80fea9217f8;hpb=cf3c678c8246fc326b69ae64b4e2766a69df5704 diff --git a/src/css-url.c b/src/css-url.c index f3d8c909..e8c49892 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, 2010 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; @@ -63,41 +64,6 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE; extern YY_BUFFER_STATE yy_scan_bytes (const char *bytes,int len ); extern int yylex (void); -#if 1 -const char *token_names[] = { - "CSSEOF", - "S", - "CDO", - "CDC", - "INCLUDES", - "DASHMATCH", - "LBRACE", - "PLUS", - "GREATER", - "COMMA", - "STRING", - "INVALID", - "IDENT", - "HASH", - "IMPORT_SYM", - "PAGE_SYM", - "MEDIA_SYM", - "CHARSET_SYM", - "IMPORTANT_SYM", - "EMS", - "EXS", - "LENGTH", - "ANGLE", - "TIME", - "FREQ", - "DIMENSION", - "PERCENTAGE", - "NUMBER", - "URI", - "FUNCTION" -}; -#endif - /* Given a detected URI token, get only the URI specified within. Also adjust the starting position and length of the string. @@ -107,7 +73,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 +90,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])) { @@ -261,7 +229,7 @@ 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;