- if (ADFILE_OK) {
- if ( ! (dbd_flags & DBD_FLAGS_SCAN)) {
- dbd_log(LOGSTD, "Writing CNID data for '%s/%s' to AppleDouble file",
- cwdbuf, name, ntohl(db_cnid));
- ad_init_old(&ad, myvolinfo->v_adouble, myvolinfo->v_ad_options);
- if (ad_open(&ad, name, adflags | ADFLAGS_RDWR) != 0) {
- dbd_log(LOGSTD, "Error opening AppleDouble file for '%s/%s': %s",
- cwdbuf, name, strerror(errno));
- return CNID_INVALID;
- }
- ad_setid( &ad, st->st_dev, st->st_ino, db_cnid, did, stamp);
- ad_flush(&ad);
- ad_close(&ad, ADFLAGS_HF);
+ if (ADFILE_OK
+ && (volume.v_adouble == AD_VERSION2)
+ && ! (dbd_flags & DBD_FLAGS_SCAN)) {
+ dbd_log(LOGSTD, "Writing CNID data for '%s/%s' to AppleDouble file",
+ cwdbuf, name, ntohl(db_cnid));
+ ad_init(&ad, &volume);
+ if (ad_open(&ad, name, adflags | ADFLAGS_RDWR) != 0) {
+ dbd_log(LOGSTD, "Error opening AppleDouble file for '%s/%s': %s",
+ cwdbuf, name, strerror(errno));
+ return CNID_INVALID;