From: Ian Jackson Date: Mon, 23 Jan 2017 13:46:46 +0000 (+0000) Subject: Use `%option nounput' rather than #define YY_NO_UNPUT. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv.git;a=commitdiff_plain;h=47bb19ee5401d7194b016202d87413c05d50f021 Use `%option nounput' rather than #define YY_NO_UNPUT. Patch from Peter Benie, but modified. --- diff --git a/debian/changelog b/debian/changelog index a0d0b4d..221749e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,8 +5,10 @@ userv (1.1.2~~iwj1) unstable; urgency=low by the spec. Closes:#813005. * Do not ignore errors from readdir. Closes:#827408 [Peter Benie]. - Upstream Makefiles: + Upstream Makefiles etc.: * Honour XCFLAGS. + * Use `%option nounput' rather than #define YY_NO_UNPUT. + Patch from Peter Benie, but modified. Debian packaging: * Honour dpkg-buildflags. diff --git a/lexer.c b/lexer.c index 39fb319..5ab56ed 100644 --- a/lexer.c +++ b/lexer.c @@ -960,9 +960,7 @@ static struct error_handling eh = { tokv_word_errorstostderr, 0,0,0,0,0 }; static int dequote(char *inplace); static void countnewlines(void); -#define YY_NO_UNPUT - -#line 966 "" +#line 964 "" #define INITIAL 0 @@ -1023,8 +1021,6 @@ extern int yywrap (void ); #ifndef YY_NO_UNPUT - static void yyunput (int c,char *buf_ptr ); - #endif #ifndef yytext_ptr @@ -1180,10 +1176,10 @@ YY_DECL } { -#line 144 "lexer.l" +#line 143 "lexer.l" -#line 1187 "" +#line 1183 "" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1242,487 +1238,487 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 146 "lexer.l" +#line 145 "lexer.l" { lr_dir= df_reject; return tokv_word_reject; } YY_BREAK case 2: YY_RULE_SETUP -#line 147 "lexer.l" +#line 146 "lexer.l" { lr_dir= df_executefromdirectory; return tokv_word_executefromdirectory; } YY_BREAK case 3: YY_RULE_SETUP -#line 148 "lexer.l" +#line 147 "lexer.l" { lr_dir= df_executefrompath; return tokv_word_executefrompath; } YY_BREAK case 4: YY_RULE_SETUP -#line 149 "lexer.l" +#line 148 "lexer.l" { lr_dir= df_executebuiltin; return tokv_word_executebuiltin; } YY_BREAK case 5: YY_RULE_SETUP -#line 150 "lexer.l" +#line 149 "lexer.l" { lr_dir= df_errorstostderr; return tokv_word_errorstostderr; } YY_BREAK case 6: YY_RULE_SETUP -#line 151 "lexer.l" +#line 150 "lexer.l" { lr_dir= df_errorstosyslog; return tokv_word_errorstosyslog; } YY_BREAK case 7: YY_RULE_SETUP -#line 152 "lexer.l" +#line 151 "lexer.l" { lr_dir= df_errorstofile; return tokv_word_errorstofile; } YY_BREAK case 8: YY_RULE_SETUP -#line 153 "lexer.l" +#line 152 "lexer.l" { lr_dir= dfg_fdwant; lr_fdwant_readwrite=1; return tokv_word_requirefd; } YY_BREAK case 9: YY_RULE_SETUP -#line 154 "lexer.l" +#line 153 "lexer.l" { lr_dir= dfg_fdwant; lr_fdwant_readwrite=0; return tokv_word_allowfd; } YY_BREAK case 10: YY_RULE_SETUP -#line 155 "lexer.l" +#line 154 "lexer.l" { lr_dir= dfg_fdwant; lr_fdwant_readwrite=0; return tokv_word_nullfd; } YY_BREAK case 11: YY_RULE_SETUP -#line 156 "lexer.l" +#line 155 "lexer.l" { lr_dir= dfg_fdwant; lr_fdwant_readwrite=-1; return tokv_word_rejectfd; } YY_BREAK case 12: YY_RULE_SETUP -#line 157 "lexer.l" +#line 156 "lexer.l" { lr_dir= dfg_fdwant; lr_fdwant_readwrite=-1; return tokv_word_ignorefd; } YY_BREAK case 13: YY_RULE_SETUP -#line 158 "lexer.l" +#line 157 "lexer.l" { lr_dir= dfg_setflag; lr_flag= &setenvironment; lr_flagval= 1; return tokv_word_setenvironment; } YY_BREAK case 14: YY_RULE_SETUP -#line 159 "lexer.l" +#line 158 "lexer.l" { lr_dir= dfg_setflag; lr_flag= &setenvironment; lr_flagval= 0; return tokv_word_nosetenvironment; } YY_BREAK case 15: YY_RULE_SETUP -#line 160 "lexer.l" +#line 159 "lexer.l" { lr_dir= dfg_setflag; lr_flag= &suppressargs; lr_flagval= 1; return tokv_word_suppressargs; } YY_BREAK case 16: YY_RULE_SETUP -#line 161 "lexer.l" +#line 160 "lexer.l" { lr_dir= dfg_setflag; lr_flag= &suppressargs; lr_flagval= 0; return tokv_word_nosuppressargs; } YY_BREAK case 17: YY_RULE_SETUP -#line 162 "lexer.l" +#line 161 "lexer.l" { lr_dir= dfg_setflag; lr_flag= &disconnecthup; lr_flagval= 1; return tokv_word_disconnecthup; } YY_BREAK case 18: YY_RULE_SETUP -#line 163 "lexer.l" +#line 162 "lexer.l" { lr_dir= dfg_setflag; lr_flag= &disconnecthup; lr_flagval= 0; return tokv_word_nodisconnecthup; } YY_BREAK case 19: YY_RULE_SETUP -#line 164 "lexer.l" +#line 163 "lexer.l" { lr_dir= df_cd; return tokv_word_cd; } YY_BREAK case 20: YY_RULE_SETUP -#line 165 "lexer.l" +#line 164 "lexer.l" { lr_dir= df_userrcfile; return tokv_word_userrcfile; } YY_BREAK case 21: YY_RULE_SETUP -#line 166 "lexer.l" +#line 165 "lexer.l" { lr_dir= df_include; return tokv_word_include; } YY_BREAK case 22: YY_RULE_SETUP -#line 167 "lexer.l" +#line 166 "lexer.l" { lr_dir= df_include; return tokv_word_includeifexist; } YY_BREAK case 23: YY_RULE_SETUP -#line 168 "lexer.l" +#line 167 "lexer.l" { lr_dir= df_includelookup; return tokv_word_includelookup; } YY_BREAK case 24: YY_RULE_SETUP -#line 169 "lexer.l" +#line 168 "lexer.l" { lr_dir= df_includelookup; return tokv_word_includelookupall; } YY_BREAK case 25: YY_RULE_SETUP -#line 170 "lexer.l" +#line 169 "lexer.l" { lr_dir= df_includedirectory; return tokv_word_includedirectory; } YY_BREAK case 26: YY_RULE_SETUP -#line 171 "lexer.l" +#line 170 "lexer.l" { lr_dir= df_message; return tokv_word_message; } YY_BREAK case 27: YY_RULE_SETUP -#line 172 "lexer.l" +#line 171 "lexer.l" { lr_dir= df_include; return tokv_word_includesysconfig; } YY_BREAK case 28: YY_RULE_SETUP -#line 173 "lexer.l" +#line 172 "lexer.l" { lr_dir= dfi_includeuserrcfile; return tokv_word_includeuserrcfile; } YY_BREAK case 29: YY_RULE_SETUP -#line 174 "lexer.l" +#line 173 "lexer.l" { lr_dir= dfi_includeclientconfig; return tokv_word_includeclientconfig; } YY_BREAK case 30: YY_RULE_SETUP -#line 175 "lexer.l" +#line 174 "lexer.l" { lr_dir= df_quit; return tokv_word_quit; } YY_BREAK case 31: YY_RULE_SETUP -#line 176 "lexer.l" +#line 175 "lexer.l" { lr_dir= df_eof; return tokv_word_eof; } YY_BREAK case 32: YY_RULE_SETUP -#line 177 "lexer.l" +#line 176 "lexer.l" { lr_dir= df_if; return tokv_word_if; } YY_BREAK case 33: YY_RULE_SETUP -#line 178 "lexer.l" +#line 177 "lexer.l" { lr_dir= df_catchquit; return tokv_word_catchquit; } YY_BREAK case 34: YY_RULE_SETUP -#line 179 "lexer.l" +#line 178 "lexer.l" { lr_dir= df_errorspush; return tokv_word_errorspush; } YY_BREAK case 35: YY_RULE_SETUP -#line 180 "lexer.l" +#line 179 "lexer.l" { lr_controlend= tokv_word_if; return tokv_word_elif; } YY_BREAK case 36: YY_RULE_SETUP -#line 181 "lexer.l" +#line 180 "lexer.l" { lr_controlend= tokv_word_if; return tokv_word_else; } YY_BREAK case 37: YY_RULE_SETUP -#line 182 "lexer.l" +#line 181 "lexer.l" { lr_controlend= tokv_word_if; return tokv_word_fi; } YY_BREAK case 38: YY_RULE_SETUP -#line 183 "lexer.l" +#line 182 "lexer.l" { lr_controlend= tokv_word_catchquit; return tokv_word_hctac; } YY_BREAK case 39: YY_RULE_SETUP -#line 184 "lexer.l" +#line 183 "lexer.l" { lr_controlend= tokv_word_errorspush; return tokv_word_srorre; } YY_BREAK case 40: YY_RULE_SETUP -#line 185 "lexer.l" +#line 184 "lexer.l" { lr_parmcond= pcf_glob; return tokv_word_glob; } YY_BREAK case 41: YY_RULE_SETUP -#line 186 "lexer.l" +#line 185 "lexer.l" { lr_parmcond= pcf_range; return tokv_word_range; } YY_BREAK case 42: YY_RULE_SETUP -#line 187 "lexer.l" +#line 186 "lexer.l" { lr_parmcond= pcf_grep; return tokv_word_grep; } YY_BREAK case 43: YY_RULE_SETUP -#line 188 "lexer.l" +#line 187 "lexer.l" { lr_bispa= bispa_none; lr_bisexec= bisexec_environment; return tokv_word_environment; } YY_BREAK case 44: YY_RULE_SETUP -#line 189 "lexer.l" +#line 188 "lexer.l" { lr_bispa= bispa_parameter; lr_bisexec= bisexec_parameter; return tokv_word_parameter; } YY_BREAK case 45: YY_RULE_SETUP -#line 190 "lexer.l" +#line 189 "lexer.l" { lr_bispa= bispa_none; lr_bisexec= bisexec_version; return tokv_word_version; } YY_BREAK case 46: YY_RULE_SETUP -#line 191 "lexer.l" +#line 190 "lexer.l" { lr_bispa= bispa_none; lr_bisexec= bisexec_toplevel; return tokv_word_toplevel; } YY_BREAK case 47: YY_RULE_SETUP -#line 192 "lexer.l" +#line 191 "lexer.l" { lr_bispa= bispa_none; lr_bisexec= bisexec_override; return tokv_word_override; } YY_BREAK case 48: YY_RULE_SETUP -#line 193 "lexer.l" +#line 192 "lexer.l" { lr_bispa= bispa_none; lr_bisexec= bisexec_shutdown; return tokv_word_shutdown; } YY_BREAK case 49: YY_RULE_SETUP -#line 194 "lexer.l" +#line 193 "lexer.l" { lr_bispa= bispa_none; lr_bisexec= bisexec_reset; lr_dir= df_reset; return tokv_word_reset; } YY_BREAK case 50: YY_RULE_SETUP -#line 195 "lexer.l" +#line 194 "lexer.l" { lr_bispa= bispa_none; lr_bisexec= bisexec_execute; lr_dir= df_execute; return tokv_word_execute; } YY_BREAK case 51: YY_RULE_SETUP -#line 196 "lexer.l" +#line 195 "lexer.l" { lr_bispa= bispa_none; lr_bisexec= bisexec_help; return tokv_word_help; } YY_BREAK case 52: YY_RULE_SETUP -#line 197 "lexer.l" +#line 196 "lexer.l" { lr_parameter= pf_service; return tokv_word_service; } YY_BREAK case 53: YY_RULE_SETUP -#line 198 "lexer.l" +#line 197 "lexer.l" { lr_parameter= pf_callinguser; return tokv_word_callinguser; } YY_BREAK case 54: YY_RULE_SETUP -#line 199 "lexer.l" +#line 198 "lexer.l" { lr_parameter= pf_callinggroup; return tokv_word_callinggroup; } YY_BREAK case 55: YY_RULE_SETUP -#line 200 "lexer.l" +#line 199 "lexer.l" { lr_parameter= pf_callingusershell; return tokv_word_callingusershell; } YY_BREAK case 56: YY_RULE_SETUP -#line 201 "lexer.l" +#line 200 "lexer.l" { lr_parameter= pf_serviceuser; return tokv_word_serviceuser; } YY_BREAK case 57: YY_RULE_SETUP -#line 202 "lexer.l" +#line 201 "lexer.l" { lr_parameter= pf_servicegroup; return tokv_word_servicegroup; } YY_BREAK case 58: YY_RULE_SETUP -#line 203 "lexer.l" +#line 202 "lexer.l" { lr_parameter= pf_serviceusershell; return tokv_word_serviceusershell; } YY_BREAK case 59: YY_RULE_SETUP -#line 204 "lexer.l" +#line 203 "lexer.l" { lr_loglevel= LOG_DEBUG; return tokv_syslog_debug; } YY_BREAK case 60: YY_RULE_SETUP -#line 205 "lexer.l" +#line 204 "lexer.l" { lr_loglevel= LOG_INFO; return tokv_syslog_info; } YY_BREAK case 61: YY_RULE_SETUP -#line 206 "lexer.l" +#line 205 "lexer.l" { lr_loglevel= LOG_NOTICE; return tokv_syslog_notice; } YY_BREAK case 62: YY_RULE_SETUP -#line 207 "lexer.l" +#line 206 "lexer.l" { lr_loglevel= LOG_WARNING; return tokv_syslog_warning; } YY_BREAK case 63: YY_RULE_SETUP -#line 208 "lexer.l" +#line 207 "lexer.l" { lr_loglevel= LOG_ERR; return tokv_syslog_err; } YY_BREAK case 64: YY_RULE_SETUP -#line 209 "lexer.l" +#line 208 "lexer.l" { lr_loglevel= LOG_CRIT; return tokv_syslog_crit; } YY_BREAK case 65: YY_RULE_SETUP -#line 210 "lexer.l" +#line 209 "lexer.l" { lr_loglevel= LOG_ALERT; return tokv_syslog_alert; } YY_BREAK case 66: YY_RULE_SETUP -#line 211 "lexer.l" +#line 210 "lexer.l" { lr_loglevel= LOG_EMERG; return tokv_syslog_emerg; } YY_BREAK case 67: YY_RULE_SETUP -#line 212 "lexer.l" +#line 211 "lexer.l" { lr_logfacility= LOG_AUTHPRIV; return tokv_syslog_authpriv; } YY_BREAK case 68: YY_RULE_SETUP -#line 213 "lexer.l" +#line 212 "lexer.l" { lr_logfacility= LOG_CRON; return tokv_syslog_cron; } YY_BREAK case 69: YY_RULE_SETUP -#line 214 "lexer.l" +#line 213 "lexer.l" { lr_logfacility= LOG_DAEMON; return tokv_syslog_daemon; } YY_BREAK case 70: YY_RULE_SETUP -#line 215 "lexer.l" +#line 214 "lexer.l" { lr_logfacility= LOG_KERN; return tokv_syslog_kern; } YY_BREAK case 71: YY_RULE_SETUP -#line 216 "lexer.l" +#line 215 "lexer.l" { lr_logfacility= LOG_LPR; return tokv_syslog_lpr; } YY_BREAK case 72: YY_RULE_SETUP -#line 217 "lexer.l" +#line 216 "lexer.l" { lr_logfacility= LOG_MAIL; return tokv_syslog_mail; } YY_BREAK case 73: YY_RULE_SETUP -#line 218 "lexer.l" +#line 217 "lexer.l" { lr_logfacility= LOG_NEWS; return tokv_syslog_news; } YY_BREAK case 74: YY_RULE_SETUP -#line 219 "lexer.l" +#line 218 "lexer.l" { lr_logfacility= LOG_SYSLOG; return tokv_syslog_syslog; } YY_BREAK case 75: YY_RULE_SETUP -#line 220 "lexer.l" +#line 219 "lexer.l" { lr_logfacility= LOG_USER; return tokv_syslog_user; } YY_BREAK case 76: YY_RULE_SETUP -#line 221 "lexer.l" +#line 220 "lexer.l" { lr_logfacility= LOG_UUCP; return tokv_syslog_uucp; } YY_BREAK case 77: YY_RULE_SETUP -#line 222 "lexer.l" +#line 221 "lexer.l" { lr_logfacility= LOG_LOCAL0; return tokv_syslog_local0; } YY_BREAK case 78: YY_RULE_SETUP -#line 223 "lexer.l" +#line 222 "lexer.l" { lr_logfacility= LOG_LOCAL1; return tokv_syslog_local1; } YY_BREAK case 79: YY_RULE_SETUP -#line 224 "lexer.l" +#line 223 "lexer.l" { lr_logfacility= LOG_LOCAL2; return tokv_syslog_local2; } YY_BREAK case 80: YY_RULE_SETUP -#line 225 "lexer.l" +#line 224 "lexer.l" { lr_logfacility= LOG_LOCAL3; return tokv_syslog_local3; } YY_BREAK case 81: YY_RULE_SETUP -#line 226 "lexer.l" +#line 225 "lexer.l" { lr_logfacility= LOG_LOCAL4; return tokv_syslog_local4; } YY_BREAK case 82: YY_RULE_SETUP -#line 227 "lexer.l" +#line 226 "lexer.l" { lr_logfacility= LOG_LOCAL5; return tokv_syslog_local5; } YY_BREAK case 83: YY_RULE_SETUP -#line 228 "lexer.l" +#line 227 "lexer.l" { lr_logfacility= LOG_LOCAL6; return tokv_syslog_local6; } YY_BREAK case 84: YY_RULE_SETUP -#line 229 "lexer.l" +#line 228 "lexer.l" { lr_logfacility= LOG_LOCAL7; return tokv_syslog_local7; } YY_BREAK case 85: YY_RULE_SETUP -#line 230 "lexer.l" +#line 229 "lexer.l" { return tokv_word_read; } YY_BREAK case 86: YY_RULE_SETUP -#line 231 "lexer.l" +#line 230 "lexer.l" { return tokv_word_write; } YY_BREAK case 87: YY_RULE_SETUP -#line 232 "lexer.l" +#line 231 "lexer.l" { return tokv_dollar; } YY_BREAK case 88: YY_RULE_SETUP -#line 233 "lexer.l" +#line 232 "lexer.l" { lr_max= lr_min= 0; return tokv_word_stdin; } YY_BREAK case 89: YY_RULE_SETUP -#line 234 "lexer.l" +#line 233 "lexer.l" { lr_max= lr_min= 1; return tokv_word_stdout; } YY_BREAK case 90: YY_RULE_SETUP -#line 235 "lexer.l" +#line 234 "lexer.l" { lr_max= lr_min= 2; return tokv_word_stderr; } YY_BREAK case 91: YY_RULE_SETUP -#line 236 "lexer.l" +#line 235 "lexer.l" { return tokv_openparen; } YY_BREAK case 92: YY_RULE_SETUP -#line 237 "lexer.l" +#line 236 "lexer.l" { return tokv_closeparen; } YY_BREAK case 93: YY_RULE_SETUP -#line 238 "lexer.l" +#line 237 "lexer.l" { return tokv_not; } YY_BREAK case 94: YY_RULE_SETUP -#line 239 "lexer.l" +#line 238 "lexer.l" { return tokv_and; } YY_BREAK case 95: YY_RULE_SETUP -#line 240 "lexer.l" +#line 239 "lexer.l" { return tokv_or; } YY_BREAK case 96: YY_RULE_SETUP -#line 241 "lexer.l" +#line 240 "lexer.l" { lr_dir= df_error; lr_loglevel= LOG_ERR; return tokv_word_error; } YY_BREAK case 97: YY_RULE_SETUP -#line 245 "lexer.l" +#line 244 "lexer.l" { char *ep; lr_min=lr_max= (int)strtoul(yytext,&ep,10); @@ -1732,7 +1728,7 @@ YY_RULE_SETUP YY_BREAK case 98: YY_RULE_SETUP -#line 251 "lexer.l" +#line 250 "lexer.l" { char *ep; lr_min= (int)strtoul(yytext,&ep,10); @@ -1747,7 +1743,7 @@ YY_RULE_SETUP YY_BREAK case 99: YY_RULE_SETUP -#line 262 "lexer.l" +#line 261 "lexer.l" { char *ep; lr_min= (int)strtoul(yytext,&ep,10); @@ -1760,35 +1756,35 @@ YY_RULE_SETUP case 100: /* rule 100 can match eol */ YY_RULE_SETUP -#line 270 "lexer.l" +#line 269 "lexer.l" countnewlines(); return tokv_lwsp; YY_BREAK case 101: YY_RULE_SETUP -#line 271 "lexer.l" +#line 270 "lexer.l" return tokv_lwsp; YY_BREAK case 102: /* rule 102 can match eol */ YY_RULE_SETUP -#line 272 "lexer.l" +#line 271 "lexer.l" cstate->lineno++; return tokv_newline; YY_BREAK case 103: /* rule 103 can match eol */ YY_RULE_SETUP -#line 273 "lexer.l" +#line 272 "lexer.l" cstate->lineno++; return tokv_newline; YY_BREAK case 104: YY_RULE_SETUP -#line 274 "lexer.l" +#line 273 "lexer.l" return parseerrprint("missing newline at eof after comment"); YY_BREAK case 105: /* rule 105 can match eol */ YY_RULE_SETUP -#line 275 "lexer.l" +#line 274 "lexer.l" { countnewlines(); return dequote(yytext); @@ -1796,34 +1792,34 @@ YY_RULE_SETUP YY_BREAK case 106: YY_RULE_SETUP -#line 279 "lexer.l" +#line 278 "lexer.l" return tokv_barestring; YY_BREAK case YY_STATE_EOF(INITIAL): -#line 280 "lexer.l" +#line 279 "lexer.l" return tokv_eof; YY_BREAK case 107: YY_RULE_SETUP -#line 281 "lexer.l" +#line 280 "lexer.l" return parseerrprint("misquoted or unterminated string"); YY_BREAK case 108: YY_RULE_SETUP -#line 282 "lexer.l" +#line 281 "lexer.l" return parseerrprint("unexpected backslash"); YY_BREAK case 109: YY_RULE_SETUP -#line 283 "lexer.l" +#line 282 "lexer.l" abort(); /* expect lex warning "rule cannot be matched" */ YY_BREAK case 110: YY_RULE_SETUP -#line 286 "lexer.l" +#line 285 "lexer.l" ECHO; YY_BREAK -#line 1827 "" +#line 1823 "" case YY_END_OF_BUFFER: { @@ -2153,43 +2149,6 @@ static int yy_get_next_buffer (void) #ifndef YY_NO_UNPUT - static void yyunput (int c, char * yy_bp ) -{ - char *yy_cp; - - yy_cp = (yy_c_buf_p); - - /* undo effects of setting up yytext */ - *yy_cp = (yy_hold_char); - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - int number_to_move = (yy_n_chars) + 2; - char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ - YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - char *source = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; - - while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size; - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - - (yytext_ptr) = yy_bp; - (yy_hold_char) = *yy_cp; - (yy_c_buf_p) = yy_cp; -} - #endif #ifndef YY_NO_INPUT @@ -2822,7 +2781,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 286 "lexer.l" +#line 285 "lexer.l" diff --git a/lexer.l b/lexer.l index d75ed27..c3b45b7 100644 --- a/lexer.l +++ b/lexer.l @@ -135,11 +135,10 @@ static struct error_handling eh = { tokv_word_errorstostderr, 0,0,0,0,0 }; static int dequote(char *inplace); static void countnewlines(void); -#define YY_NO_UNPUT - %} %option noyywrap +%option nounput %% diff --git a/lexer.l.m4 b/lexer.l.m4 index 7b42a1d..575c2f1 100644 --- a/lexer.l.m4 +++ b/lexer.l.m4 @@ -134,11 +134,10 @@ static struct error_handling eh = { tokv_word_errorstostderr, 0,0,0,0,0 }; static int dequote(char *inplace); static void countnewlines(void); -#define YY_NO_UNPUT - %} %option noyywrap +%option nounput %%