- commentary fixes

- use common exit sequence for failure path:
   text	   data	    bss	    dec	    hex	filename
    308	      0	      0	    308	    134	libbb/xreadlink.o.pgf
    296	      0	      0	    296	    128	libbb/xreadlink.o
This commit is contained in:
Bernhard Reutner-Fischer 2007-11-08 21:11:43 +00:00
parent 599bbfbd9b
commit 9bd8d0c23e

View File

@ -8,7 +8,7 @@
/*
* NOTE: This function returns a malloced char* that you will have to free
* yourself. You have been warned.
* yourself.
*/
char *xmalloc_readlink(const char *path)
{
@ -33,14 +33,14 @@ char *xmalloc_readlink(const char *path)
}
/*
* this routine is not the same as realpath(), which
* canonicalizes the given path completely. this routine only
* follows trailing symlinks until a real file is reached, and
* returns its name. if the path ends in a dangling link, or if
* This routine is not the same as realpath(), which
* canonicalizes the given path completely. This routine only
* follows trailing symlinks until a real file is reached and
* returns its name. If the path ends in a dangling link or if
* the target doesn't exist, the path is returned in any case.
* intermediate symlinks in the path are not expanded -- only
* Intermediate symlinks in the path are not expanded -- only
* those at the tail.
* a malloced char* is returned, which must be freed by the caller.
* A malloced char* is returned, which must be freed by the caller.
*/
char *xmalloc_follow_symlinks(const char *path)
{
@ -60,12 +60,12 @@ char *xmalloc_follow_symlinks(const char *path)
/* not a symlink, or doesn't exist */
if (errno == EINVAL || errno == ENOENT)
return buf;
free(buf);
return NULL;
goto free_buf_ret_null;
}
if (!--looping) {
free(linkpath);
free_buf_ret_null:
free(buf);
return NULL;
}