changeset 8988:4162ebc5fa6c

Eliminate one way canonicalize_filename_mode could exit. * lib/canonicalize.c (canonicalize_filename_mode): Use mreadlink_with_size, not xreadlink_with_size.
author Jim Meyering <jim@meyering.net>
date Tue, 19 Jun 2007 06:13:40 +0000
parents 9d7e51011293
children 907927c3e368
files ChangeLog lib/canonicalize.c
diffstat 2 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-06-19  Jim Meyering  <jim@meyering.net>
+
+	Eliminate one way canonicalize_filename_mode could exit.
+	* lib/canonicalize.c (canonicalize_filename_mode):
+	Use mreadlink_with_size, not xreadlink_with_size.
+
 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Detect porting problems to FreeBSD/arm, which has time_t wider than
--- a/lib/canonicalize.c
+++ b/lib/canonicalize.c
@@ -47,7 +47,7 @@
 #endif
 
 #include "pathmax.h"
-#include "xreadlink.h"
+#include "mreadlink.h"
 
 #if !HAVE_CANONICALIZE_FILE_NAME
 /* Return the canonical absolute name of file NAME.  A canonical name
@@ -246,10 +246,10 @@
 		    goto error;
 		}
 
-	      buf = xreadlink_with_size (rname, st.st_size);
+	      buf = mreadlink_with_size (rname, st.st_size);
 	      if (!buf)
 		{
-		  if (can_mode == CAN_MISSING)
+		  if (can_mode == CAN_MISSING && errno != ENOMEM)
 		    continue;
 		  else
 		    goto error;