]> arthur.barton.de Git - netatalk.git/commitdiff
Don't flush adouble if adcnid == 0
authorFrank Lahm <franklahm@googlemail.com>
Mon, 2 Apr 2012 12:21:46 +0000 (14:21 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Mon, 2 Apr 2012 12:21:46 +0000 (14:21 +0200)
etc/afpd/file.c

index c24d296b2f1049c76c6407267d6410847e7564cb..d06d4684e40ef2750b024c5449ad61cff32b71ab 100644 (file)
@@ -259,12 +259,13 @@ restart:
                 goto exit;
             }
         }
-        else if (adp && (adcnid != dbcnid)) { /* 4 */
+        else if (adp && adcnid && (adcnid != dbcnid)) { /* 4 */
             /* Update the ressource fork. For a folder adp is always null */
             LOG(log_debug, logtype_afpd, "get_id(%s/%s): calling ad_setid(old: %u, new: %u)",
                 getcwdpath(), upath, htonl(adcnid), htonl(dbcnid));
             if (ad_setid(adp, st->st_dev, st->st_ino, dbcnid, did, vol->v_stamp)) {
-                ad_flush(adp);
+                if (ad_flush(adp) != 0)
+                    LOG(log_error, logtype_afpd, "get_id(\"%s\"): can't flush", fullpathname(upath));
             }
         }
     }