71 lines
2.0 KiB
Diff
71 lines
2.0 KiB
Diff
|
The local function eaccess conflicts with a glibc function of the same name.
|
||
|
Rename the function so that this can be build under glibc 2.4, and older
|
||
|
revisions, without any problems.
|
||
|
|
||
|
--- liblockfile-1.06/dotlockfile.c 2006/07/10 03:17:40 1.1
|
||
|
+++ liblockfile-1.06/dotlockfile.c 2006/07/10 03:18:26
|
||
|
@@ -42,7 +42,7 @@
|
||
|
extern int optind;
|
||
|
#endif
|
||
|
|
||
|
-extern int eaccess(char *, gid_t, struct stat *);
|
||
|
+extern int xeaccess(char *, gid_t, struct stat *);
|
||
|
|
||
|
/*
|
||
|
* Sleep for an amout of time while regulary checking if
|
||
|
@@ -252,14 +252,14 @@
|
||
|
return L_ERROR;
|
||
|
}
|
||
|
gid = getgid();
|
||
|
- if (eaccess(dir, gid, &st) < 0) {
|
||
|
+ if (xeaccess(dir, gid, &st) < 0) {
|
||
|
if (errno == ENOENT) {
|
||
|
enoent:
|
||
|
if (!quiet) fprintf(stderr,
|
||
|
"dotlockfile: %s: no such directory\n", dir);
|
||
|
return L_TMPLOCK;
|
||
|
}
|
||
|
- if ((r = eaccess(dir, getegid(), &st) < 0) && errno == ENOENT)
|
||
|
+ if ((r = xeaccess(dir, getegid(), &st) < 0) && errno == ENOENT)
|
||
|
goto enoent;
|
||
|
if (r < 0 || !ismaillock(lockfile, pwd->pw_name)) {
|
||
|
if (!quiet) fprintf(stderr,
|
||
|
@@ -272,7 +272,7 @@
|
||
|
/*
|
||
|
* Now we should be able to chdir() to the lock directory.
|
||
|
* When we stat("."), it should be the same as at the
|
||
|
- * eaccess() check or someone played symlink() games on us.
|
||
|
+ * xeaccess() check or someone played symlink() games on us.
|
||
|
*/
|
||
|
if (chdir(dir) < 0 || stat(".", &st2) < 0) {
|
||
|
if (!quiet) fprintf(stderr,
|
||
|
--- liblockfile-1.06/lockfile.c 2006/07/10 03:17:40 1.1
|
||
|
+++ liblockfile-1.06/lockfile.c 2006/07/10 03:18:26
|
||
|
@@ -54,7 +54,7 @@
|
||
|
#ifdef LIB
|
||
|
static
|
||
|
#endif
|
||
|
-int eaccess(char *fn, gid_t gid, struct stat *st)
|
||
|
+int xeaccess(char *fn, gid_t gid, struct stat *st)
|
||
|
{
|
||
|
struct stat tmp;
|
||
|
uid_t uid = geteuid();
|
||
|
@@ -96,7 +96,7 @@
|
||
|
*p = 0;
|
||
|
else
|
||
|
strcpy(dir, ".");
|
||
|
- if (eaccess(dir, egid, NULL) >= 0) {
|
||
|
+ if (xeaccess(dir, egid, NULL) >= 0) {
|
||
|
free(dir);
|
||
|
return 0;
|
||
|
}
|
||
|
@@ -111,7 +111,7 @@
|
||
|
return 0;
|
||
|
mailgid = st.st_gid;
|
||
|
}
|
||
|
- ret = eaccess(dir, mailgid, NULL) >= 0;
|
||
|
+ ret = xeaccess(dir, mailgid, NULL) >= 0;
|
||
|
free (dir);
|
||
|
return ret;
|
||
|
}
|