broken eaccess dcl

"Ilya N. Golubev" <[email protected]> Tue, 08 Jul 2003 20:42:11 +0400
Newsgroups gmane.comp.gnu.sh-utils.bugs
Message-ID <[email protected]>
Version: 2.0

`eaccess' declaration in `src/test.c' may conflict with one in
<unistd.h> when the latter is

extern int eaccess(const char *, int );

Since `eaccess' in `src/test.c' is static, it may be renamed.

--- src/test.c	2003/07/08 16:33:10	1.1
+++ src/test.c	2003/07/08 16:35:26	1.2
@@ -157,7 +157,7 @@
    and don't make the mistake of telling root that any file is executable.
    But this loses when the containing filesystem is mounted e.g. read-only.  */
 static int
-eaccess (char *path, int mode)
+eacces2 (char *path, int mode)
 {
   struct stat st;
   static int euid = -1;
@@ -651,17 +651,17 @@
 
     case 'r':			/* file is readable? */
       unary_advance ();
-      value = -1 != eaccess (argv[pos - 1], R_OK);
+      value = -1 != eacces2 (argv[pos - 1], R_OK);
       return (TRUE == value);
 
     case 'w':			/* File is writable? */
       unary_advance ();
-      value = -1 != eaccess (argv[pos - 1], W_OK);
+      value = -1 != eacces2 (argv[pos - 1], W_OK);
       return (TRUE == value);
 
     case 'x':			/* File is executable? */
       unary_advance ();
-      value = -1 != eaccess (argv[pos - 1], X_OK);
+      value = -1 != eacces2 (argv[pos - 1], X_OK);
       return (TRUE == value);
 
     case 'O':			/* File is owned by you? */