svn commit: trunk/uClibc/utils

aldot at uclibc.org aldot at uclibc.org
Thu Oct 9 12:19:05 UTC 2008


Author: aldot
Date: 2008-10-09 05:19:05 -0700 (Thu, 09 Oct 2008)
New Revision: 23632

Log:
- fix errno setting (we're outside of libc here)


Modified:
   trunk/uClibc/utils/chroot_realpath.c


Changeset:
Modified: trunk/uClibc/utils/chroot_realpath.c
===================================================================
--- trunk/uClibc/utils/chroot_realpath.c	2008-10-09 12:18:24 UTC (rev 23631)
+++ trunk/uClibc/utils/chroot_realpath.c	2008-10-09 12:19:05 UTC (rev 23632)
@@ -1,5 +1,5 @@
 /*
- * chroot_realpath.c -- reslove pathname as if inside chroot
+ * chroot_realpath.c -- resolve pathname as if inside chroot
  * Based on realpath.c Copyright (C) 1993 Rick Sladkey <jrs at world.std.com>
  *
  * This program is free software; you can redistribute it and/or
@@ -32,10 +32,6 @@
 #include <limits.h>		/* for PATH_MAX */
 #include <sys/param.h>		/* for MAXPATHLEN */
 #include <errno.h>
-#ifndef __set_errno
-#define __set_errno(val) ((errno) = (val))
-#endif
-
 #include <sys/stat.h>		/* for S_IFLNK */
 
 #ifndef PATH_MAX
@@ -67,7 +63,7 @@
 	chroot_len = strlen(chroot);
 
 	if (chroot_len + strlen(path) >= PATH_MAX - 3) {
-		__set_errno(ENAMETOOLONG);
+		errno = ENAMETOOLONG;
 		return NULL;
 	}
 
@@ -112,7 +108,7 @@
 		/* Safely copy the next pathname component. */
 		while (*path != '\0' && *path != '/') {
 			if (path > max_path) {
-				__set_errno(ENAMETOOLONG);
+				errno = ENAMETOOLONG;
 				return NULL;
 			}
 			*new_path++ = *path++;
@@ -123,7 +119,7 @@
 #ifdef S_IFLNK
 		/* Protect against infinite loops. */
 		if (readlinks++ > MAX_READLINKS) {
-			__set_errno(ELOOP);
+			errno = ELOOP;
 			return NULL;
 		}
 		/* See if latest pathname component is a symlink. */
@@ -148,7 +144,7 @@
 				while (*(--new_path) != '/') ;
 			/* Safe sex check. */
 			if (strlen(path) + n >= PATH_MAX - 2) {
-				__set_errno(ENAMETOOLONG);
+				errno = ENAMETOOLONG;
 				return NULL;
 			}
 			/* Insert symlink contents into path. */




More information about the uClibc-cvs mailing list