diff options
Diffstat (limited to 'src/preproc.c')
-rw-r--r-- | src/preproc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/preproc.c b/src/preproc.c index cff8224..cd83e2f 100644 --- a/src/preproc.c +++ b/src/preproc.c | |||
@@ -416,7 +416,8 @@ push_source(const char *name, int once) | |||
416 | 416 | ||
417 | fp = fopen(name, "r"); | 417 | fp = fopen(name, "r"); |
418 | if (!fp) { | 418 | if (!fp) { |
419 | grecs_error(&LOCUS, errno, _("Cannot open `%s'"), name); | 419 | grecs_error(context_stack ? &LOCUS : NULL, errno, |
420 | _("Cannot open `%s'"), name); | ||
420 | return 1; | 421 | return 1; |
421 | } | 422 | } |
422 | 423 | ||
@@ -457,15 +458,15 @@ pop_source() | |||
457 | 458 | ||
458 | if (!context_stack) { | 459 | if (!context_stack) { |
459 | if (grecs_yy_flex_debug) | 460 | if (grecs_yy_flex_debug) |
460 | fprintf (stderr, "End of input\n"); | 461 | fprintf(stderr, "End of input\n"); |
461 | return 1; | 462 | return 1; |
462 | } | 463 | } |
463 | 464 | ||
464 | LOCUS.line++; | 465 | LOCUS.line++; |
465 | 466 | ||
466 | if (grecs_yy_flex_debug) | 467 | if (grecs_yy_flex_debug) |
467 | fprintf (stderr, "Resuming file `%s' at line %lu\n", | 468 | fprintf(stderr, "Resuming file `%s' at line %lu\n", |
468 | LOCUS.file, (unsigned long) LOCUS.line); | 469 | LOCUS.file, (unsigned long) LOCUS.line); |
469 | 470 | ||
470 | pp_line_stmt(); | 471 | pp_line_stmt(); |
471 | 472 | ||