GNU bug report logs -
#20312
[COREUTILS 0/2] Improved acl handling
Previous Next
Full log
View this message in rfc822 format
This changes how ls checks for acls on Linux (it no longer requires
libacl) and rewrites how acls are set and copied between files.
* gnulib: Update to latest.
* gl/lib/tempname.c.diff: Adjust for gnulib changes.
* gl/lib/tempname.h.diff: Likewise.
* src/local.mk (src_ls_LDADD): Only link with the libraries needed by
file_has_acl().
---
gl/lib/tempname.c.diff | 16 ++++++++--------
gl/lib/tempname.h.diff | 4 ++--
gnulib | 2 +-
src/local.mk | 2 +-
4 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/gl/lib/tempname.c.diff b/gl/lib/tempname.c.diff
index 459a1e5..480aa23 100644
--- a/gl/lib/tempname.c.diff
+++ b/gl/lib/tempname.c.diff
@@ -34,9 +34,9 @@ index 49c7df1..84a45d4 100644
int
-__try_tempname (char *tmpl, int suffixlen, void *args,
-- int (*try) (char *, void *))
+- int (*tryfunc) (char *, void *))
+try_tempname_len (char *tmpl, int suffixlen, void *args,
-+ int (*try) (char *, void *), size_t x_suffix_len)
++ int (*tryfunc) (char *, void *), size_t x_suffix_len)
{
- int len;
+ size_t len;
@@ -113,7 +113,7 @@ index 49c7df1..84a45d4 100644
+ for (i = 0; i < x_suffix_len; i++)
+ XXXXXX[i] = letters[randint_genmax (rand_src, sizeof letters - 2)];
- fd = try (tmpl, args);
+ fd = tryfunc (tmpl, args);
if (fd >= 0)
{
__set_errno (save_errno);
@@ -165,14 +165,14 @@ index 49c7df1..84a45d4 100644
+gen_tempname_len (char *tmpl, int suffixlen, int flags, int kind,
+ size_t x_suffix_len)
{
- int (*try) (char *, void *);
+ int (*tryfunc) (char *, void *);
@@ -320,5 +328,18 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
assert (! "invalid KIND in __gen_tempname");
abort ();
}
-- return __try_tempname (tmpl, suffixlen, &flags, try);
-+ return try_tempname_len (tmpl, suffixlen, &flags, try, x_suffix_len);
+- return __try_tempname (tmpl, suffixlen, &flags, tryfunc);
++ return try_tempname_len (tmpl, suffixlen, &flags, tryfunc, x_suffix_len);
+}
+
+int
@@ -183,7 +183,7 @@ index 49c7df1..84a45d4 100644
+
+int
+__try_tempname (char *tmpl, int suffixlen, void *args,
-+ int (*try) (char *, void *))
++ int (*tryfunc) (char *, void *))
+{
-+ return try_tempname_len (tmpl, suffixlen, args, try, 6);
++ return try_tempname_len (tmpl, suffixlen, args, tryfunc, 6);
}
diff --git a/gl/lib/tempname.h.diff b/gl/lib/tempname.h.diff
index 843692e..efdaff1 100644
--- a/gl/lib/tempname.h.diff
+++ b/gl/lib/tempname.h.diff
@@ -14,8 +14,8 @@ index f7c98d0..793207f 100644
@@ -53,5 +55,7 @@ extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind);
name is tried, or else TRY_GEN_TEMPNAME returns -1. */
extern int try_tempname (char *tmpl, int suffixlen, void *args,
- int (*try) (char *, void *));
+ int (*tryfunc) (char *, void *));
+extern int try_tempname_len (char *tmpl, int suffixlen, void *args,
-+ int (*try) (char *, void *), size_t x_suffix_len);
++ int (*tryfunc) (char *, void *), size_t x_suffix_len);
#endif /* GL_TEMPNAME_H */
diff --git a/gnulib b/gnulib
index 6e0e31c..3333251 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 6e0e31c383c86e297bfbb8dae89515b0587a1b15
+Subproject commit 33332517845ba0e95c5be192f8812a1426b86cee
diff --git a/src/local.mk b/src/local.mk
index 19152f0..5a3b1b3 100644
--- a/src/local.mk
+++ b/src/local.mk
@@ -278,7 +278,7 @@ src_uptime_LDADD += $(GETLOADAVG_LIBS)
# for various ACL functions
copy_ldadd += $(LIB_ACL)
-src_ls_LDADD += $(LIB_ACL)
+src_ls_LDADD += $(LIB_HAS_ACL)
# for various xattr functions
copy_ldadd += $(LIB_XATTR)
--
2.1.0
This bug report was last modified 10 years and 53 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.