sconfig: Add SMBIOS type 9 entries

Add the new field 'smbios_slot_desc', which takes 2 to 4 arguments.
The field is valid for PCI devices and only compiled if SMBIOS table
generation is enabled.

smbios_slot_desc arguments:
1. slot type
2. slot lenth
3. slot designation (optional)
4. slot data width (optional)

Example:

    device pci 1c.1 on
        smbios_slot_desc "21" "3" "MINI-PCI-FULL" "8"
    end # PCIe Port #2 Integrated Wireless LAN

Tested on Lenovo T520.

Change-Id: If95aae3c322d3da47637613b9a872ba1f7af9080
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32307
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
This commit is contained in:
Patrick Rudolph
2019-04-12 14:42:17 +02:00
committed by Patrick Georgi
parent 1a93058448
commit ac24d3c311
8 changed files with 344 additions and 242 deletions

View File

@@ -168,7 +168,7 @@ extern FILE *yyin, *yyout;
do \
{ \
/* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
yy_size_t yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
*yy_cp = (yy_hold_char); \
YY_RESTORE_YY_MORE_OFFSET \
@@ -358,8 +358,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
#define YY_NUM_RULES 37
#define YY_END_OF_BUFFER 38
#define YY_NUM_RULES 38
#define YY_END_OF_BUFFER 39
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -367,24 +367,25 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[145] =
static yyconst flex_int16_t yy_accept[160] =
{ 0,
0, 0, 38, 36, 1, 3, 36, 36, 36, 31,
31, 29, 32, 36, 32, 32, 32, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36, 1, 3,
36, 0, 36, 36, 0, 2, 31, 32, 36, 36,
36, 36, 32, 36, 36, 36, 36, 36, 36, 36,
24, 36, 36, 36, 36, 7, 36, 36, 36, 36,
36, 36, 35, 35, 36, 0, 30, 36, 36, 16,
36, 36, 23, 28, 36, 36, 13, 36, 36, 22,
36, 36, 8, 10, 12, 36, 20, 36, 21, 36,
0, 33, 4, 36, 36, 36, 36, 36, 36, 36,
0, 0, 39, 37, 1, 3, 37, 37, 37, 32,
32, 30, 33, 37, 33, 33, 33, 37, 37, 37,
37, 37, 37, 37, 37, 37, 37, 37, 1, 3,
37, 0, 37, 37, 0, 2, 32, 33, 37, 37,
37, 37, 33, 37, 37, 37, 37, 37, 37, 37,
24, 37, 37, 37, 37, 7, 37, 37, 37, 37,
37, 37, 37, 36, 36, 37, 0, 31, 37, 37,
16, 37, 37, 23, 28, 37, 37, 13, 37, 37,
22, 37, 37, 8, 10, 12, 37, 37, 20, 37,
21, 37, 0, 34, 4, 37, 37, 37, 37, 37,
36, 19, 36, 36, 34, 34, 36, 36, 36, 36,
36, 36, 36, 14, 36, 36, 36, 5, 17, 36,
9, 36, 11, 36, 36, 36, 18, 26, 36, 36,
36, 36, 36, 6, 36, 36, 36, 36, 36, 25,
36, 15, 27, 0
37, 37, 37, 19, 37, 37, 37, 35, 35, 37,
37, 37, 37, 37, 37, 37, 14, 37, 37, 37,
37, 5, 17, 37, 9, 37, 11, 37, 37, 37,
37, 18, 26, 37, 37, 37, 37, 37, 37, 6,
37, 37, 37, 37, 37, 37, 37, 25, 37, 37,
15, 37, 27, 37, 37, 37, 37, 29, 0
} ;
static yyconst YY_CHAR yy_ec[256] =
@@ -427,110 +428,114 @@ static yyconst YY_CHAR yy_meta[39] =
1, 1, 1, 1, 1, 1, 1, 1
} ;
static yyconst flex_uint16_t yy_base[152] =
static yyconst flex_uint16_t yy_base[167] =
{ 0,
0, 0, 212, 0, 209, 213, 207, 37, 41, 38,
172, 0, 44, 194, 54, 78, 60, 186, 181, 45,
188, 177, 42, 47, 182, 41, 169, 0, 199, 213,
77, 195, 87, 91, 196, 213, 0, 88, 104, 183,
172, 161, 93, 168, 163, 173, 164, 171, 171, 165,
171, 156, 156, 160, 162, 0, 158, 152, 158, 155,
161, 160, 0, 213, 101, 172, 0, 165, 145, 158,
148, 155, 0, 0, 150, 150, 0, 148, 138, 0,
142, 137, 0, 0, 0, 140, 0, 131, 0, 158,
157, 0, 0, 142, 141, 134, 126, 136, 124, 130,
0, 0, 227, 0, 224, 228, 222, 37, 41, 38,
187, 0, 44, 209, 54, 78, 60, 201, 196, 45,
203, 192, 42, 47, 197, 62, 184, 0, 214, 228,
77, 210, 88, 69, 211, 228, 0, 87, 104, 198,
187, 176, 93, 183, 178, 188, 179, 186, 186, 180,
186, 171, 171, 175, 177, 0, 173, 167, 173, 177,
169, 175, 174, 0, 228, 101, 186, 0, 179, 159,
172, 162, 169, 0, 0, 164, 164, 0, 162, 152,
0, 156, 151, 0, 0, 0, 154, 153, 0, 144,
0, 171, 170, 0, 0, 155, 154, 147, 139, 149,
135, 0, 120, 114, 0, 213, 125, 129, 121, 123,
119, 121, 126, 0, 110, 110, 107, 0, 0, 109,
0, 93, 104, 98, 84, 84, 0, 0, 89, 77,
87, 71, 66, 0, 64, 62, 50, 47, 33, 0,
28, 0, 0, 213, 40, 129, 131, 133, 135, 137,
139
137, 143, 148, 0, 133, 136, 126, 0, 228, 137,
141, 133, 135, 131, 133, 138, 0, 122, 122, 121,
118, 0, 0, 133, 0, 117, 134, 128, 132, 113,
113, 0, 0, 120, 112, 110, 121, 94, 95, 0,
94, 92, 97, 86, 85, 84, 76, 0, 71, 78,
0, 67, 0, 61, 55, 32, 29, 0, 228, 40,
129, 131, 133, 135, 137, 139
} ;
static yyconst flex_int16_t yy_def[152] =
static yyconst flex_int16_t yy_def[167] =
{ 0,
144, 1, 144, 145, 144, 144, 145, 146, 147, 145,
10, 145, 10, 145, 10, 10, 10, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 144, 144,
146, 148, 149, 147, 150, 144, 10, 10, 10, 145,
145, 145, 10, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 144, 149, 151, 39, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
159, 1, 159, 160, 159, 159, 160, 161, 162, 160,
10, 160, 10, 160, 10, 10, 10, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 159, 159,
161, 163, 164, 162, 165, 159, 10, 10, 10, 160,
160, 160, 10, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 159, 164, 166, 39, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 159, 160, 160, 160, 160, 160, 160, 160,
145, 145, 145, 145, 145, 144, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 0, 144, 144, 144, 144, 144, 144,
144
160, 160, 160, 160, 160, 160, 160, 160, 159, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 0, 159,
159, 159, 159, 159, 159, 159
} ;
static yyconst flex_uint16_t yy_nxt[252] =
static yyconst flex_uint16_t yy_nxt[267] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 10, 12,
13, 13, 14, 4, 4, 4, 13, 13, 15, 16,
17, 13, 18, 19, 20, 21, 22, 4, 23, 24,
4, 25, 26, 4, 27, 4, 4, 4, 32, 32,
28, 33, 35, 36, 37, 37, 37, 143, 38, 38,
28, 33, 35, 36, 37, 37, 37, 158, 38, 38,
38, 38, 38, 49, 38, 38, 38, 38, 38, 38,
38, 38, 38, 55, 142, 57, 38, 38, 38, 56,
60, 141, 50, 51, 58, 61, 52, 41, 32, 32,
140, 63, 139, 42, 38, 38, 38, 46, 66, 66,
138, 28, 35, 36, 38, 38, 38, 137, 43, 38,
38, 38, 38, 55, 157, 57, 38, 38, 38, 56,
35, 36, 50, 51, 58, 156, 52, 41, 32, 32,
155, 64, 154, 42, 38, 38, 38, 46, 60, 67,
67, 61, 28, 38, 38, 38, 62, 153, 43, 38,
38, 38, 66, 66, 136, 90, 44, 135, 134, 45,
67, 67, 67, 133, 67, 67, 132, 131, 130, 129,
67, 67, 67, 67, 67, 67, 128, 127, 71, 31,
31, 34, 34, 32, 32, 65, 65, 35, 35, 66,
66, 126, 125, 124, 123, 122, 121, 120, 119, 118,
117, 116, 115, 114, 113, 112, 111, 110, 109, 108,
107, 106, 105, 104, 103, 102, 101, 100, 99, 98,
97, 96, 95, 94, 93, 92, 91, 89, 88, 87,
86, 85, 84, 83, 82, 81, 80, 79, 78, 77,
76, 75, 74, 73, 72, 70, 69, 68, 36, 64,
38, 38, 67, 67, 152, 92, 44, 151, 150, 45,
68, 68, 68, 149, 68, 68, 148, 147, 146, 145,
68, 68, 68, 68, 68, 68, 144, 143, 72, 31,
31, 34, 34, 32, 32, 66, 66, 35, 35, 67,
67, 142, 141, 140, 139, 138, 137, 136, 135, 134,
133, 132, 131, 130, 129, 128, 127, 126, 125, 124,
123, 122, 121, 120, 119, 118, 117, 116, 115, 114,
113, 112, 111, 110, 109, 108, 107, 106, 105, 104,
103, 102, 101, 100, 99, 98, 97, 96, 95, 94,
93, 91, 90, 89, 88, 87, 86, 85, 84, 83,
29, 62, 59, 54, 53, 48, 47, 40, 39, 30,
29, 144, 3, 144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
144
82, 81, 80, 79, 78, 77, 76, 75, 74, 73,
71, 70, 69, 36, 65, 29, 63, 59, 54, 53,
48, 47, 40, 39, 30, 29, 159, 3, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159
} ;
static yyconst flex_int16_t yy_chk[252] =
static yyconst flex_int16_t yy_chk[267] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 8, 8,
145, 8, 9, 9, 10, 10, 10, 141, 10, 10,
160, 8, 9, 9, 10, 10, 10, 157, 10, 10,
13, 13, 13, 20, 10, 10, 10, 10, 10, 10,
15, 15, 15, 23, 139, 24, 17, 17, 17, 23,
26, 138, 20, 20, 24, 26, 20, 15, 31, 31,
137, 31, 136, 15, 16, 16, 16, 17, 33, 33,
135, 33, 34, 34, 38, 38, 38, 133, 16, 43,
15, 15, 15, 23, 156, 24, 17, 17, 17, 23,
34, 34, 20, 20, 24, 155, 20, 15, 31, 31,
154, 31, 152, 15, 16, 16, 16, 17, 26, 33,
33, 26, 33, 38, 38, 38, 26, 150, 16, 43,
43, 43, 65, 65, 132, 65, 16, 131, 130, 16,
39, 39, 39, 129, 39, 39, 126, 125, 124, 123,
39, 39, 39, 39, 39, 39, 122, 120, 43, 146,
146, 147, 147, 148, 148, 149, 149, 150, 150, 151,
151, 117, 116, 115, 113, 112, 111, 110, 109, 108,
107, 104, 103, 101, 100, 99, 98, 97, 96, 95,
94, 91, 90, 88, 86, 82, 81, 79, 78, 76,
75, 72, 71, 70, 69, 68, 66, 62, 61, 60,
59, 58, 57, 55, 54, 53, 52, 51, 50, 49,
48, 47, 46, 45, 44, 42, 41, 40, 35, 32,
43, 43, 66, 66, 149, 66, 16, 147, 146, 16,
39, 39, 39, 145, 39, 39, 144, 143, 142, 141,
39, 39, 39, 39, 39, 39, 139, 138, 43, 161,
161, 162, 162, 163, 163, 164, 164, 165, 165, 166,
166, 137, 136, 135, 134, 131, 130, 129, 128, 127,
126, 124, 121, 120, 119, 118, 116, 115, 114, 113,
112, 111, 110, 107, 106, 105, 103, 102, 101, 100,
99, 98, 97, 96, 93, 92, 90, 88, 87, 83,
82, 80, 79, 77, 76, 73, 72, 71, 70, 69,
67, 63, 62, 61, 60, 59, 58, 57, 55, 54,
29, 27, 25, 22, 21, 19, 18, 14, 11, 7,
5, 3, 144, 144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
144
53, 52, 51, 50, 49, 48, 47, 46, 45, 44,
42, 41, 40, 35, 32, 29, 27, 25, 22, 21,
19, 18, 14, 11, 7, 5, 3, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159
} ;
static yy_state_type yy_last_accepting_state;
@@ -674,7 +679,7 @@ static int input (void );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
size_t n; \
int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -687,7 +692,7 @@ static int input (void );
else \
{ \
errno=0; \
while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
@@ -809,13 +814,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 >= 145 )
if ( yy_current_state >= 160 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 213 );
while ( yy_base[yy_current_state] != 228 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -955,11 +960,11 @@ YY_RULE_SETUP
YY_BREAK
case 29:
YY_RULE_SETUP
{return(EQUALS);}
{return(SLOT_DESC);}
YY_BREAK
case 30:
YY_RULE_SETUP
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
{return(EQUALS);}
YY_BREAK
case 31:
YY_RULE_SETUP
@@ -971,12 +976,11 @@ YY_RULE_SETUP
YY_BREAK
case 33:
YY_RULE_SETUP
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);}
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
YY_BREAK
case 34:
/* rule 34 can match eol */
YY_RULE_SETUP
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);}
YY_BREAK
case 35:
/* rule 35 can match eol */
@@ -984,10 +988,15 @@ YY_RULE_SETUP
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
YY_BREAK
case 36:
/* rule 36 can match eol */
YY_RULE_SETUP
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
YY_BREAK
case 37:
YY_RULE_SETUP
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);}
YY_BREAK
case 37:
case 38:
YY_RULE_SETUP
ECHO;
YY_BREAK
@@ -1135,7 +1144,7 @@ static int yy_get_next_buffer (void)
{
char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
char *source = (yytext_ptr);
int number_to_move, i;
yy_size_t number_to_move, i;
int ret_val;
if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
@@ -1164,7 +1173,7 @@ static int yy_get_next_buffer (void)
/* Try to read more data. */
/* First move last chars to start of buffer. */
number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
@@ -1200,7 +1209,7 @@ static int yy_get_next_buffer (void)
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
yyrealloc((void *) b->yy_ch_buf,(yy_size_t) (b->yy_buf_size + 2) );
}
else
/* Can't grow it, we don't own it. */
@@ -1246,10 +1255,10 @@ static int yy_get_next_buffer (void)
else
ret_val = EOB_ACT_CONTINUE_SCAN;
if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,(yy_size_t) new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
}
@@ -1283,7 +1292,7 @@ static int yy_get_next_buffer (void)
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 >= 145 )
if ( yy_current_state >= 160 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
@@ -1311,11 +1320,11 @@ static int yy_get_next_buffer (void)
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 >= 145 )
if ( yy_current_state >= 160 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
yy_is_jam = (yy_current_state == 144);
yy_is_jam = (yy_current_state == 159);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -1510,12 +1519,12 @@ static void yy_load_buffer_state (void)
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_buf_size = (yy_size_t)size;
b->yy_buf_size = size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
b->yy_ch_buf = (char *) yyalloc((yy_size_t) (b->yy_buf_size + 2) );
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
@@ -1718,7 +1727,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
b->yy_input_file = NULL;
@@ -1801,7 +1810,7 @@ static void yynoreturn yy_fatal_error (yyconst char* msg )
do \
{ \
/* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
yy_size_t yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
yytext[yyleng] = (yy_hold_char); \
(yy_c_buf_p) = yytext + yyless_macro_arg; \