diff --git a/src/css-url.c b/src/css-url.c index d56918d5..781bbe1f 100644 --- a/src/css-url.c +++ b/src/css-url.c @@ -59,6 +59,7 @@ extern char *yytext; extern int yyleng; typedef struct yy_buffer_state *YY_BUFFER_STATE; extern YY_BUFFER_STATE yy_scan_bytes (const char *bytes,int len ); +extern void yy_delete_buffer (YY_BUFFER_STATE b); extern int yylex (void); /* @@ -109,9 +110,10 @@ get_urls_css (struct map_context *ctx, int offset, int buf_length) int buffer_pos = 0; int pos, length; char *uri; + YY_BUFFER_STATE b; /* tell flex to scan from this buffer */ - yy_scan_bytes (ctx->text + offset, buf_length); + b = yy_scan_bytes (ctx->text + offset, buf_length); while((token = yylex()) != CSSEOF) { @@ -188,6 +190,9 @@ get_urls_css (struct map_context *ctx, int offset, int buf_length) } buffer_pos += yyleng; } + + yy_delete_buffer(b); + DEBUGP (("\n")); }