WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] libxl: config parser: Rebuild config file parser sca

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] libxl: config parser: Rebuild config file parser scanner
From: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Date: Wed, 12 Jan 2011 14:22:21 +0000
Delivery-date: Wed, 12 Jan 2011 06:23:11 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
# 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>

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-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] libxl: config parser: Rebuild config file parser scanner, Ian Jackson <=