From: Jarkko Hietaniemi Date: Sun, 8 Jul 2001 15:58:35 +0000 (+0000) Subject: Cwd cleanups. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=bae06e144a614ad8a7230d3ed1ed64843cd97c73;p=p5sagit%2Fp5-mst-13.2.git Cwd cleanups. p4raw-id: //depot/perl@11216 --- diff --git a/ext/Cwd/Cwd.xs b/ext/Cwd/Cwd.xs index b6f27b8..303ef70 100644 --- a/ext/Cwd/Cwd.xs +++ b/ext/Cwd/Cwd.xs @@ -73,12 +73,14 @@ bsd_realpath(path, resolved) return Perl_rmsexpand((char*)path, resolved, NULL, 0); #else struct stat sb; - int fd, n, rootd, serrno; + int n, rootd, serrno; char *p, *q, wbuf[MAXPATHLEN]; int symlinks = 0; /* Save the starting point. */ #ifdef HAS_FCHDIR + int fd; + if ((fd = open(".", O_RDONLY)) < 0) { (void)strcpy(resolved, "."); return (NULL); @@ -120,7 +122,7 @@ loop: } else p = resolved; -#ifdef HAS_LSTAT +#if defined(HAS_LSTAT) && defined(HAS_READLINK) && defined(HAS_SYMLINK) /* Deal with the last component. */ if (lstat(p, &sb) == 0) { if (S_ISLNK(sb.st_mode)) {