char *map = MAP_FAILED;
size_t maplen;
uint16_t i;
+ ssize_t len;
int saved_errno = 0;
NTSTATUS status;
int rc;
}
ad_setentrylen(ad, ADEID_FINDERI, ADEDLEN_FINDERI);
+
+ ok = ad_pack(ad);
+ if (!ok) {
+ DBG_WARNING("ad_pack [%s] failed\n", smb_fname->base_name);
+ goto fail;
+ }
+
+ len = sys_pwrite(ad->ad_fd, ad->ad_data, AD_DATASZ_DOT_UND, 0);
+ if (len != AD_DATASZ_DOT_UND) {
+ DBG_ERR("%s: bad size: %zd\n", smb_fname->base_name, len);
+ ok = false;
+ goto fail;
+ }
+
ok = true;
fail:
{
char *map = MAP_FAILED;
size_t maplen;
+ ssize_t len;
int rc;
+ bool ok;
if (ad_getentrylen(ad, ADEID_RFORK) == 0) {
return true;
ad_setentryoff(ad, ADEID_RFORK, ADEDOFF_RFORK_DOT_UND);
+ ok = ad_pack(ad);
+ if (!ok) {
+ DBG_WARNING("ad_pack [%s] failed\n", smb_fname->base_name);
+ return false;
+ }
+
+ len = sys_pwrite(ad->ad_fd, ad->ad_data, AD_DATASZ_DOT_UND, 0);
+ if (len != AD_DATASZ_DOT_UND) {
+ DBG_ERR("%s: bad size: %zd\n", smb_fname->base_name, len);
+ return false;
+ }
+
return true;
}
static int ad_convert(struct adouble *ad,
const struct smb_filename *smb_fname)
{
- ssize_t len;
bool ok;
if (ad_getentrylen(ad, ADEID_FINDERI) == ADEDLEN_FINDERI) {
return -1;
}
- ok = ad_pack(ad);
- if (!ok) {
- DBG_WARNING("ad_pack [%s] failed\n", smb_fname->base_name);
- return -1;
- }
-
- len = sys_pwrite(ad->ad_fd, ad->ad_data, AD_DATASZ_DOT_UND, 0);
- if (len != AD_DATASZ_DOT_UND) {
- DBG_ERR("%s: bad size: %zd\n", smb_fname->base_name, len);
- return -1;
- }
-
ok = ad_convert_finderinfo(ad, smb_fname);
if (!ok) {
DBG_ERR("Failed to convert [%s]\n",