X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d417c51669be357fc2795eddfb0685c63ee1d630..1b411143e517b2f7baec66e8ffbffb3ded1dd04c:/lib/sysacls.c diff --git a/lib/sysacls.c b/lib/sysacls.c index e7d411ba..beb6d0c2 100644 --- a/lib/sysacls.c +++ b/lib/sysacls.c @@ -1100,7 +1100,7 @@ struct hpux_acl_types { * acl types. */ -static int hpux_count_obj(int acl_count, struct acl *aclp, struct hpux_acl_types *acl_type_count) +static void hpux_count_obj(int acl_count, struct acl *aclp, struct hpux_acl_types *acl_type_count) { int i; @@ -2239,7 +2239,7 @@ int sys_acl_get_info(SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T *tag_type_p, uint32 *b return -1; if (*tag_type_p == SMB_ACL_USER || *tag_type_p == SMB_ACL_GROUP) - *u_g_id_p = entry->ace_id->id_data; + memcpy(u_g_id_p, entry->ace_id->id_data, sizeof (id_t)); permset = &entry->ace_access; @@ -2452,7 +2452,7 @@ int sys_acl_set_file( const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl memcpy(acl_entry->ace_id->id_data, &user_id, sizeof(uid_t)); } - rc = chacl(name,file_acl,file_acl->acl_len); + rc = chacl((char*)name,file_acl,file_acl->acl_len); DEBUG(10,("errno is %d\n",errno)); DEBUG(10,("return code is %d\n",rc)); SAFE_FREE(file_acl); @@ -2616,7 +2616,7 @@ int sys_acl_get_info(SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T *tag_type_p, uint32 *b acl_flagset_t flagset; acl_permset_t permset; uint32 bits, fb, bb, pb; - int user_type = -1; + int id_type = -1; int rc; if (acl_get_tag_type(entry, &tag) != 0 @@ -2625,12 +2625,12 @@ int sys_acl_get_info(SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T *tag_type_p, uint32 *b || (uup = acl_get_qualifier(entry)) == NULL) return -1; - rc = mbr_uuid_to_id(*uup, u_g_id_p, &user_type); + rc = mbr_uuid_to_id(*uup, u_g_id_p, &id_type); acl_free(uup); if (rc != 0) return rc; - if (user_type == ID_TYPE_UID) + if (id_type == ID_TYPE_UID) *tag_type_p = SMB_ACL_USER; else *tag_type_p = SMB_ACL_GROUP; @@ -2685,7 +2685,6 @@ int sys_acl_set_info(SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T tag_type, uint32 bits, acl_add_flag_np(flagset, fb); } - /* Highest bit in "bits" is reserved for rsync's use. */ for (pb = (1u<<1), bb = (1u<<12); bb < (1u<<25); pb *= 2, bb *= 2) { if (bits & bb) acl_add_perm(permset, pb);