summaryrefslogtreecommitdiff
path: root/file.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2000-03-26 06:56:54 +0000
committerPaul Smith <psmith@gnu.org>2000-03-26 06:56:54 +0000
commita81013175c2b335c295378b0c826bdbede9fd0c4 (patch)
treed4dcc537b40b129bd0779bc31e1686e217a9585a /file.c
parent75f879f37f8c8e6b671c558ab85b3926c96fbb0c (diff)
downloadgunmake-a81013175c2b335c295378b0c826bdbede9fd0c4.tar.gz
* Ignore attempt to change a file into itself.
* Define COFLAGS to avoid unknown variable warning. * Fix some usec problems on UnixWare. * Don't remove .INTERMEDIATE targets specified on the command line.
Diffstat (limited to 'file.c')
-rw-r--r--file.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/file.c b/file.c
index a1003a9..c64db0b 100644
--- a/file.c
+++ b/file.c
@@ -128,8 +128,7 @@ enter_file (name)
char *lname, *ln;
#endif
- if (*name == '\0')
- abort ();
+ assert (*name != '\0');
#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
lname = (char *)malloc (strlen (name) + 1);
@@ -252,8 +251,9 @@ file_hash_enter (file, name, oldhash, oldname)
if (strieq (oldfile->hname, name))
break;
- /* If the old file is the same as the new file, something's wrong. */
- assert (oldfile != file);
+ /* If the old file is the same as the new file, never mind. */
+ if (oldfile == file)
+ return;
if (oldhash != 0 && (newbucket != oldbucket || oldfile != 0))
{
@@ -394,7 +394,7 @@ remove_intermediates (sig)
for (i = 0; i < FILE_BUCKETS; ++i)
for (f = files[i]; f != 0; f = f->next)
if (f->intermediate && (f->dontcare || !f->precious)
- && !f->secondary)
+ && !f->secondary && !f->cmd_target)
{
int status;
if (f->update_status == -1)