www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/06/13/21:35:10

Date: Tue, 13 Jun 1995 17:23:43 -0700
From: pierre AT phi DOT la DOT tce DOT com (Pierre Willard)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: small bug ENOTDIR gmake 3.69 DJGPP
Reply-To: pierre AT la DOT tce DOT com

In gmake 3.69, remove_intermediates function, file file.c,

The following lines :

	      status = unlink (f->name);
	      if (status < 0 && errno == ENOENT)

Should be replaced (for djgpp) by

	      status = unlink (f->name);
	      if (status < 0 && (errno == ENOENT || errno == ENOTDIR))

This is because unlink returns ENOTDIR if the path is not valid.

Without this patch, we could get some strange error messages at the end of
a make, like "rm foo.mak.xxx gmake.exe: unlink: foo.mak.xxx: path not
found"

Another solution might be that DJGPP library, for Unix compatibility, never
returns ENOTDIR : djgpp could return ENOENT instead (with a sterror like:
file or path not found).

Also let me know if this is fixed in djgpp gmake 3.71.

Regards
Pierre Willard

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019