Show
Ignore:
Timestamp:
02/15/09 18:24:31 (5 years ago)
Author:
khali
Message:

Keep track of configuration file names so that we can later generate
better error reports.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/lib/conf-lex.l

    r5637 r5648  
    3535char sensors_lex_error[100]; 
    3636 
     37const char *sensors_yyfilename; 
    3738int sensors_yylineno; 
    3839 
     
    111112 
    112113label{BLANK}*   { 
    113                   sensors_yylval.line = sensors_yylineno; 
     114                  sensors_yylval.line.filename = sensors_yyfilename; 
     115                  sensors_yylval.line.lineno = sensors_yylineno; 
    114116                  BEGIN(MIDDLE); 
    115117                  return LABEL; 
     
    117119 
    118120set{BLANK}*     { 
    119                   sensors_yylval.line = sensors_yylineno; 
     121                  sensors_yylval.line.filename = sensors_yyfilename; 
     122                  sensors_yylval.line.lineno = sensors_yylineno; 
    120123                  BEGIN(MIDDLE); 
    121124                  return SET; 
     
    123126 
    124127compute{BLANK}* { 
    125                   sensors_yylval.line = sensors_yylineno; 
     128                  sensors_yylval.line.filename = sensors_yyfilename; 
     129                  sensors_yylval.line.lineno = sensors_yylineno; 
    126130                  BEGIN(MIDDLE); 
    127131                  return COMPUTE; 
     
    129133 
    130134bus{BLANK}*     { 
    131                   sensors_yylval.line = sensors_yylineno; 
     135                  sensors_yylval.line.filename = sensors_yyfilename; 
     136                  sensors_yylval.line.lineno = sensors_yylineno; 
    132137                  BEGIN(MIDDLE); 
    133138                  return BUS; 
     
    135140 
    136141chip{BLANK}*    { 
    137                   sensors_yylval.line = sensors_yylineno; 
     142                  sensors_yylval.line.filename = sensors_yyfilename; 
     143                  sensors_yylval.line.lineno = sensors_yylineno; 
    138144                  BEGIN(MIDDLE); 
    139145                  return CHIP; 
     
    141147 
    142148ignore{BLANK}*  { 
    143                   sensors_yylval.line = sensors_yylineno; 
     149                  sensors_yylval.line.filename = sensors_yyfilename; 
     150                  sensors_yylval.line.lineno = sensors_yylineno; 
    144151                  BEGIN(MIDDLE); 
    145152                  return IGNORE; 
     
    336343static YY_BUFFER_STATE scan_buf = (YY_BUFFER_STATE)0; 
    337344 
    338 int sensors_scanner_init(FILE *input) 
     345int sensors_scanner_init(FILE *input, const char *filename) 
    339346{ 
    340347        BEGIN(0); 
     
    343350 
    344351        sensors_yy_switch_to_buffer(scan_buf); 
     352        sensors_yyfilename = filename; 
    345353        sensors_yylineno = 1; 
    346354        return 0;