]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/adouble/ad_open.c
Fix error in ad_openat(), bug #532
[netatalk.git] / libatalk / adouble / ad_open.c
index 06c3c71e49a7cfaca6ada37276237d0a4ae66f4f..b333f8cdcfb2b37f1f717df1f76ead317a2a62b2 100644 (file)
@@ -1897,10 +1897,12 @@ int ad_openat(struct adouble  *ad,
     mode_t mode = 0;
 
     if (dirfd != -1) {
-        if ((cwdfd = open(".", O_RDONLY) == -1) || (fchdir(dirfd) != 0))
+        if (((cwdfd = open(".", O_RDONLY)) == -1) || (fchdir(dirfd) != 0))
             EC_FAIL;
     }
 
+    LOG(log_note, logtype_ad, "ad_openat: cwdfd: %d", cwdfd);
+
     va_start(args, adflags);
     if (adflags & ADFLAGS_CREATE)
         mode = (sizeof(mode_t) < sizeof(int) ? va_arg (args, int) : va_arg (args, mode_t));
@@ -1908,6 +1910,8 @@ int ad_openat(struct adouble  *ad,
 
     EC_NEG1( ad_open(ad, path, adflags, mode) );
 
+    LOG(log_note, logtype_ad, "ad_openat: cwdfd: %d", cwdfd);
+
     if (dirfd != -1) {
         if (fchdir(cwdfd) != 0) {
             AFP_PANIC("ad_openat: cant chdir back");