X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libatalk%2Fadouble%2Fad_read.c;h=852a6e963b94f964e3b47d1ea8b67df6cac0717e;hb=3a84db87064922ad10ac10cc1d6833380e575995;hp=5766ad9d8fec0b5dea430c008b5792fa68e28af6;hpb=172700ab3cd0ec6839239a2b677b2aacd0e6ca1f;p=netatalk.git diff --git a/libatalk/adouble/ad_read.c b/libatalk/adouble/ad_read.c index 5766ad9d..852a6e96 100644 --- a/libatalk/adouble/ad_read.c +++ b/libatalk/adouble/ad_read.c @@ -62,7 +62,6 @@ ssize_t adf_pread(struct ad_fd *ad_fd, void *buf, size_t count, off_t offset) ssize_t ad_read( struct adouble *ad, const uint32_t eid, off_t off, char *buf, const size_t buflen) { ssize_t cc; - ssize_t rlen; off_t r_off = 0; /* We're either reading the data fork (and thus the data file) @@ -83,16 +82,14 @@ ssize_t ad_read( struct adouble *ad, const uint32_t eid, off_t off, char *buf, c /* resource fork is not open ( cf etc/afp/fork.c) */ return 0; - switch (ad->ad_vers) { - case AD_VERSION2: -#ifndef HAVE_EAFD - case AD_VERSION_EA: + if (ad->ad_vers == AD_VERSION_EA) { +#ifdef HAVE_EAFD + r_off = off; +#else + r_off = off + ADEDOFF_RFORK_OSX; #endif + } else { r_off = ad_getentryoff(ad, eid) + off; - break; - default: - r_off = 0; - break; } if (( cc = adf_pread( &ad->ad_resource_fork, buf, buflen, r_off )) < 0 )