This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.12-161-g1ac7a2c
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 21 Sep 2010 21:03:56 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.12-161-g1ac7a2c
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 1ac7a2c7b448c851eb8976fcc290a906a4075203 (commit)
from 09fad1a61127ab567b8a994314d19e0eefa2d283 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=1ac7a2c7b448c851eb8976fcc290a906a4075203
commit 1ac7a2c7b448c851eb8976fcc290a906a4075203
Author: Joseph Myers <joseph@codesourcery.com>
Date: Tue Sep 21 14:02:08 2010 -0700
getdents64 fallback d_type support
diff --git a/ChangeLog b/ChangeLog
index cd48489..4784952 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-09-15 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): When
+ implementing getdents64 using getdents syscall, set d_type if
+ __ASSUME_GETDENTS32_D_TYPE.
+
2010-09-16 Andreas Schwab <schwab@redhat.com>
* elf/dl-close.c (free_slotinfo, free_mem): Move to...
diff --git a/sysdeps/unix/sysv/linux/getdents.c b/sysdeps/unix/sysv/linux/getdents.c
index b33d178..0aa9186 100644
--- a/sysdeps/unix/sysv/linux/getdents.c
+++ b/sysdeps/unix/sysv/linux/getdents.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995-2003, 2004, 2006, 2007
+/* Copyright (C) 1993, 1995-2004, 2006, 2007, 2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -285,7 +285,11 @@ __GETDENTS (int fd, char *buf, size_t nbytes)
DIRENT_SET_DP_INO(dp, kdp->d_ino);
dp->d_off = kdp->d_off;
dp->d_reclen = new_reclen;
+#ifdef __ASSUME_GETDENTS32_D_TYPE
+ dp->d_type = *((char *) kdp + kdp->d_reclen - 1);
+#else
dp->d_type = DT_UNKNOWN;
+#endif
memcpy (dp->d_name, kdp->d_name,
kdp->d_reclen - offsetof (struct kernel_dirent, d_name));
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
sysdeps/unix/sysv/linux/getdents.c | 6 +++++-
2 files changed, 11 insertions(+), 1 deletions(-)
hooks/post-receive
--
GNU C Library master sources