changeset 18009:9d5c839f66b6

acl-permissions: more porting to AIX * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]: * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]: Add cast for AIX, whose system calls are declared to accept char * even though the arguments are really char const *. * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]: Rework types to pacify xlc.
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 05 Jun 2015 11:47:37 -0700
parents 1de438ccf7a3
children 9ccbf08c9455
files ChangeLog lib/file-has-acl.c lib/mountlist.c lib/readutmp.c lib/set-permissions.c
diffstat 5 files changed, 19 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,11 +5,20 @@
 
 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
 
-	acl-permissions: port to older AIX, C89 HP-UX
+	acl-permissions: port to AIX, C89 HP-UX
+	Problems reported by Michael Felt.
+	* lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
+	* lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
+	* lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
+	* lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
+	Add cast for AIX, whose system calls are declared to accept
+	char * even though the arguments are really char const *.
 	* lib/get-permissions.c (get_permissions):
 	If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
 	If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
-	that broke a build, reported by Michael Felt.
+	that broke a build.
+	* lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
+	Rework types to pacify xlc.
 
 2015-06-03  Pádraig Brady  <P@draigBrady.com>
 
--- a/lib/file-has-acl.c
+++ b/lib/file-has-acl.c
@@ -457,7 +457,7 @@
 
       union { struct acl a; char room[4096]; } u;
 
-      if (statacl (name, STX_NORMAL, &u.a, sizeof (u)) < 0)
+      if (statacl ((char *) name, STX_NORMAL, &u.a, sizeof (u)) < 0)
         return -1;
 
       return acl_nontrivial (&u.a);
--- a/lib/mountlist.c
+++ b/lib/mountlist.c
@@ -970,18 +970,20 @@
 #ifdef MOUNTED_VMOUNT           /* AIX.  */
   {
     int bufsize;
-    char *entries, *thisent;
+    void *entries;
+    char *thisent;
     struct vmount *vmp;
     int n_entries;
     int i;
 
     /* Ask how many bytes to allocate for the mounted file system info.  */
-    if (mntctl (MCTL_QUERY, sizeof bufsize, (struct vmount *) &bufsize) != 0)
+    entries = &bufsize;
+    if (mntctl (MCTL_QUERY, sizeof bufsize, entries) != 0)
       return NULL;
     entries = xmalloc (bufsize);
 
     /* Get the list of mounted file systems.  */
-    n_entries = mntctl (MCTL_QUERY, bufsize, (struct vmount *) entries);
+    n_entries = mntctl (MCTL_QUERY, bufsize, entries);
     if (n_entries < 0)
       {
         int saved_errno = errno;
--- a/lib/readutmp.c
+++ b/lib/readutmp.c
@@ -97,7 +97,7 @@
      Solaris' utmpname returns 1 upon success -- which is contrary
      to what the GNU libc version does.  In addition, older GNU libc
      versions are actually void.   */
-  UTMP_NAME_FUNCTION (file);
+  UTMP_NAME_FUNCTION ((char *) file);
 
   SET_UTMP_ENT ();
 
--- a/lib/set-permissions.c
+++ b/lib/set-permissions.c
@@ -699,7 +699,7 @@
       if (desc != -1)
 	ret = fchacl (desc, &ctx->u.a, ctx->u.a.acl_len);
       else
-	ret = chacl (name, &ctx->u.a, ctx->u.a.acl_len);
+	ret = chacl ((char *) name, &ctx->u.a, ctx->u.a.acl_len);
       if (ret < 0)
 	{
 	  if (errno == ENOSYS && from_mode)