changeset 16268:dad15f0cd2ff

acl: Align return values of copy_acl and qcopy_acl. * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl, maybe < -1.
author Bruno Haible <bruno@clisp.org>
date Wed, 11 Jan 2012 01:51:25 +0100
parents 93b1cf6aadc8
children ee1df2d14b96
files ChangeLog lib/copy-acl.c
diffstat 2 files changed, 12 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-01-10  Bruno Haible  <bruno@clisp.org>
+
+	acl: Align return values of copy_acl and qcopy_acl.
+	* lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
+	maybe < -1.
+
 2012-01-11  Eric Blake  <eblake@redhat.com>
 
 	strptime: silence gcc warnings
--- a/lib/copy-acl.c
+++ b/lib/copy-acl.c
@@ -621,7 +621,8 @@
    If access control lists are not available, fchmod the target file to
    MODE.  Also sets the non-permission bits of the destination file
    (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set.
-   Return 0 if successful, otherwise output a diagnostic and return -1.  */
+   Return 0 if successful, otherwise output a diagnostic and return a
+   negative error code.  */
 
 int
 copy_acl (const char *src_name, int source_desc, const char *dst_name,
@@ -632,13 +633,14 @@
     {
     case -2:
       error (0, errno, "%s", quote (src_name));
-      return -1;
+      break;
 
     case -1:
       error (0, errno, _("preserving permissions for %s"), quote (dst_name));
-      return -1;
+      break;
 
     default:
-      return 0;
+      break;
     }
+  return ret;
 }