r90: Convert MPI structure to C++ class
[ctsim.git] / include / imagefile.h
index 3c1bb9a8ef87fec8fb4b17809350298b4f2fff32..19f5db07354362fba69b22bf48c313f93981af0c 100644 (file)
@@ -233,6 +233,7 @@ template<class T>
 Array2dFile<T>::~Array2dFile (void)
 {
     fileClose ();
+    delete array;
 }
 
 
@@ -240,11 +241,10 @@ template<class T>
 void
 Array2dFile<T>::fileClose (void)
 {
-  headerWrite ();
-  if (file_id >= 0 && array != NULL) {
-    arrayDataWrite ();
-    close (file_id);
-    file_id = -1;
+  if (file_id >= 0) {
+      headerWrite ();
+      close (file_id);
+      file_id = -1;
   }
 }
 
@@ -434,7 +434,7 @@ Array2dFile<T>::arrayDataWrite (void)
   for (unsigned int ix = 0; ix < mNX; ix++)
       for (unsigned int iy = 0; iy < mNY; iy++) {
          T value = array->array_data[ix][iy];
-         ConvertNetworkOrder (&value, sizeof(T));
+         ConvertReverseNetworkOrder (&value, sizeof(T));
          write (file_id, &value, mPixelSize);
       }
 
@@ -455,7 +455,7 @@ Array2dFile<T>::arrayDataRead (void)
   for (int ix = 0; ix < mNX; ix++) 
       for (unsigned int iy = 0; iy < mNY; iy++) {
          read (file_id, &pixelBuffer, mPixelSize);
-         ConvertNetworkOrder (&pixelBuffer, sizeof(T));
+         ConvertReverseNetworkOrder (&pixelBuffer, sizeof(T));
          array->array_data[ix][iy] = pixelBuffer;
       }