Mercurial > hg > octave-kai > gnulib-hg
changeset 12010:e5fd78d17104
canonicalize: simplify errno handling
This file originally forked from glibc, but has had so many other
changes that it does not need to maintain glibc macros.
* lib/canonicalize.c (__set_errno): Delete macro, and use direct
assignment.
Signed-off-by: Eric Blake <ebb9@byu.net>
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Wed, 16 Sep 2009 13:49:10 -0600 |
parents | 5905adc25666 |
children | d8660f7d216a |
files | ChangeLog lib/canonicalize.c |
diffstat | 2 files changed, 13 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2009-09-17 Eric Blake <ebb9@byu.net> + canonicalize: simplify errno handling + * lib/canonicalize.c (__set_errno): Delete macro, and use direct + assignment. + canonicalize, canonicalize-lgpl: update module dependencies * modules/canonicalize (Depends-on): Add extensions, lstat, pathmax, stdlib.
--- a/lib/canonicalize.c +++ b/lib/canonicalize.c @@ -32,19 +32,14 @@ #include <errno.h> #include <stddef.h> +#include "areadlink.h" #include "file-set.h" #include "filenamecat.h" #include "hash-triple.h" +#include "pathmax.h" #include "xalloc.h" #include "xgetcwd.h" -#ifndef __set_errno -# define __set_errno(Val) errno = (Val) -#endif - -#include "pathmax.h" -#include "areadlink.h" - #if !(HAVE_CANONICALIZE_FILE_NAME || GNULIB_CANONICALIZE_LGPL) /* Return the canonical absolute name of file NAME. A canonical name does not contain any `.', `..' components nor any repeated file name @@ -62,13 +57,13 @@ if (name == NULL) { - __set_errno (EINVAL); + errno = EINVAL; return NULL; } if (name[0] == '\0') { - __set_errno (ENOENT); + errno = ENOENT; return NULL; } @@ -160,13 +155,13 @@ if (name == NULL) { - __set_errno (EINVAL); + errno = EINVAL; return NULL; } if (name[0] == '\0') { - __set_errno (ENOENT); + errno = ENOENT; return NULL; } @@ -262,11 +257,10 @@ the same symlink,NAME pair twice does indicate a loop. */ if (seen_triple (&ht, name, &st)) { - __set_errno (ELOOP); if (can_mode == CAN_MISSING) continue; - else - goto error; + errno = ELOOP; + goto error; } buf = areadlink_with_size (rname, st.st_size); @@ -274,8 +268,7 @@ { if (can_mode == CAN_MISSING && errno != ENOMEM) continue; - else - goto error; + goto error; } n = strlen (buf);