diff options
author | Roland McGrath <roland@redhat.com> | 1992-09-16 20:15:19 +0000 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 1992-09-16 20:15:19 +0000 |
commit | 1f534482dedf9151ca7ff708f35a2fce8c9853c2 (patch) | |
tree | d1d32c449d5a4f48b36cffa7eaa8934a119d7e79 /read.c | |
parent | 144b6ecba5bf881e18830e5543f4199b82f0c30c (diff) | |
download | make-1f534482dedf9151ca7ff708f35a2fce8c9853c2.tar.gz |
Formerly read.c.~37~
Diffstat (limited to 'read.c')
-rw-r--r-- | read.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -234,6 +234,8 @@ read_makefile (filename, type) int two_colon; char *pattern = 0, *pattern_percent; + int makefile_errno; + #define record_waiting_files() \ do \ { \ @@ -252,6 +254,8 @@ read_makefile (filename, type) /* First, get a stream to read. */ infile = fopen (filename, "r"); + /* Save the error code so we print the right message later. */ + makefile_errno = errno; /* If the makefile wasn't found and it's either a makefile from the `MAKEFILES' variable (type 1) or an included makefile (type 2), @@ -297,7 +301,12 @@ read_makefile (filename, type) if (infile == 0) { if (type != 1) - perror_with_name ("fopen: ", filename); + { + /* If we did some searching, errno has the error + from the last attempt, rather from FILENAME itself. */ + errno = makefile_errno; + perror_with_name ("fopen: ", filename); + } return; } |