]> arthur.barton.de Git - netatalk.git/commitdiff
SFM use the right mode for resource fork creation
authordidg <didg>
Thu, 12 Nov 2009 09:44:59 +0000 (09:44 +0000)
committerdidg <didg>
Thu, 12 Nov 2009 09:44:59 +0000 (09:44 +0000)
libatalk/adouble/ad_open.c

index 2e1d9d856e8e35d6558bcea877451b69accca218..b8312258528f5c3d8562c91708023f20329e6303 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ad_open.c,v 1.58 2009-11-12 09:39:46 didg Exp $
+ * $Id: ad_open.c,v 1.59 2009-11-12 09:44:59 didg Exp $
  *
  * Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
  * Copyright (c) 1990,1991 Regents of The University of Michigan.
@@ -1427,8 +1427,6 @@ sfm:
 
     ad_p = ad->ad_ops->ad_path( path, ADFLAGS_RF );
 
-    hoflags = (oflags & ~(O_RDONLY | O_WRONLY)) | O_RDWR;
-    ad->ad_resource_fork.adf_fd = open( ad_p, hoflags, admode );
     admode = mode;
     st_invalid = ad_mode_st(ad_p, &admode, &st_dir);
 
@@ -1436,6 +1434,9 @@ sfm:
         admode = mode;
     }
 
+    hoflags = (oflags & ~(O_RDONLY | O_WRONLY)) | O_RDWR;
+    ad->ad_resource_fork.adf_fd = open( ad_p, hoflags, admode );
+
     if (ad->ad_resource_fork.adf_fd < 0 ) {
         if ((errno == EACCES || errno == EROFS) && !(oflags & O_RDWR)) {
             hoflags = oflags;