return( AFPERR_PARAM );
}
- if ( ad_meta_fileno( ofork->of_ad ) != -1 ) { /* META */
+ if (AD_META_OPEN(ofork->of_ad))) {
if ( ad_refresh( ofork->of_ad ) < 0 ) {
LOG(log_error, logtype_afpd, "getforkparams(%s): ad_refresh: %s", of_name(ofork), strerror(errno) );
return( AFPERR_PARAM );
}
}
- if (AFP_OK != ( ret = getforkparams( ofork, bitmap,
- rbuf + sizeof( u_short ), &buflen ))) {
+ if (AFP_OK != (ret = getforkparams(ofork, bitmap, rbuf + sizeof( u_short ), &buflen ))) {
return( ret );
}
* adouble:ea -> ad_data_fork */
struct ad_fd *ad_mdp; /* adouble:v2 -> ad_resource_fork *
* adouble:ea -> ad_data_fork */
- int ad_flags; /* Our adouble version info (AD_VERSION*) */
+ int ad_vers; /* Our adouble version info (AD_VERSION*) */
int ad_adflags; /* ad_open flags adflags like ADFLAGS_DIR */
uint32_t ad_inited;
int ad_options;
#define ad_reso_fileno(ad) ((ad)->ad_rfp->adf_fd)
#define ad_meta_fileno(ad) ((ad)->ad_mdp->adf_fd)
+#define AD_DATA_OPEN(ad) ((ad)->ad_adflags & ADFLAGS_DF)
+#define AD_META_OPEN(ad) ((ad)->ad_adflags & ADFLAGS_HF)
+#define AD_RSRC_OPEN(ad) ((ad)->ad_adflags & ADFLAGS_RF)
+
#define ad_getversion(ad) ((ad)->ad_version)
#define ad_getentrylen(ad,eid) ((ad)->ad_eid[(eid)].ade_len)
{
int err = errno;
if ((adflags & ADFLAGS_NOHF)) { /* 1 */
- /* FIXME double check : set header offset ?*/
+ ad->ad_adflags &= ~ADFLAGS_HF;
return 0;
}
- if ((adflags & ADFLAGS_DF)) { /* 2 */
+ if ((adflags & ADFLAGS_DF) { /* 2 */
ad_close( ad, ADFLAGS_DF );
err = errno;
}