diff options
| author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-11-08 21:11:43 +0000 | 
|---|---|---|
| committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-11-08 21:11:43 +0000 | 
| commit | 9bd8d0c23e867238bad53b04a029f71db9b88c3f (patch) | |
| tree | d2373a9bd992d2c52cc21704f76d0815bbb178e2 | |
| parent | 599bbfbd9be0073c262319a120174fad5a60113e (diff) | |
| download | busybox-9bd8d0c23e867238bad53b04a029f71db9b88c3f.tar.gz | |
- 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
| -rw-r--r-- | libbb/xreadlink.c | 22 | 
1 files changed, 11 insertions, 11 deletions
diff --git a/libbb/xreadlink.c b/libbb/xreadlink.c index a5f7eb8be..0b6eb05f3 100644 --- a/libbb/xreadlink.c +++ b/libbb/xreadlink.c @@ -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 - * the target doesn't exist, the path is returned in any case.  - * intermediate symlinks in the path are not expanded -- only + * 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   * 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;  		}  | 
