From d24022cdef42ff182a6f16f3f699f110bc614ab5 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Tue, 28 Mar 1995 02:09:15 +0000 Subject: [PATCH] now use groovy gnu autoconf macro AC_HEADER_DIRENT --- parse.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/parse.c b/parse.c index d372401b7..623776c88 100644 --- a/parse.c +++ b/parse.c @@ -59,11 +59,22 @@ static char rcsid[] = "$Id$"; #include #include #include -#ifdef HAVE_DIRENT_H -#include +#if HAVE_DIRENT_H +# include +# define NAMLEN(dirent) strlen((dirent)->d_name) #else -#include -#endif /* HAVE_DIRENT_H */ +# define dirent direct +# define NAMLEN(dirent) (dirent)->d_namlen +# if HAVE_SYS_NDIR_H +# include +# endif +# if HAVE_SYS_DIR_H +# include +# endif +# if HAVE_NDIR_H +# include +# endif +#endif #include "sudo.h" #include "options.h" @@ -147,11 +158,7 @@ char *cmnd, *path; int plen; struct stat cst, pst; DIR *dirp; -#ifdef HAVE_DIRENT_H struct dirent *dent; -#else - struct direct *dent; -#endif /* HAVE_DIRENT_H */ char buf[MAXCOMMANDLENGTH+1]; if (stat(cmnd, &cst) < 0) @@ -171,7 +178,7 @@ char *cmnd, *path; while ((dent = readdir(dirp)) != NULL) { strcpy(buf, path); - strcat(buf, dent->d_name); + strcat(buf, NAMLEN(dent)); if (stat(buf, &pst) < 0) continue; if (cst.st_dev == pst.st_dev && cst.st_ino == pst.st_ino) -- 2.40.0