From a2cd656268b0ff5ecc26819a82f48d7c0dc66c1d Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Tue, 31 Aug 2004 18:13:56 +0000 Subject: [PATCH] handle array allocation properly when link connects --- src/rec/compressRecord.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/rec/compressRecord.c b/src/rec/compressRecord.c index b178f866b..e73acf3f2 100644 --- a/src/rec/compressRecord.c +++ b/src/rec/compressRecord.c @@ -300,6 +300,7 @@ static long init_record(pcompress,pass) if (pcompress->alg == compressALG_Average){ pcompress->sptr = (double *)calloc(pcompress->nsam,sizeof(double)); } + reset(pcompress); } return(0); } @@ -318,10 +319,12 @@ static long process(pcompress) recGblSetSevr(pcompress,LINK_ALARM,INVALID_ALARM); } else { if(!pcompress->wptr || nelements!=pcompress->inpn) { - free(pcompress->wptr); + if(pcompress->wptr) { + free(pcompress->wptr); + reset(pcompress); + } pcompress->wptr = (double *)dbCalloc(nelements,sizeof(double)); pcompress->inpn = nelements; - reset(pcompress); } status = dbGetLink(&pcompress->inp,DBF_DOUBLE,pcompress->wptr,0,&nelements); if(status || nelements<=0) {