Index: branches/eam_branches/ipp-20120405/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c
===================================================================
--- branches/eam_branches/ipp-20120405/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c	(revision 33903)
+++ branches/eam_branches/ipp-20120405/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c	(revision 33904)
@@ -92,4 +92,6 @@
       }
       
+      fclose (fout);
+
       // update header of output catalog
       long long last_size;
Index: branches/eam_branches/ipp-20120405/Ohana/src/dvomerge/src/dvoverify.c
===================================================================
--- branches/eam_branches/ipp-20120405/Ohana/src/dvomerge/src/dvoverify.c	(revision 33903)
+++ branches/eam_branches/ipp-20120405/Ohana/src/dvomerge/src/dvoverify.c	(revision 33904)
@@ -44,4 +44,37 @@
     CHECKSORTED = TRUE;
     remove_argument (N, &argc, argv);
+  }
+
+  if ((N = get_argument (argc, argv, "-cpt"))) {
+    remove_argument (N, &argc, argv);
+    char *filename = strcreate (argv[N]);
+    remove_argument (N, &argc, argv);
+
+    int isBad = FALSE;
+
+    if (!VerifyTableFile (filename)) {
+      fprintf (stderr, "bad average table %s\n", filename);
+      isBad = TRUE;
+    }
+
+    // change last 't' to 's':
+    int Nlast;
+    Nlast = strlen(filename) - 1;
+    filename[Nlast] = 's';
+    if (!VerifyTableFile (filename)) {
+      fprintf (stderr, "bad secfilt table %s\n", filename);
+      isBad = TRUE;
+    }
+
+    // change last 't' to 's':
+    Nlast = strlen(filename) - 1;
+    filename[Nlast] = 'm';
+    if (!VerifyTableFile (filename)) {
+      fprintf (stderr, "bad measure table %s\n", filename);
+      isBad = TRUE;
+    }
+
+    if (isBad) exit (1);
+    exit (0);
   }
 
