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>
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);
#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;
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 ();
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)