diff --git a/src/nwconn.c b/src/nwconn.c index 544f25b..3a81844 100644 --- a/src/nwconn.c +++ b/src/nwconn.c @@ -1255,14 +1255,15 @@ static int afp_set_file_information(uint8 *afp_req, int afp_len, if (data_off & 1) data_off++; if (request_mask & AFP_FILE_BITMAP_ATTRIBUTES) { uint16 requested_attrs = GET_BE16(afp_req + data_off); + uint16 requested_set_bits = requested_attrs & ~AFP_ATTR_SETCLR; log_attrs = requested_attrs; - if (requested_bits & AFP_ATTR_ARCHIVE) { + if (requested_set_bits & AFP_ATTR_ARCHIVE) { result = afp_set_netware_archive_attribute(path_volume, unixname, &stbuff, requested_attrs); if (result < 0) return(result); } - if (requested_bits & AFP_ATTR_XATTR_MASK) { + if (requested_set_bits & AFP_ATTR_XATTR_MASK) { uint16 xattr_attrs = requested_attrs & (AFP_ATTR_SETCLR | AFP_ATTR_XATTR_MASK); result = nwatalk_set_afp_attributes(unixname, xattr_attrs); if (result < 0)