[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 0a289d3: Suppress ACL ops if configured with --di
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] emacs-25 0a289d3: Suppress ACL ops if configured with --disable-acl |
Date: |
Tue, 09 Feb 2016 23:03:02 +0000 |
branch: emacs-25
commit 0a289d38b5b6aed734040314621b3f84200140df
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Suppress ACL ops if configured with --disable-acl
Without this patch, some ACL operations were suppressed, but not all.
* src/fileio.c [!USE_ACL]: Do not include sys/acl.h.
(Ffile_acl, Fset_file_acl) [!USE_ACL]: Return nil in this case.
---
src/fileio.c | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/fileio.c b/src/fileio.c
index f185f38..0372f46 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -36,7 +36,7 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#include <selinux/context.h>
#endif
-#ifdef HAVE_ACL_SET_FILE
+#if USE_ACL && defined HAVE_ACL_SET_FILE
#include <sys/acl.h>
#endif
@@ -2937,16 +2937,17 @@ Return nil if file does not exist or is not accessible,
or if Emacs
was unable to determine the ACL entries. */)
(Lisp_Object filename)
{
+#if USE_ACL
Lisp_Object absname;
Lisp_Object handler;
-#ifdef HAVE_ACL_SET_FILE
+# ifdef HAVE_ACL_SET_FILE
acl_t acl;
Lisp_Object acl_string;
char *str;
-# ifndef HAVE_ACL_TYPE_EXTENDED
+# ifndef HAVE_ACL_TYPE_EXTENDED
acl_type_t ACL_TYPE_EXTENDED = ACL_TYPE_ACCESS;
+# endif
# endif
-#endif
absname = expand_and_dir_to_file (filename,
BVAR (current_buffer, directory));
@@ -2957,7 +2958,7 @@ was unable to determine the ACL entries. */)
if (!NILP (handler))
return call2 (handler, Qfile_acl, absname);
-#ifdef HAVE_ACL_SET_FILE
+# ifdef HAVE_ACL_SET_FILE
absname = ENCODE_FILE (absname);
acl = acl_get_file (SSDATA (absname), ACL_TYPE_EXTENDED);
@@ -2976,6 +2977,7 @@ was unable to determine the ACL entries. */)
acl_free (acl);
return acl_string;
+# endif
#endif
return Qnil;
@@ -2993,13 +2995,14 @@ Setting ACL for local files requires Emacs to be built
with ACL
support. */)
(Lisp_Object filename, Lisp_Object acl_string)
{
+#if USE_ACL
Lisp_Object absname;
Lisp_Object handler;
-#ifdef HAVE_ACL_SET_FILE
+# ifdef HAVE_ACL_SET_FILE
Lisp_Object encoded_absname;
acl_t acl;
bool fail;
-#endif
+# endif
absname = Fexpand_file_name (filename, BVAR (current_buffer, directory));
@@ -3009,7 +3012,7 @@ support. */)
if (!NILP (handler))
return call3 (handler, Qset_file_acl, absname, acl_string);
-#ifdef HAVE_ACL_SET_FILE
+# ifdef HAVE_ACL_SET_FILE
if (STRINGP (acl_string))
{
acl = acl_from_text (SSDATA (acl_string));
@@ -3030,6 +3033,7 @@ support. */)
acl_free (acl);
return fail ? Qnil : Qt;
}
+# endif
#endif
return Qnil;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 0a289d3: Suppress ACL ops if configured with --disable-acl,
Paul Eggert <=