/*
- * $Id: ad_flush.c,v 1.11 2009-09-14 10:04:16 franklahm 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.
}
-int ad_flush( ad )
- struct adouble *ad;
+int ad_flush( struct adouble *ad)
{
int len;
}
/* use refcounts so that we don't have to re-establish fcntl locks. */
-int ad_close( ad, adflags )
- struct adouble *ad;
- int adflags;
+int ad_close( struct adouble *ad, int adflags)
{
int err = 0;
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);
}