--- lexer_v3.c.orig 2006-11-23 09:25:30.000000000 -0500
+++ lexer_v3.c 2006-11-23 09:29:24.000000000 -0500
@@ -2590,6 +2590,14 @@
else
ret_val = EOB_ACT_CONTINUE_SCAN;
+ if ((yy_n_chars) + number_to_move > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ int new_size = (yy_n_chars) * 5 / 4 + 2;
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yyrealloc( (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,
+ new_size );
+ }
+
(yy_n_chars) += number_to_move;
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;