]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/adouble/ad_read.c
Fix ressource fork refcounting
[netatalk.git] / libatalk / adouble / ad_read.c
index 0da974fbff1dbbff4fd5fabc12f3c7225ecae337..852a6e963b94f964e3b47d1ea8b67df6cac0717e 100644 (file)
@@ -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)
@@ -85,9 +84,9 @@ ssize_t ad_read( struct adouble *ad, const uint32_t eid, off_t off, char *buf, c
 
         if (ad->ad_vers == AD_VERSION_EA) {
 #ifdef HAVE_EAFD
-            r_off = 0;
+            r_off = off;
 #else
-            r_off = ADEDOFF_RFORK_OSX;
+            r_off = off + ADEDOFF_RFORK_OSX;
 #endif
         } else {
             r_off = ad_getentryoff(ad, eid) + off;