(void)dir_remove(vol, cacheddir);
}
+ /* Fixup adouble info */
+ if (!ad_metadata(upath, adflags, adp)) {
+ ad_setid(adp, st->st_dev, st->st_ino, id, curdir->d_did, vol->v_stamp);
+ ad_flush(adp);
+ ad_close_metadata(adp);
+ }
+
/* fix up the catalog entry */
cnid_update(vol->v_cdb, id, st, curdir->d_did, upath, strlen(upath));
}
rc = deletefile(vol, -1, upath, 1);
struct dir *cachedfile;
- if ((cachedfile = dircache_search_by_name(vol, dir, upath, strlen(upath), s_path->st.st_ctime))) {
+ if ((cachedfile = dircache_search_by_name(vol, dir, upath, strlen(upath)))) {
dircache_remove(vol, cachedfile, DIRCACHE | DIDNAME_INDEX | QUEUE_INDEX);
dir_free(cachedfile);
}
}
}
if ( rc == AFP_OK ) {
- curdir->offcnt--;
+ curdir->d_offcnt--;
setvoltime(obj, vol );
}
rc = AFPERR_PARAM;
goto exit;
}
- curdir->offcnt++;
- sdir->offcnt--;
+ curdir->d_offcnt++;
+ sdir->d_offcnt--;
#ifdef DROPKLUDGE
if (vol->v_flags & AFPVOL_DROPBOX) {
/* FIXME did is not always the source id */