Blame SOURCES/autofs-5.1.5-use-local-getmntent_r-in-tree_get_mnt_list.patch

306fa1
autofs-5.1.5 - use local getmntent_r() in tree_make_mnt_list()
306fa1
306fa1
From: Ian Kent <raven@themaw.net>
306fa1
306fa1
Change tree_make_mnt_list() to use the local getmntent_r() instead of
306fa1
the glibc version so that if glibc is changed to support the autofs
306fa1
"ignore" hint automount(8) won't be affected.
306fa1
306fa1
Signed-off-by: Ian Kent <raven@themaw.net>
306fa1
---
306fa1
 CHANGELOG    |    1 +
306fa1
 lib/mounts.c |    8 ++++----
306fa1
 2 files changed, 5 insertions(+), 4 deletions(-)
306fa1
306fa1
--- autofs-5.0.7.orig/CHANGELOG
306fa1
+++ autofs-5.0.7/CHANGELOG
306fa1
@@ -348,6 +348,7 @@
306fa1
 - move unlink_mount_tree() to lib/mounts.c.
306fa1
 - use local_getmntent_r() for unlink_mount_tree().
306fa1
 - use local getmntent_r() in get_mnt_list().
306fa1
+- use local getmntent_r() in tree_make_mnt_list().
306fa1
 
306fa1
 25/07/2012 autofs-5.0.7
306fa1
 =======================
306fa1
--- autofs-5.0.7.orig/lib/mounts.c
306fa1
+++ autofs-5.0.7/lib/mounts.c
306fa1
@@ -1176,16 +1176,16 @@ struct mnt_list *tree_make_mnt_tree(cons
306fa1
 	size_t plen;
306fa1
 	int eq;
306fa1
 
306fa1
-	tab = open_setmntent_r(_PROC_MOUNTS);
306fa1
+	tab = open_fopen_r(_PROC_MOUNTS);
306fa1
 	if (!tab) {
306fa1
 		char *estr = strerror_r(errno, buf, PATH_MAX - 1);
306fa1
-		logerr("setmntent: %s", estr);
306fa1
+		logerr("fopen: %s", estr);
306fa1
 		return NULL;
306fa1
 	}
306fa1
 
306fa1
 	plen = strlen(path);
306fa1
 
306fa1
-	while ((mnt = getmntent_r(tab, &mnt_wrk, buf, PATH_MAX * 3))) {
306fa1
+	while ((mnt = local_getmntent_r(tab, &mnt_wrk, buf, PATH_MAX * 3))) {
306fa1
 		size_t len = strlen(mnt->mnt_dir);
306fa1
 
306fa1
 		/* Not matching path */
306fa1
@@ -1277,7 +1277,7 @@ struct mnt_list *tree_make_mnt_tree(cons
306fa1
 		if (!tree)
306fa1
 			tree = ent;
306fa1
 	}
306fa1
-	endmntent(tab);
306fa1
+	fclose(tab);
306fa1
 
306fa1
 	return tree;
306fa1
 }