From 5c75269109e7ec435f859d524eb22d23d48883bf Mon Sep 17 00:00:00 2001 From: didg Date: Thu, 12 Nov 2009 09:44:59 +0000 Subject: [PATCH 1/1] SFM use the right mode for resource fork creation --- libatalk/adouble/ad_open.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libatalk/adouble/ad_open.c b/libatalk/adouble/ad_open.c index 2e1d9d85..b8312258 100644 --- a/libatalk/adouble/ad_open.c +++ b/libatalk/adouble/ad_open.c @@ -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; -- 2.39.2