summaryrefslogtreecommitdiff
path: root/posix
diff options
context:
space:
mode:
Diffstat (limited to 'posix')
-rw-r--r--posix/Makefile2
-rw-r--r--posix/regex.c8
-rw-r--r--posix/unistd.h6
3 files changed, 11 insertions, 5 deletions
diff --git a/posix/Makefile b/posix/Makefile
index 5c3d9a0fb2..937dc04880 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -36,7 +36,7 @@ routines := \
fork vfork _exit \
execve fexecve execv execle execl execvp execlp \
getpid getppid \
- getuid geteuid getgid getegid getgroups setuid setgid \
+ getuid geteuid getgid getegid getgroups setuid setgid group_member \
getpgid setpgid getpgrp setsid \
getlogin setlogin \
pathconf sysconf fpathconf \
diff --git a/posix/regex.c b/posix/regex.c
index 13c70faa4c..f1db89adf6 100644
--- a/posix/regex.c
+++ b/posix/regex.c
@@ -1159,7 +1159,7 @@ typedef struct
/* Push the info, starting with the registers. */ \
DEBUG_PRINT1 ("\n"); \
\
- if (!(RE_NO_POSIX_BACKTRACKING & bufp->syntax)) \
+ if (1) \
for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; \
this_reg++) \
{ \
@@ -1220,7 +1220,7 @@ typedef struct
/* We actually push this many items. */
#define NUM_FAILURE_ITEMS \
- (((RE_NO_POSIX_BACKTRACKING & bufp->syntax \
+ (((0 \
? 0 : highest_active_reg - lowest_active_reg + 1) \
* NUM_REG_ITEMS) \
+ NUM_NONREG_ITEMS)
@@ -1281,7 +1281,7 @@ typedef struct
low_reg = (unsigned) POP_FAILURE_INT (); \
DEBUG_PRINT2 (" Popping low active reg: %d\n", low_reg); \
\
- if (!(RE_NO_POSIX_BACKTRACKING & bufp->syntax)) \
+ if (1) \
for (this_reg = high_reg; this_reg >= low_reg; this_reg--) \
{ \
DEBUG_PRINT2 (" Popping reg: %d\n", this_reg); \
@@ -1299,7 +1299,7 @@ typedef struct
{ \
for (this_reg = highest_active_reg; this_reg > high_reg; this_reg--) \
{ \
- reg_info[this_reg].word = 0; \
+ reg_info[this_reg].word.integer = 0; \
regend[this_reg] = 0; \
regstart[this_reg] = 0; \
} \
diff --git a/posix/unistd.h b/posix/unistd.h
index ffd83b2b1e..62c25fc09b 100644
--- a/posix/unistd.h
+++ b/posix/unistd.h
@@ -366,6 +366,12 @@ extern __gid_t getegid __P ((void));
extern int __getgroups __P ((int __size, __gid_t __list[]));
extern int getgroups __P ((int __size, __gid_t __list[]));
+#ifdef __USE_GNU
+/* Return nonzero iff the calling process is in group GID. */
+extern int __group_member __P ((__gid_t __gid));
+extern int group_member __P ((__gid_t __gid));
+#endif
+
/* Set the user ID of the calling process to UID.
If the calling process is the super-user, set the real
and effective user IDs, and the saved set-user-ID to UID;