summaryrefslogtreecommitdiff
path: root/lib/savedir.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2006-07-11 17:19:48 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2006-07-11 17:19:48 +0000
commit2b6236d156b394227e41b0d664cf600b69db9403 (patch)
tree08467d898c62dfb113adbc671fdb9de956159792 /lib/savedir.c
parent888ee9b8d99f7ed10f04b387eaf6e1477369c0fa (diff)
downloadcoreutils-2b6236d156b394227e41b0d664cf600b69db9403.tar.xz
Sync from gnulib.
Diffstat (limited to 'lib/savedir.c')
-rw-r--r--lib/savedir.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/savedir.c b/lib/savedir.c
index c68547054..4b0702480 100644
--- a/lib/savedir.c
+++ b/lib/savedir.c
@@ -29,11 +29,9 @@
#include <errno.h>
-#if HAVE_DIRENT_H
-# include <dirent.h>
-#else
-# define dirent direct
-# include <ndir.h>
+#include <dirent.h>
+#ifndef _D_EXACT_NAMLEN
+# define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name)
#endif
#include <stddef.h>
@@ -81,7 +79,7 @@ savedirstream (DIR *dirp)
entry = dp->d_name;
if (entry[entry[0] != '.' ? 0 : entry[1] != '.' ? 1 : 2] != '\0')
{
- size_t entry_size = strlen (entry) + 1;
+ size_t entry_size = _D_EXACT_NAMLEN (dp) + 1;
if (used + entry_size < used)
xalloc_die ();
if (allocated <= used + entry_size)