This is against the aufs3.9 branch. The only change is to remove the use of
   the GNU-specific error_at_line and the associated error.h, replacing it with
   BSD's err(), which works with both glibc and musl.
diff --git a/au_util.h b/au_util.h
index e453629..1183547 100644
--- a/au_util.h
+++ b/au_util.h
@@ -20,7 +20,7 @@
 #define __AUFS_UTIL_H__
 
 #include <errno.h>
-#include <error.h>
+#include <err.h>
 
 #define AuVersion "aufs-util for aufs3.9 and later"
 
@@ -30,7 +30,7 @@
  * __VA_ARGS__ does not help the attribute.
  */
 #define AuFin(fmt, ...) \
-	error_at_line(errno, errno, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
+  err(errno, fmt, ##__VA_ARGS__)
 
 #ifdef DEBUG
 #define MTab "/tmp/mtab"
diff --git a/auplink.c b/auplink.c
index 0eb143c..53ae6e8 100644
--- a/auplink.c
+++ b/auplink.c
@@ -37,7 +37,7 @@ static void usage(char *me)
 
 int main(int argc, char *argv[])
 {
-	int err, cmd;
+	int err_, cmd;
 	char *cwd;
 
 	if (argc != 3)
@@ -55,8 +55,8 @@ int main(int argc, char *argv[])
 		cmd = 0; /* never reach here */
 	}
 
-	err = chdir(argv[1]);
-	if (err)
+	err_ = chdir(argv[1]);
+	if (err_)
 		AuFin("chdir");
 	cwd = getcwd(NULL, 0); /* glibc */
 	if (!cwd)
diff --git a/br.c b/br.c
index f6144dc..4991d8f 100644
--- a/br.c
+++ b/br.c
@@ -29,15 +29,15 @@
 
 int au_br(union aufs_brinfo **brinfo, int *nbr, char *root)
 {
-	int err, fd;
+	int err_, fd;
 	struct statfs stfs;
 
 	fd = open(root, O_RDONLY /* | O_PATH */);
 	if (fd < 0)
 		AuFin("%s", root);
 
-	err = fstatfs(fd, &stfs);
-	if (err)
+	err_ = fstatfs(fd, &stfs);
+	if (err_)
 		AuFin("internal error, %s", root);
 	if (stfs.f_type != AUFS_SUPER_MAGIC)
 		AuFin("%s is not aufs", root);
@@ -50,12 +50,12 @@ int au_br(union aufs_brinfo **brinfo, int *nbr, char *root)
 	if (errno)
 		AuFin("posix_memalign");
 
-	err = ioctl(fd, AUFS_CTL_BRINFO, *brinfo);
-	if (err)
+	err_ = ioctl(fd, AUFS_CTL_BRINFO, *brinfo);
+	if (err_)
 		AuFin("AUFS_CTL_BRINFO");
 
-	err = close(fd);
-	if (err)
+	err_ = close(fd);
+	if (err_)
 		AuFin("internal error, %s", root);
 
 	return 0;
diff --git a/mount.aufs.c b/mount.aufs.c
index 2188187..36e8410 100644
--- a/mount.aufs.c
+++ b/mount.aufs.c
@@ -68,7 +68,7 @@ static void test_opts(char opts[], unsigned char flags[])
 
 static int test_flush(char opts[])
 {
-	int err, i;
+	int err_, i;
 	regex_t preg;
 	char *p, *o;
 	const char *pat = "^((add|ins|append|prepend|del)[:=]"
@@ -88,14 +88,14 @@ static int test_flush(char opts[])
 	}
 
 	/* todo: try getsubopt(3)? */
-	err = regcomp(&preg, pat, REG_EXTENDED | REG_NOSUB);
-	if (err)
+	err_ = regcomp(&preg, pat, REG_EXTENDED | REG_NOSUB);
+	if (err_)
 		AuFin("regcomp");
 
 	p = o;
 	while (i--) {
 		if (!regexec(&preg, p, 0, NULL, 0)) {
-			err = 1;
+			err_ = 1;
 			break;
 		} else
 			p += strlen(p) + 1;
@@ -103,7 +103,7 @@ static int test_flush(char opts[])
 	regfree(&preg);
 	free(o);
 
-	return err;
+	return err_;
 }
 
 static void do_mount(char *dev, char *mntpnt, int argc, char *argv[],
@@ -148,7 +148,7 @@ static void do_mount(char *dev, char *mntpnt, int argc, char *argv[],
 
 int main(int argc, char *argv[])
 {
-	int err, c, status, fd;
+	int err_, c, status, fd;
 	pid_t pid;
 	unsigned char flags[LastOpt];
 	struct mntent ent;
@@ -195,14 +195,14 @@ int main(int argc, char *argv[])
 	cur = opendir(".");
 	if (!cur)
 		AuFin(".");
-	err = chdir(mntpnt);
-	if (err)
+	err_ = chdir(mntpnt);
+	if (err_)
 		AuFin("%s", mntpnt);
 	cwd = getcwd(NULL, 0); /* glibc */
 	if (!cwd)
 		AuFin("getcwd");
-	err = fchdir(dirfd(cur));
-	if (err)
+	err_ = fchdir(dirfd(cur));
+	if (err_)
 		AuFin("fchdir");
 	closedir(cur); /* ignore */
 
@@ -210,8 +210,8 @@ int main(int argc, char *argv[])
 		test_opts(opts, flags);
 
 	if (!flags[Bind] && flags[Update]) {
-		err = access(MTab, R_OK | W_OK);
-		if (err)
+		err_ = access(MTab, R_OK | W_OK);
+		if (err_)
 			AuFin(MTab);
 	}
 
@@ -222,10 +222,10 @@ int main(int argc, char *argv[])
 			AuFin("both of remount and bind are specified");
 		flags[AuFlush] = test_flush(opts);
 		if (flags[AuFlush] /* && !flags[Fake] */) {
-			err = au_plink(cwd, AuPlink_FLUSH,
+			err_ = au_plink(cwd, AuPlink_FLUSH,
 				       AuPlinkFlag_OPEN | AuPlinkFlag_CLOEXEC,
 				       &fd);
-			if (err)
+			if (err_)
 				AuFin(NULL);
 		}
 	}
@@ -240,27 +240,27 @@ int main(int argc, char *argv[])
 
 	if (fd >= 0)
 		close(fd); /* ignore */
-	err = waitpid(pid, &status, 0);
-	if (err < 0)
+	err_ = waitpid(pid, &status, 0);
+	if (err_ < 0)
 		AuFin("child process");
 
-	err = !WIFEXITED(status);
-	if (!err)
-		err = WEXITSTATUS(status);
+	err_ = !WIFEXITED(status);
+	if (!err_)
+		err_ = WEXITSTATUS(status);
 
-	if (!err && !flags[Bind]) {
+	if (!err_ && !flags[Bind]) {
 		if (flags[Update])
-			err = au_update_mtab(cwd, flags[Remount],
+			err_ = au_update_mtab(cwd, flags[Remount],
 					     flags[Verbose]);
 		else if (flags[Verbose]) {
 			/* withoug blocking plink */
-			err = au_proc_getmntent(cwd, &ent);
-			if (!err)
+			err_ = au_proc_getmntent(cwd, &ent);
+			if (!err_)
 				au_print_ent(&ent);
 			else
 				AuFin("internal error");
 		}
 	}
 
-	return err;
+	return err_;
 }
diff --git a/mtab.c b/mtab.c
index 279f97b..f6391e8 100644
--- a/mtab.c
+++ b/mtab.c
@@ -46,53 +46,53 @@ void au_print_ent(struct mntent *ent)
 
 static void lock_mtab(char *pid_file)
 {
-	int err, i;
+	int err_, i;
 
 	for (i = 0; i < 5; i++) {
-		err = link(pid_file, MTab "~");
-		if (!err)
+		err_ = link(pid_file, MTab "~");
+		if (!err_)
 			break;
 		sleep(1);
 	}
-	if (err)
+	if (err_)
 		AuFin(MTab "~");
 }
 
 static void unlock_mtab(void)
 {
-	int err;
+	int err_;
 
-	err = rename(MTab "~", MTab);
-	if (err)
+	err_ = rename(MTab "~", MTab);
+	if (err_)
 		AuFin(MTab);
 }
 
 static void append_mtab(FILE *fp, FILE *ofp, struct mntent *ent)
 {
-	int err;
+	int err_;
 	struct mntent *p;
 
 	while ((p = getmntent(ofp))) {
-		err = addmntent(fp, p);
-		if (err)
+		err_ = addmntent(fp, p);
+		if (err_)
 			AuFin("addmntent");
 	}
 
-	err = addmntent(fp, ent);
-	if (err)
+	err_ = addmntent(fp, ent);
+	if (err_)
 		AuFin("addmntent");
 }
 
 /* todo: there are some cases which options are not changed */
 static void update_mtab(FILE *fp, char *mntpnt, int do_remount, int do_verbose)
 {
-	int err;
+	int err_;
 	long pos;
 	FILE *ofp;
 	struct mntent ent, *p;
 
-	err = au_proc_getmntent(mntpnt, &ent);
-	if (err)
+	err_ = au_proc_getmntent(mntpnt, &ent);
+	if (err_)
 		AuFin("no such mount point");
 
 	ofp = setmntent(MTab, "r");
@@ -115,8 +115,8 @@ static void update_mtab(FILE *fp, char *mntpnt, int do_remount, int do_verbose)
 					p = &ent;
 					pos = -1;
 				}
-				err = addmntent(fp, p);
-				if (err)
+				err_ = addmntent(fp, p);
+				if (err_)
 					AuFin("addmntent");
 			}
 			if (pos > 0)
@@ -135,7 +135,7 @@ static void update_mtab(FILE *fp, char *mntpnt, int do_remount, int do_verbose)
 
 int au_update_mtab(char *mntpnt, int do_remount, int do_verbose)
 {
-	int err, fd, status, e2;
+	int err_, fd, status, e2;
 	pid_t pid;
 	ino_t ino;
 	struct stat st;
@@ -149,7 +149,7 @@ int au_update_mtab(char *mntpnt, int do_remount, int do_verbose)
 	char pid_file[sizeof(MTab "~.") + 20];
 	FILE *fp;
 
-	err = statfs(MTab, &stfs);
+	err_ = statfs(MTab, &stfs);
 	if (stfs.f_type == PROC_SUPER_MAGIC)
 		return 0;
 
@@ -158,8 +158,8 @@ int au_update_mtab(char *mntpnt, int do_remount, int do_verbose)
 		  S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
 	if (fd < 0)
 		AuFin("%s", pid_file);
-	err = fcntl(fd, F_SETLK, &flock);
-	if (err)
+	err_ = fcntl(fd, F_SETLK, &flock);
+	if (err_)
 		AuFin("%s", pid_file);
 	fp = fdopen(fd, "r+");
 	if (!fp)
@@ -174,19 +174,19 @@ int au_update_mtab(char *mntpnt, int do_remount, int do_verbose)
 	} else if (pid < 0)
 		AuFin("fork");
 
-	err = fstat(fd, &st);
-	if (err)
+	err_ = fstat(fd, &st);
+	if (err_)
 		perror(pid_file);
 	ino = st.st_ino;
 
-	err = waitpid(pid, &status, 0);
-	if (err < 0) {
+	err_ = waitpid(pid, &status, 0);
+	if (err_ < 0) {
 		perror(pid_file);
 		goto out;
 	}
-	err = !WIFEXITED(status);
-	if (!err)
-		err = WEXITSTATUS(status);
+	err_ = !WIFEXITED(status);
+	if (!err_)
+		err_ = WEXITSTATUS(status);
 
 	e2 = unlink(pid_file);
 	if (e2 && errno != ENOENT)
@@ -209,5 +209,5 @@ int au_update_mtab(char *mntpnt, int do_remount, int do_verbose)
 	fclose(fp);
 
  out:
-	return err;
+	return err_;
 }
diff --git a/plink.c b/plink.c
index 8649fd7..45f1852 100644
--- a/plink.c
+++ b/plink.c
@@ -99,17 +99,17 @@ static int ia_append(ino_t ino)
 
 static int build_array(char *plink_dir)
 {
-	int err;
+	int err_;
 	DIR *dp;
 	struct dirent *de;
 	char *p;
 	ino_t ino;
 
-	err = access(plink_dir, F_OK);
-	if (err)
+	err_ = access(plink_dir, F_OK);
+	if (err_)
 		return 0;
 
-	err = 0;
+	err_ = 0;
 	dp = opendir(plink_dir);
 	if (!dp)
 		AuFin("%s", plink_dir);
@@ -123,8 +123,8 @@ static int build_array(char *plink_dir)
 		}
 #endif
 
-		err = na_append(plink_dir, de->d_name);
-		if (err)
+		err_ = na_append(plink_dir, de->d_name);
+		if (err_)
 			break;
 
 		p = strchr(de->d_name, '.');
@@ -137,13 +137,13 @@ static int build_array(char *plink_dir)
 		ino = strtoull(de->d_name, NULL, 0);
 		if (ino == /*ULLONG_MAX*/-1 && errno == ERANGE)
 			AuFin("internal error, %s", de->d_name);
-		err = ia_append(ino);
-		if (err)
+		err_ = ia_append(ino);
+		if (err_)
 			break;
 	}
 	closedir(dp);
 
-	return err;
+	return err_;
 }
 
 static int ia_test(ino_t ino)
@@ -179,7 +179,7 @@ static int ftw_list(const char *fname, const struct stat *st, int flags,
 static int ftw_cpup(const char *fname, const struct stat *st, int flags,
 		   struct FTW *ftw)
 {
-	int err;
+	int err_;
 
 	if (!strcmp(fname + ftw->base, AUFS_WH_PLINKDIR))
 		return FTW_SKIP_SUBTREE;
@@ -192,10 +192,10 @@ static int ftw_cpup(const char *fname, const struct stat *st, int flags,
 	if (ia_test(st->st_ino)) {
 		Dpri("%s\n", fname);
 		if (!S_ISLNK(st->st_mode))
-			err = chown(fname, -1, -1);
+			err_ = chown(fname, -1, -1);
 		else
-			err = lchown(fname, -1, -1);
-		if (err)
+			err_ = lchown(fname, -1, -1);
+		if (err_)
 			AuFin("%s", fname);
 	}
 
@@ -207,7 +207,7 @@ static int ftw_cpup(const char *fname, const struct stat *st, int flags,
 static int proc_fd = -1;
 static void au_plink_maint(char *si, int close_on_exec, int *fd)
 {
-	int err, oflags;
+	int err_, oflags;
 	ssize_t ssz;
 
 	if (si) {
@@ -225,8 +225,8 @@ static void au_plink_maint(char *si, int close_on_exec, int *fd)
 		if (ssz != strlen(si))
 			AuFin("write");
 	} else {
-		err = close(proc_fd);
-		if (err)
+		err_ = close(proc_fd);
+		if (err_)
 			AuFin("close");
 		proc_fd = -1;
 	}
@@ -248,12 +248,12 @@ void au_clean_plink(void)
 
 static int do_plink(char *cwd, int cmd, int nbr, union aufs_brinfo *brinfo)
 {
-	int err, i, l;
+	int err_, i, l;
 	struct rlimit rlim;
 	__nftw_func_t func;
 	char *p;
 
-	err = 0;
+	err_ = 0;
 	switch (cmd) {
 	case AuPlink_FLUSH:
 		/*FALLTHROUGH*/
@@ -279,8 +279,8 @@ static int do_plink(char *cwd, int cmd, int nbr, union aufs_brinfo *brinfo)
 			AuFin("malloc");
 		sprintf(p, "%s/%s", brinfo[i].path, AUFS_WH_PLINKDIR);
 		//puts(p);
-		err = build_array(p);
-		if (err)
+		err_ = build_array(p);
+		if (err_)
 			AuFin("build_array");
 		free(p);
 	}
@@ -294,8 +294,8 @@ static int do_plink(char *cwd, int cmd, int nbr, union aufs_brinfo *brinfo)
 		putchar('\n');
 	}
 
-	err = getrlimit(RLIMIT_NOFILE, &rlim);
-	if (err)
+	err_ = getrlimit(RLIMIT_NOFILE, &rlim);
+	if (err_)
 		AuFin("getrlimit");
 	nftw(cwd, func, rlim.rlim_cur - 10,
 	     FTW_PHYS | FTW_MOUNT | FTW_ACTIONRETVAL);
@@ -307,8 +307,8 @@ static int do_plink(char *cwd, int cmd, int nbr, union aufs_brinfo *brinfo)
 		na.cur = na.o;
 		for (i = 0; i < na.nname; i++) {
 			Dpri("%s\n", na.cur);
-			err = unlink(na.cur);
-			if (err)
+			err_ = unlink(na.cur);
+			if (err_)
 				AuFin("%s", na.cur);
 			na.cur += strlen(na.cur) + 1;
 		}
@@ -317,18 +317,18 @@ static int do_plink(char *cwd, int cmd, int nbr, union aufs_brinfo *brinfo)
  out:
 	free(ia.o);
 	free(na.o);
-	return err;
+	return err_;
 }
 
 int au_plink(char cwd[], int cmd, unsigned int flags, int *fd)
 {
-	int err, nbr;
+	int err_, nbr;
 	struct mntent ent;
 	char *p, si[3 + sizeof(unsigned long long) * 2 + 1];
 	union aufs_brinfo *brinfo;
 
-	err = au_proc_getmntent(cwd, &ent);
-	if (err)
+	err_ = au_proc_getmntent(cwd, &ent);
+	if (err_)
 		AuFin("no such mount point");
 	if (hasmntopt(&ent, "noplink"))
 		goto out; /* success */
@@ -344,17 +344,17 @@ int au_plink(char cwd[], int cmd, unsigned int flags, int *fd)
 		au_plink_maint(si, flags & AuPlinkFlag_CLOEXEC, fd);
 
 		/* someone else may modify while we were sleeping */
-		err = au_proc_getmntent(cwd, &ent);
-		if (err)
+		err_ = au_proc_getmntent(cwd, &ent);
+		if (err_)
 			AuFin("no such mount point");
 	}
 
-	err = au_br(&brinfo, &nbr, cwd);
-	if (err)
+	err_ = au_br(&brinfo, &nbr, cwd);
+	if (err_)
 		AuFin(NULL);
 
-	err = do_plink(cwd, cmd, nbr, brinfo);
-	if (err)
+	err_ = do_plink(cwd, cmd, nbr, brinfo);
+	if (err_)
 		AuFin(NULL);
 	free(brinfo);
 
@@ -362,5 +362,5 @@ int au_plink(char cwd[], int cmd, unsigned int flags, int *fd)
 		au_plink_maint(NULL, 0, fd);
 
 out:
-	return err;
+	return err_;
 }
diff --git a/umount.aufs.c b/umount.aufs.c
index 446ba45..ee85637 100644
--- a/umount.aufs.c
+++ b/umount.aufs.c
@@ -28,7 +28,7 @@
 
 int main(int argc, char *argv[])
 {
-	int err, i, j;
+	int err_, i, j;
 	struct mntent ent;
 	char *mntpnt, *av[argc + 1];
 
@@ -39,14 +39,14 @@ int main(int argc, char *argv[])
 	}
 
 	mntpnt = argv[1];
-	err = au_proc_getmntent(mntpnt, &ent);
-	if (err)
+	err_ = au_proc_getmntent(mntpnt, &ent);
+	if (err_)
 		AuFin("no such mount point");
 	if (!hasmntopt(&ent, "noplink")) {
-		err = au_plink(mntpnt, AuPlink_FLUSH,
+		err_ = au_plink(mntpnt, AuPlink_FLUSH,
 			       AuPlinkFlag_OPEN | AuPlinkFlag_CLOEXEC,
 			       /*fd*/NULL);
-		if (err)
+		if (err_)
 			AuFin(NULL);
 	}
 
------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds

Reply via email to