summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2001-06-25 20:26:29 +0000
committerManuel Novoa III <mjn3@codepoet.org>2001-06-25 20:26:29 +0000
commit96b91643c34a145a2e565247ca7594c1f77fb011 (patch)
treebd7eca717f2d473cf3bcdd7bffff62e082b65f72 /libc/sysdeps/linux/common
parent130ddae1735c638bddd24b3bd3e09e64c434f3c6 (diff)
Remove simulated d_type support for getdents and the dirent struct, and use
the straight getdents syscall instead of the wrapper (which leaked memory).
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r--libc/sysdeps/linux/common/Makefile4
-rwxr-xr-xlibc/sysdeps/linux/common/str_syscalls.sh2
-rw-r--r--libc/sysdeps/linux/common/syscalls.c5
3 files changed, 5 insertions, 6 deletions
diff --git a/libc/sysdeps/linux/common/Makefile b/libc/sysdeps/linux/common/Makefile
index 1d4326b4c..39ead28a1 100644
--- a/libc/sysdeps/linux/common/Makefile
+++ b/libc/sysdeps/linux/common/Makefile
@@ -24,9 +24,9 @@
TOPDIR=../../../../
include $(TOPDIR)Rules.mak
-CSRC= waitpid.c getdents.c kernel_version.c statfix.c getdnnm.c tell.c gethstnm.c \
+CSRC= waitpid.c kernel_version.c statfix.c getdnnm.c tell.c gethstnm.c \
mkfifo.c setegid.c wait.c errno.c getpagesize.c seteuid.c wait3.c setpgrp.c \
- getdtablesize.c create_module.c ptrace.c
+ getdtablesize.c create_module.c ptrace.c # getdents.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
MSRC=syscalls.c
diff --git a/libc/sysdeps/linux/common/str_syscalls.sh b/libc/sysdeps/linux/common/str_syscalls.sh
index a9e984821..c82521469 100755
--- a/libc/sysdeps/linux/common/str_syscalls.sh
+++ b/libc/sysdeps/linux/common/str_syscalls.sh
@@ -29,6 +29,6 @@ echo "printf(\"#define __STR_NR_fcntl __STR_NR__fcntl\n\");"
echo "printf(\"#define __STR_NR_reboot __STR_NR__reboot\n\");"
echo "printf(\"#define __STR_NR_mmap __STR_NR__mmap\n\");"
echo "printf(\"#define __STR_NR_syslog __STR_NR__syslog\n\");"
-echo "printf(\"#define __STR_NR_getdents __STR_NR__getdents\n\");"
+#echo "printf(\"#define __STR_NR_getdents __STR_NR__getdents\n\");"
echo
echo "return EXIT_SUCCESS; }"
diff --git a/libc/sysdeps/linux/common/syscalls.c b/libc/sysdeps/linux/common/syscalls.c
index e0aa4a91e..0b82f4973 100644
--- a/libc/sysdeps/linux/common/syscalls.c
+++ b/libc/sysdeps/linux/common/syscalls.c
@@ -984,11 +984,10 @@ loff_t llseek(int fd, loff_t offset, int whence)
#endif
//#define __NR_getdents 141
-#ifdef L__getdents
-#define __NR__getdents __NR_getdents
+#ifdef L_getdents
#include <unistd.h>
#include <dirent.h>
-_syscall3(int, _getdents, int, fd, char *, dirp, size_t, count);
+_syscall3(int, getdents, int, fd, char *, dirp, size_t, count);
#endif
//#define __NR__newselect 142