summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-24 22:17:58 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-24 22:17:58 +0000
commit3655c95dc4ea0c10167fc53cd2a311501e69ee29 (patch)
treec3b740aa1c23a1b4c2f8a1904669710f78b7ee73
parent0172bb9d89b11a8ca1565fde481ba809987c3b49 (diff)
downloadppe42-gcc-3655c95dc4ea0c10167fc53cd2a311501e69ee29.tar.gz
ppe42-gcc-3655c95dc4ea0c10167fc53cd2a311501e69ee29.zip
* fix-header.c (main): Move inf_buffer termination and inf_limit
calculation to after read. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47307 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/fix-header.c8
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7124dc239bb..d5ca26c35d9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
Sat Nov 24 17:04:10 2001 Douglas B. Rupp <rupp@gnat.com>
+ * fix-header.c (main): Move inf_buffer termination and inf_limit
+ calculation to after read.
+
* config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
(__UNIX_FOPEN): Define.
diff --git a/gcc/fix-header.c b/gcc/fix-header.c
index 9b1386a78df..e96b6bb0fec 100644
--- a/gcc/fix-header.c
+++ b/gcc/fix-header.c
@@ -1184,9 +1184,6 @@ main (argc, argv)
}
inf_size = sbuf.st_size;
inf_buffer = (char *) xmalloc (inf_size + 2);
- inf_buffer[inf_size] = '\n';
- inf_buffer[inf_size + 1] = '\0';
- inf_limit = inf_buffer + inf_size;
inf_ptr = inf_buffer;
to_read = inf_size;
@@ -1209,6 +1206,11 @@ main (argc, argv)
close (inf_fd);
+ /* Inf_size may have changed if read was short (as on VMS) */
+ inf_buffer[inf_size] = '\n';
+ inf_buffer[inf_size + 1] = '\0';
+ inf_limit = inf_buffer + inf_size;
+
/* If file doesn't end with '\n', add one. */
if (inf_limit > inf_buffer && inf_limit[-1] != '\n')
inf_limit++;
OpenPOWER on IntegriCloud