summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/which/which-2.18/fix_name_conflict_group_member.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/which/which-2.18/fix_name_conflict_group_member.patch')
-rw-r--r--meta/recipes-extended/which/which-2.18/fix_name_conflict_group_member.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/meta/recipes-extended/which/which-2.18/fix_name_conflict_group_member.patch b/meta/recipes-extended/which/which-2.18/fix_name_conflict_group_member.patch
new file mode 100644
index 0000000000..568d4233fd
--- /dev/null
+++ b/meta/recipes-extended/which/which-2.18/fix_name_conflict_group_member.patch
@@ -0,0 +1,51 @@
1# glibc also implements the function group_member. To avoid name conflict,
2# here let us append a "_" to which's version.
3#
4# Signed-off-by Dexuan Cui <dexuan.cui@intel.com>, 2010-08-20
5# (this patch is licensed under GPLv2)
6
7--- which-2.18/bash.c
8+++ which-2.18/bash.c
9@@ -45,7 +45,12 @@
10 * - changed all occurences of 'gid_t' into 'GID_T'.
11 * - exported functions needed in which.c
12 */
13-static int group_member (GID_T gid);
14+
15+/*
16+ * glibc also implements the function group_member. To avoid name conflict,
17+ * here let us append a "_" to which's version.
18+ */
19+static int _group_member (GID_T gid);
20 static char* extract_colon_unit (char const* string, int *p_index);
21
22 /*===========================================================================
23@@ -200,8 +205,8 @@
24
25 /* From bash-2.05b / general.c / line 805 */
26 /* Return non-zero if GID is one that we have in our groups list. */
27-int
28-group_member (GID_T gid)
29+static int
30+_group_member (GID_T gid)
31 {
32 #if defined (HAVE_GETGROUPS)
33 register int i;
34@@ -290,7 +295,7 @@
35 return (X_BIT (u_mode_bits (finfo.st_mode))) ? (FS_EXISTS | FS_EXECABLE) : FS_EXISTS;
36
37 /* Otherwise, if we are in the owning group, the group permissions apply. */
38- if (group_member (finfo.st_gid))
39+ if (_group_member (finfo.st_gid))
40 return (X_BIT (g_mode_bits (finfo.st_mode))) ? (FS_EXISTS | FS_EXECABLE) : FS_EXISTS;
41
42 /* Otherwise, if we are in the other group, the other permissions apply. */
43@@ -331,7 +336,7 @@
44 /* Given a string containing units of information separated by colons,
45 return the next one pointed to by (P_INDEX), or NULL if there are no more.
46 Advance (P_INDEX) to the character after the colon. */
47-char*
48+static char*
49 extract_colon_unit (char const* string, int* p_index)
50 {
51 int i, start, len;