diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2011-01-08 11:04:30 +0000 | 
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2011-01-08 11:04:30 +0000 | 
| commit | 4e738f5a8dd6af846c5d68f5031e8277698cb8f9 (patch) | |
| tree | d36703e74665db673fc7beac7773ab802ceb38ed /lib/libc/stdlib/realpath.c | |
| parent | af5407b895513133ae8c42f8eceabe93220002b7 (diff) | |
Notes
Diffstat (limited to 'lib/libc/stdlib/realpath.c')
| -rw-r--r-- | lib/libc/stdlib/realpath.c | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/lib/libc/stdlib/realpath.c b/lib/libc/stdlib/realpath.c index e75ee4ac823a..66bb8da98608 100644 --- a/lib/libc/stdlib/realpath.c +++ b/lib/libc/stdlib/realpath.c @@ -54,7 +54,7 @@ realpath(const char * __restrict path, char * __restrict resolved)  	char *p, *q, *s;  	size_t left_len, resolved_len;  	unsigned symlinks; -	int serrno, slen, m; +	int m, serrno, slen;  	char left[PATH_MAX], next_token[PATH_MAX], symlink[PATH_MAX];  	if (path == NULL) { @@ -73,7 +73,6 @@ realpath(const char * __restrict path, char * __restrict resolved)  		m = 1;  	} else  		m = 0; -  	symlinks = 0;  	if (path[0] == '/') {  		resolved[0] = '/'; @@ -86,8 +85,10 @@ realpath(const char * __restrict path, char * __restrict resolved)  		if (getcwd(resolved, PATH_MAX) == NULL) {  			if (m)  				free(resolved); -			else -				strlcpy(resolved, ".", PATH_MAX); +			else { +				resolved[0] = '.'; +				resolved[1] = '\0'; +			}  			return (NULL);  		}  		resolved_len = strlen(resolved); | 
