diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-11-24 22:17:58 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-11-24 22:17:58 +0000 |
commit | 3655c95dc4ea0c10167fc53cd2a311501e69ee29 (patch) | |
tree | c3b740aa1c23a1b4c2f8a1904669710f78b7ee73 /gcc/fix-header.c | |
parent | 0172bb9d89b11a8ca1565fde481ba809987c3b49 (diff) | |
download | gcc-3655c95dc4ea0c10167fc53cd2a311501e69ee29.tar.gz |
* 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
Diffstat (limited to 'gcc/fix-header.c')
-rw-r--r-- | gcc/fix-header.c | 8 |
1 files changed, 5 insertions, 3 deletions
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++; |