From: franklahm Date: Wed, 6 Jan 2010 12:59:10 +0000 (+0000) Subject: Forgot test for noadbouble vol in ad_metadata in previous commit X-Git-Tag: branch-dircache-rewrite-start~27 X-Git-Url: https://arthur.barton.de/gitweb/?p=netatalk.git;a=commitdiff_plain;h=f24a6de41b8e6a6adfb1072558fb274e6a1c284f Forgot test for noadbouble vol in ad_metadata in previous commit --- diff --git a/libatalk/adouble/ad_open.c b/libatalk/adouble/ad_open.c index 5531091a..76f2442c 100644 --- a/libatalk/adouble/ad_open.c +++ b/libatalk/adouble/ad_open.c @@ -1,5 +1,5 @@ /* - * $Id: ad_open.c,v 1.66 2010-01-06 11:08:53 franklahm Exp $ + * $Id: ad_open.c,v 1.67 2010-01-06 12:59:10 franklahm Exp $ * * Copyright (c) 1999 Adrian Sun (asun@u.washington.edu) * Copyright (c) 1990,1991 Regents of The University of Michigan. @@ -1520,10 +1520,14 @@ sfm: int ad_metadata(const char *name, int flags, struct adouble *adp) { uid_t uid; - int ret, err, dir, create; + int ret, err, dir; + int create = 0; dir = flags & ADFLAGS_DIR; - create = (flags & ADFLAGS_CREATE) ? O_CREAT : 0; + + /* Check if we shall call ad_open with O_CREAT */ + if ( ! (adp->ad_options & ADVOL_NOADOUBLE) && (flags & ADFLAGS_CREATE) ) + create = O_CREAT; if ((ret = ad_open(name, ADFLAGS_HF | dir, O_RDWR | create, 0666, adp)) < 0 && errno == EACCES) { uid = geteuid();