aboutsummaryrefslogtreecommitdiffstats
path: root/findcmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'findcmd.c')
-rw-r--r--findcmd.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/findcmd.c b/findcmd.c
index 557f8b5..330e395 100644
--- a/findcmd.c
+++ b/findcmd.c
@@ -32,6 +32,7 @@
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
#endif
+#include <errno.h>
#include "bashansi.h"
@@ -43,6 +44,10 @@
#include "hashcmd.h"
#include "findcmd.h" /* matching prototypes and declarations */
+#if !defined (errno)
+extern int errno;
+#endif
+
extern int posixly_correct;
/* Static functions defined and used in this file. */
@@ -172,6 +177,10 @@ executable_file (file)
int s;
s = file_status (file);
+#if defined EISDIR
+ if (s & FS_DIRECTORY)
+ errno = EISDIR; /* let's see if we can improve error messages */
+#endif
return ((s & FS_EXECABLE) && ((s & FS_DIRECTORY) == 0));
}