summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1996-05-21 12:15:27 +0000
committerJim Meyering <jim@meyering.net>1996-05-21 12:15:27 +0000
commitaf46584e6a90f542ea5255b4771a7497ff66931a (patch)
tree484b638c4c7051b3f29c6ee3f2ea6859a1e30b08
parentdecc945e3d99e367de3e43cf830687d1b9329673 (diff)
downloadgnulib-af46584e6a90f542ea5255b4771a7497ff66931a.tar.gz
(euidaccess) [!S_IROTH]: Define.
[!S_IWOTH]: Define. [!S_IXOTH]: Define. Marcus Daniels <marcus@sysc.pdx.edu> reported that m68k NEXTSTEP 3.2 doesn't define S_IROTH or S_IWOTH unless some posix compile option is used and associated symbols defined.
-rw-r--r--lib/euidaccess.c71
1 files changed, 41 insertions, 30 deletions
diff --git a/lib/euidaccess.c b/lib/euidaccess.c
index 4803dbcadd..e2b19c4c9a 100644
--- a/lib/euidaccess.c
+++ b/lib/euidaccess.c
@@ -22,44 +22,44 @@ Cambridge, MA 02139, USA. */
Adapted for GNU C library by Roland McGrath. */
#ifdef HAVE_CONFIG_H
-#include <config.h>
+# include <config.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#ifdef S_IEXEC
-#ifndef S_IXUSR
-#define S_IXUSR S_IEXEC
-#endif
-#ifndef S_IXGRP
-#define S_IXGRP (S_IEXEC >> 3)
-#endif
-#ifndef S_IXOTH
-#define S_IXOTH (S_IEXEC >> 6)
-#endif
+# ifndef S_IXUSR
+# define S_IXUSR S_IEXEC
+# endif
+# ifndef S_IXGRP
+# define S_IXGRP (S_IEXEC >> 3)
+# endif
+# ifndef S_IXOTH
+# define S_IXOTH (S_IEXEC >> 6)
+# endif
#endif /* S_IEXEC */
#if defined (HAVE_UNISTD_H) || defined (_LIBC)
-#include <unistd.h>
+# include <unistd.h>
#endif
#ifdef _POSIX_VERSION
-#include <limits.h>
-#if !defined(NGROUPS_MAX) || NGROUPS_MAX < 1
-#undef NGROUPS_MAX
-#define NGROUPS_MAX sysconf (_SC_NGROUPS_MAX)
-#endif /* NGROUPS_MAX */
+# include <limits.h>
+# if !defined(NGROUPS_MAX) || NGROUPS_MAX < 1
+# undef NGROUPS_MAX
+# define NGROUPS_MAX sysconf (_SC_NGROUPS_MAX)
+# endif /* NGROUPS_MAX */
#else /* not _POSIX_VERSION */
uid_t getuid ();
gid_t getgid ();
uid_t geteuid ();
gid_t getegid ();
-#include <sys/param.h>
-#if !defined(NGROUPS_MAX) && defined(NGROUPS)
-#define NGROUPS_MAX NGROUPS
-#endif /* not NGROUPS_MAX and NGROUPS */
+# include <sys/param.h>
+# if !defined(NGROUPS_MAX) && defined(NGROUPS)
+# define NGROUPS_MAX NGROUPS
+# endif /* not NGROUPS_MAX and NGROUPS */
#endif /* not POSIX_VERSION */
#include <errno.h>
@@ -68,20 +68,31 @@ extern int errno;
#endif
#if defined(EACCES) && !defined(EACCESS)
-#define EACCESS EACCES
+# define EACCESS EACCES
#endif
#ifndef F_OK
-#define F_OK 0
-#define X_OK 1
-#define W_OK 2
-#define R_OK 4
+# define F_OK 0
+# define X_OK 1
+# define W_OK 2
+# define R_OK 4
+#endif
+
+#if !defined (S_IROTH) && defined (R_OK)
+# define S_IROTH R_OK
#endif
+#if !defined (S_IWOTH) && defined (W_OK)
+# define S_IWOTH W_OK
+#endif
+
+#if !defined (S_IXOTH) && defined (X_OK)
+# define S_IXOTH X_OK
+#endif
#ifdef _LIBC
-#define group_member __group_member
+# define group_member __group_member
#else
@@ -100,11 +111,11 @@ static gid_t egid;
/* Nonzero if UID, GID, EUID, and EGID have valid values. */
static int have_ids = 0;
-#ifdef HAVE_GETGROUPS
+# ifdef HAVE_GETGROUPS
int group_member ();
-#else
-#define group_member(gid) 0
-#endif
+# else
+# define group_member(gid) 0
+# endif
#endif