diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-10-04 18:16:38 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-10-04 18:16:38 (GMT) |
commit | 308eb4daf4271a1052f67e46c874fdf9cf5bf1e6 (patch) | |
tree | f43da00878633d39d794ab43f652a2cf52254294 /tksao/fitsy++ | |
parent | 75c011ab3cea761212d11d5a15fe528fbbcdbcea (diff) | |
download | blt-308eb4daf4271a1052f67e46c874fdf9cf5bf1e6.zip blt-308eb4daf4271a1052f67e46c874fdf9cf5bf1e6.tar.gz blt-308eb4daf4271a1052f67e46c874fdf9cf5bf1e6.tar.bz2 |
track down memory leaks with getString
Diffstat (limited to 'tksao/fitsy++')
-rw-r--r-- | tksao/fitsy++/column.C | 9 | ||||
-rw-r--r-- | tksao/fitsy++/compress.C | 4 | ||||
-rw-r--r-- | tksao/fitsy++/hdu.C | 3 |
3 files changed, 9 insertions, 7 deletions
diff --git a/tksao/fitsy++/column.C b/tksao/fitsy++/column.C index 9603182..5766bf2 100644 --- a/tksao/fitsy++/column.C +++ b/tksao/fitsy++/column.C @@ -16,6 +16,7 @@ using namespace std; #include "column.h" #include "file.h" #include "head.h" +#include "util.h" FitsColumn::FitsColumn(FitsHead* head, int i, int off) { @@ -24,9 +25,9 @@ FitsColumn::FitsColumn(FitsHead* head, int i, int off) offset_ = off; type_ = ' '; - tform_ = head->getStringCopy(keycat("TFORM",i)); - ttype_ = head->getStringCopy(keycat("TTYPE",i)); - tunit_ = head->getStringCopy(keycat("TUNIT",i)); + tform_ = dupstr(head->getString(keycat("TFORM",i))); + ttype_ = dupstr(head->getString(keycat("TTYPE",i))); + tunit_ = dupstr(head->getString(keycat("TUNIT",i))); tscal_ = head->getReal(keycat("TSCAL",i), 1); tzero_ = head->getReal(keycat("TZERO",i), 0); hastnull_ = head->find(keycat("TNULL",i)) ? 1:0; @@ -183,7 +184,7 @@ template <> Vector FitsAsciiColumnT<double>::dimension() FitsBinColumn::FitsBinColumn(FitsHead* head, int i, int offset) : FitsColumn(head, i, offset) { - tdisp_ = head->getStringCopy(keycat("TDISP",i)); + tdisp_ = dupstr(head->getString(keycat("TDISP",i))); repeat_ = 1; if (tform_) { diff --git a/tksao/fitsy++/compress.C b/tksao/fitsy++/compress.C index 425b4b1..8e980e1 100644 --- a/tksao/fitsy++/compress.C +++ b/tksao/fitsy++/compress.C @@ -10,7 +10,7 @@ FitsCompress::FitsCompress(FitsFile* fits) { bitpix_ = fits->getInteger("ZBITPIX",0); - type_ = fits->getStringCopy("ZCMPTYPE"); + type_ = dupstr(fits->getString("ZCMPTYPE")); // int naxes = fits->getInteger("ZNAXIS",0); width_ = fits->getInteger("ZNAXIS1",0); height_ = fits->getInteger("ZNAXIS2",0); @@ -23,7 +23,7 @@ FitsCompress::FitsCompress(FitsFile* fits) bscale_ = fits->getReal("ZSCALE",1); bzero_ = fits->getReal("ZZERO",0); blank_ = fits->getInteger("ZBLANK",0); - zmaskcmp_ = fits->getStringCopy("ZMASKCMP"); + zmaskcmp_ = dupstr(fits->getString("ZMASKCMP")); quantize_ = NODITHER; char keyword[] = "ZQUANTIZ"; diff --git a/tksao/fitsy++/hdu.C b/tksao/fitsy++/hdu.C index 7a1715b..a3e2153 100644 --- a/tksao/fitsy++/hdu.C +++ b/tksao/fitsy++/hdu.C @@ -13,10 +13,11 @@ using namespace std; #include "hdu.h" #include "head.h" +#include "util.h" FitsHDU::FitsHDU(FitsHead* head) { - extname_ = head->getStringCopy("EXTNAME"); + extname_ = dupstr(head->getString("EXTNAME")); // trim any spaces at end if (extname_) { for (int ii=strlen(extname_)-1; ii>=0; ii--) { |