[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] libxl: config parser: Rebuild config file parser scanner (rerun flex)



# HG changeset patch
# User Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
# Date 1294841653 0
# Node ID 20b0f709153e9e36c937caae8ec0b816c8ad1cfd
# Parent  c3e478eafabce2840a170da0fbc92458afb95386
libxl: config parser: Rebuild config file parser scanner (rerun flex)

The scanner from c/s 22735:cb94dbe20f97 is buggy and crashes with a
segmentation fault.  Rebuilding the sanner appears to fix the problem
so it appears that I somehow accidentally checked in a scanner which
doesn't correspond to the committed scanner source code.

Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 tools/libxl/libxlu_cfg_l.c |   43 ++++++++++++++++++++++++++-----------------
 1 files changed, 26 insertions(+), 17 deletions(-)

diff -r c3e478eafabc -r 20b0f709153e tools/libxl/libxlu_cfg_l.c
--- a/tools/libxl/libxlu_cfg_l.c        Wed Jan 12 10:53:56 2011 +0000
+++ b/tools/libxl/libxlu_cfg_l.c        Wed Jan 12 14:14:13 2011 +0000
@@ -379,12 +379,12 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[34] =
+static yyconst flex_int16_t yy_accept[35] =
     {   0,
-        0,    0,   13,   13,   16,   12,    3,    9,   12,   12,
-       12,    4,    2,    8,    7,    5,    6,    1,   13,   13,
-       14,    0,   11,    0,    0,    9,    0,   10,    0,    2,
-        1,   13,    0
+        0,    0,   14,   14,   17,   13,    3,    9,   13,   13,
+       13,   12,    4,    2,    8,    7,    5,    6,    1,   14,
+       14,   15,    0,   11,    0,    0,    9,    0,   10,    0,
+        2,    1,   14,    0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -809,13 +809,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != 
yy_current_state )
                                {
                                yy_current_state = (int) 
yy_def[yy_current_state];
-                               if ( yy_current_state >= 34 )
+                               if ( yy_current_state >= 35 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + 
(unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_current_state != 33 );
+               while ( yy_current_state != 34 );
                yy_cp = yyg->yy_last_accepting_cpos;
                yy_current_state = yyg->yy_last_accepting_state;
 
@@ -919,34 +919,43 @@ YY_RULE_SETUP
 YY_RULE_SETUP
 #line 67 "libxlu_cfg_l.l"
 {
+                          ctx->likely_python= 1;
                           BEGIN(lexerr);
                           yymore();
                         }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 72 "libxlu_cfg_l.l"
+#line 73 "libxlu_cfg_l.l"
+{
+                          BEGIN(lexerr);
+                          yymore();
+                        }
+       YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 78 "libxlu_cfg_l.l"
 {
                           xlu__cfgl_lexicalerror(ctx,"lexical error");
                           BEGIN(0);
                         }
        YY_BREAK
-case 14:
-/* rule 14 can match eol */
+case 15:
+/* rule 15 can match eol */
 YY_RULE_SETUP
-#line 77 "libxlu_cfg_l.l"
+#line 83 "libxlu_cfg_l.l"
 {
                           xlu__cfgl_lexicalerror(ctx,"lexical error");
                           BEGIN(0);
                           GOT(NEWLINE);
                         }
        YY_BREAK
-case 15:
+case 16:
 YY_RULE_SETUP
-#line 82 "libxlu_cfg_l.l"
+#line 88 "libxlu_cfg_l.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 948 "libxlu_cfg_l.c"
+#line 959 "libxlu_cfg_l.c"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(lexerr):
        yyterminate();
@@ -1242,7 +1251,7 @@ static int yy_get_next_buffer (yyscan_t 
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != 
yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 34 )
+                       if ( yy_current_state >= 35 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned 
int) yy_c];
@@ -1271,11 +1280,11 @@ static int yy_get_next_buffer (yyscan_t 
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 34 )
+               if ( yy_current_state >= 35 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) 
yy_c];
-       yy_is_jam = (yy_current_state == 33);
+       yy_is_jam = (yy_current_state == 34);
 
        return yy_is_jam ? 0 : yy_current_state;
 }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.