if (exit_status){
fflush(stdout);
fclose(stdout);
- wait(0);
+ while (wait(0) > 0){
+ }
return exit_status - 1;
}
char *pname = 0;
int nbytes = 0;
- action_define ("YY_TABLES_EXTERNAL", 1);
+ buf_m4_define (&m4defs_buf, "M4_YY_TABLES_EXTERNAL", NULL);
if (!tablesfilename) {
nbytes = strlen (prefix) +
yylex_init(&yyscanner);
]])
-#ifdef YY_TABLES_EXTERNAL
+m4_ifdef( [[M4_YY_TABLES_EXTERNAL]],
+[[
if((fp = fopen(argv[1],"r"))== NULL)
yy_fatal_error("could not open tables file for reading" M4_YY_CALL_LAST_ARG);
yy_fatal_error("yytables_fload returned < 0" M4_YY_CALL_LAST_ARG);
if(M4_YY_TABLES_VERIFY)
exit(0);
-#endif
+]])
if(argc > 2){
if((fp = fopen(argv[2],"r"))== NULL)
while(yylex(M4_YY_CALL_ONLY_ARG) != 0)
;
-#ifdef YY_TABLES_EXTERNAL
+m4_ifdef( [[YY_TABLES_EXTERNAL]],
+[[
yytables_destroy(M4_YY_CALL_ONLY_ARG);
-#endif
+]])
yylex_destroy(M4_YY_CALL_ONLY_ARG);
if(argc < 0) /* silence the compiler */