summaryrefslogtreecommitdiff
path: root/sysdeps/posix/getcwd.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-06-23 01:31:00 +0000
committerRoland McGrath <roland@gnu.org>1996-06-23 01:31:00 +0000
commit7f8116797fdb967571c00ec1d5b19d9d06813445 (patch)
tree495028d64d6496045a2da2af2176ef29d2e9d1e6 /sysdeps/posix/getcwd.c
parent072ebcefb24864ff922bc83f8aa270b799c73ba6 (diff)
downloadglibc-7f8116797fdb967571c00ec1d5b19d9d06813445.tar.gz
Sat Jun 22 21:29:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>glibc-1.92cvs/libc-960624cvs/libc-960623cvs/libc-1-92
* Version 1.92 test release. Sat Jun 22 23:30:07 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/syscalls.list (ksyslog_ctl): Rename to klogctl to match prototype in sys/klog.h. * sysdeps/posix/libc_fatal.c: Add include of <string.h>. * sysdeps/unix/sysv/linux/gethostid.c: Ditto. * sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): Remove. Code is now part of __getcwd again. The old function never really worked for anything but THISDIR==".". * sysdeps/alpha/Makefile (CFLAGS-rtld.c): Add -mbuild-constants only when building ELF version of library. * libio/libioP.h (_IO_vscanf): Add prototype. * posix/unistd.h (syscall): Change sysno arg and return value to int long. * version.h (VERSION): Updated to 1.92.
Diffstat (limited to 'sysdeps/posix/getcwd.c')
-rw-r--r--sysdeps/posix/getcwd.c29
1 files changed, 7 insertions, 22 deletions
diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c
index 05f626f869..af858a2643 100644
--- a/sysdeps/posix/getcwd.c
+++ b/sysdeps/posix/getcwd.c
@@ -180,15 +180,18 @@ extern char *alloca ();
#define __lstat stat
#endif
-/* Get the canonical absolute name of the named directory, and put it in SIZE
+#ifndef _LIBC
+#define __getcwd getcwd
+#endif
+
+/* Get the pathname of the current working directory, and put it in SIZE
bytes of BUF. Returns NULL if the directory couldn't be determined or
SIZE was too small. If successful, returns BUF. In GNU, if BUF is
NULL, an array is allocated with `malloc'; the array is SIZE bytes long,
unless SIZE <= 0, in which case it is as big as necessary. */
char *
-__canonicalize_directory_name_internal (thisdir, buf, size)
- const char *thisdir;
+__getcwd (buf, size)
char *buf;
size_t size;
{
@@ -227,7 +230,7 @@ __canonicalize_directory_name_internal (thisdir, buf, size)
pathp = path + size;
*--pathp = '\0';
- if (__lstat (thisdir, &st) < 0)
+ if (__lstat (".", &st) < 0)
return NULL;
thisdev = st.st_dev;
thisino = st.st_ino;
@@ -366,24 +369,6 @@ __canonicalize_directory_name_internal (thisdir, buf, size)
free ((__ptr_t) dotlist);
return NULL;
}
-
-/* Get the pathname of the current working directory, and put it in SIZE
- bytes of BUF. Returns NULL if the directory couldn't be determined or
- SIZE was too small. If successful, returns BUF. In GNU, if BUF is
- NULL, an array is allocated with `malloc'; the array is SIZE bytes long,
- unless SIZE <= 0, in which case it is as big as necessary. */
-
-#ifndef _LIBC
-#define __getcwd getcwd
-#endif
-
-char *
-__getcwd (buf, size)
- char *buf;
- size_t size;
-{
- return __canonicalize_directory_name_internal (".", buf, size);
-}
#ifdef _LIBC
weak_alias (__getcwd, getcwd)