X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=blobdiff_plain;f=libatalk%2Fadouble%2Fad_flush.c;h=e0325bd9c51d37377c51c6fcd554a087d92b5cce;hp=a938331521874ea4bb48969ad5aa5a61d7261ea7;hb=1b20936596f89b2706f1122ca2fabad6ffe00c98;hpb=edefad2f0703ed2f6a21025d615600ed18c83d18;ds=sidebyside diff --git a/libatalk/adouble/ad_flush.c b/libatalk/adouble/ad_flush.c index a9383315..e0325bd9 100644 --- a/libatalk/adouble/ad_flush.c +++ b/libatalk/adouble/ad_flush.c @@ -1,5 +1,5 @@ /* - * $Id: ad_flush.c,v 1.12 2009-10-13 22:55:37 didg Exp $ + * $Id: ad_flush.c,v 1.12.2.1 2010-01-02 10:22:33 franklahm Exp $ * * Copyright (c) 1990,1991 Regents of The University of Michigan. * All Rights Reserved. @@ -200,9 +200,14 @@ int ad_close( struct adouble *ad, int adflags) if (( adflags & ADFLAGS_DF ) && ad_data_fileno(ad) != -1 && !(--ad->ad_data_fork.adf_refcount)) { + if (ad->ad_data_fork.adf_syml!=0){ + free(ad->ad_data_fork.adf_syml); + ad->ad_data_fork.adf_syml=0; + }else{ if ( close( ad_data_fileno(ad) ) < 0 ) { err = -1; } + } ad_data_fileno(ad) = -1; adf_lock_free(&ad->ad_data_fork); }