Commit ca21b4a5 by Bruce Korb Committed by Bruce Korb

do not rely on load_file_data() to close file pointer

From-SVN: r39501
parent 3c8465d0
2001-01-30 Bruce Korb <bkorb@gnu.org>
fixinc/fixincl.c(process): Emit error message only if appropriate :)
(load_file): do not rely on load_file_data() to close file pointer
fixinc/fixlib.c(load_file_data): do not close passed in file pointer
fixinc/inclhack.def(irix_limits_const): add test_text
2001-02-06 Neil Booth <neil@daikokuya.demon.co.uk> 2001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
* cppexp.c (parse_defined): Improve diagnostics for invalid * cppexp.c (parse_defined): Improve diagnostics for invalid
......
...@@ -364,14 +364,13 @@ load_file ( fname ) ...@@ -364,14 +364,13 @@ load_file ( fname )
res = (char*)mmap ((void*)NULL, data_map_size, PROT_READ, res = (char*)mmap ((void*)NULL, data_map_size, PROT_READ,
MAP_PRIVATE, data_map_fd, 0); MAP_PRIVATE, data_map_fd, 0);
if (res == (char*)BAD_ADDR) if (res == (char*)BAD_ADDR)
#endif
{ {
FILE* fp = fdopen (data_map_fd, "r");
curr_data_mapped = BOOL_FALSE; curr_data_mapped = BOOL_FALSE;
res = load_file_data ( fdopen (data_map_fd, "r")); res = load_file_data (fp);
fclose (fp);
} }
#else
curr_data_mapped = BOOL_FALSE;
res = load_file_data ( fdopen (data_map_fd, "r"));
#endif
return res; return res;
} }
...@@ -1431,8 +1430,9 @@ process () ...@@ -1431,8 +1430,9 @@ process ()
read_fd = open (pz_temp_file, O_RDONLY); read_fd = open (pz_temp_file, O_RDONLY);
if (read_fd < 0) if (read_fd < 0)
{ {
fprintf (stderr, "error %d (%s) opening output (%s) for read\n", if (errno != ENOENT)
errno, xstrerror (errno), pz_temp_file); fprintf (stderr, "error %d (%s) opening output (%s) for read\n",
errno, xstrerror (errno), pz_temp_file);
} }
else else
{ {
......
...@@ -39,6 +39,9 @@ load_file_data (fp) ...@@ -39,6 +39,9 @@ load_file_data (fp)
int space_left = -1; /* allow for terminating NUL */ int space_left = -1; /* allow for terminating NUL */
size_t space_used = 0; size_t space_used = 0;
if (fp == (FILE*)NULL)
return pz_data;
do do
{ {
size_t size_read; size_t size_read;
...@@ -62,7 +65,6 @@ load_file_data (fp) ...@@ -62,7 +65,6 @@ load_file_data (fp)
fprintf (stderr, "error %d (%s) reading input\n", err, fprintf (stderr, "error %d (%s) reading input\n", err,
xstrerror (err)); xstrerror (err));
free ((void *) pz_data); free ((void *) pz_data);
fclose (fp);
return (char *) NULL; return (char *) NULL;
} }
} }
...@@ -73,7 +75,6 @@ load_file_data (fp) ...@@ -73,7 +75,6 @@ load_file_data (fp)
pz_data = xrealloc ((void*)pz_data, space_used+1 ); pz_data = xrealloc ((void*)pz_data, space_used+1 );
pz_data[ space_used ] = NUL; pz_data[ space_used ] = NUL;
fclose (fp);
return pz_data; return pz_data;
} }
......
...@@ -1292,6 +1292,7 @@ fix = { ...@@ -1292,6 +1292,7 @@ fix = {
select = "^extern const "; select = "^extern const ";
c_fix = format; c_fix = format;
c_fix_arg = "extern __const "; c_fix_arg = "extern __const ";
test_text = "extern const char limit; /* test\n\tlimits */";
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment