aboutsummaryrefslogtreecommitdiff
path: root/gcc/fix-header.c
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-10-20 22:28:08 +0000
committerRichard Stallman <rms@gnu.org>1993-10-20 22:28:08 +0000
commit9bbd109176af4f1f879ea303f6c04d07f8a107cb (patch)
treef11b5347e8e4919f577203cc43a677bb912ae5de /gcc/fix-header.c
parent94698f4d2363e3e926a65a29446c1d54be43ab9e (diff)
downloadgcc-9bbd109176af4f1f879ea303f6c04d07f8a107cb.zip
gcc-9bbd109176af4f1f879ea303f6c04d07f8a107cb.tar.gz
gcc-9bbd109176af4f1f879ea303f6c04d07f8a107cb.tar.bz2
(main): Delete output file before opening it.
Discard directory names from progname. From-SVN: r5842
Diffstat (limited to 'gcc/fix-header.c')
-rw-r--r--gcc/fix-header.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/fix-header.c b/gcc/fix-header.c
index 96f1884..59a9357 100644
--- a/gcc/fix-header.c
+++ b/gcc/fix-header.c
@@ -626,7 +626,15 @@ main (argc, argv)
long int inf_size;
if (argv[0] && argv[0][0])
- progname = argv[0];
+ {
+ register char *p;
+
+ progname = 0;
+ for (p = argv[0]; *p; p++)
+ if (*p == '/')
+ progname = p;
+ progname = progname ? progname+1 : argv[0];
+ }
if (argc < 4)
{
@@ -717,6 +725,7 @@ main (argc, argv)
if (inf_limit > inf_buffer && inf_limit[-1] != '\n')
inf_limit++;
+ unlink (argv[3]);
outf = fopen (argv[3], "w");
if (outf == NULL)
{