diff options
-rw-r--r-- | src/ioinfo.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/ioinfo.cc b/src/ioinfo.cc index 91e487d..36185ca 100644 --- a/src/ioinfo.cc +++ b/src/ioinfo.cc @@ -211,14 +211,12 @@ int main(int argc,char *argv[]){ j,attribname,Typename(datatype),length); if(cmdln.showattribmax || cmdln.showattribstats){ //printf("Length of Attribute=%u for total bytes=%u\n",length,IObase::sizeOf(datatype)); - void *dataptr; - dataptr=0; - if(IObase::sizeOf(datatype)>0 && length>0) - dataptr=new char[length * IObase::sizeOf(datatype)]; - else { + if(! (IObase::sizeOf(datatype)>0 && length>0)) + { //puts("no data to display"); continue; // no data to display } + void *const dataptr=new char[length * IObase::sizeOf(datatype)]; infile->readAttribute(j,dataptr); switch(datatype){ @@ -269,7 +267,7 @@ int main(int argc,char *argv[]){ break; } if(dataptr) - delete dataptr; + delete[] ((char *) dataptr); } } } |