| version 1.21, 1999/08/10 13:03:11 |
version 1.22, 1999/09/16 11:44:58 |
| Line 49 __RCSID("$NetBSD$"); |
|
| Line 49 __RCSID("$NetBSD$"); |
|
| #include <sys/param.h> |
#include <sys/param.h> |
| #include <sys/stat.h> |
#include <sys/stat.h> |
| |
|
| |
#include <assert.h> |
| #include <dirent.h> |
#include <dirent.h> |
| #include <errno.h> |
#include <errno.h> |
| #include <fcntl.h> |
#include <fcntl.h> |
| Line 89 realpath(path, resolved) |
|
| Line 90 realpath(path, resolved) |
|
| int fd, n, rootd, serrno, nlnk = 0; |
int fd, n, rootd, serrno, nlnk = 0; |
| char *p, *q, wbuf[MAXPATHLEN]; |
char *p, *q, wbuf[MAXPATHLEN]; |
| |
|
| |
_DIAGASSERT(path != NULL); |
| |
_DIAGASSERT(resolved != NULL); |
| |
#ifdef _DIAGNOSTIC |
| |
if (path == NULL || *path == '\0') { |
| |
errno = ENOENT; |
| |
return (NULL); |
| |
} |
| |
if (resolved == NULL) { |
| |
errno = EINVAL; |
| |
return (NULL); |
| |
} |
| |
#endif |
| |
|
| /* Save the starting point. */ |
/* Save the starting point. */ |
| if ((fd = open(".", O_RDONLY)) < 0) { |
if ((fd = open(".", O_RDONLY)) < 0) { |
| (void)strcpy(resolved, "."); |
(void)strcpy(resolved, "."); |