]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/adouble/ad_flush.c
Symlink patch from Anton Starikov
[netatalk.git] / libatalk / adouble / ad_flush.c
index a938331521874ea4bb48969ad5aa5a61d7261ea7..e0325bd9c51d37377c51c6fcd554a087d92b5cce 100644 (file)
@@ -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);
     }