Index: trunk/Ohana/src/imregister/imreg/delete.c
===================================================================
--- trunk/Ohana/src/imregister/imreg/delete.c	(revision 70)
+++ trunk/Ohana/src/imregister/imreg/delete.c	(revision 2823)
@@ -5,5 +5,5 @@
 
   int i, j;
-  int *keep, Nbad, Nimage, Nsubset;
+  int *keep, Ndel, Nimage, Nsubset;
   RegImage *image, *subset;
 
@@ -14,14 +14,21 @@
   fprintf (stderr, "total of %d images\n", Nimage);
 
-  Nbad = 0;
+  Ndel = 0;
   for (i = 0; i < Nmatch; i++) {
     j = match[i];
     if (j == -1) continue;
     keep[j] = FALSE;
-    Nbad ++;
+    Ndel ++;
   }
-  fprintf (stderr, "delete %d images\n", Nbad);
+  fprintf (stderr, "delete %d images\n", Ndel);
 
-  Nsubset = Nimage - Nbad;
+  if (Ndel == 0) { 
+    fprintf (stderr, "SUCCESS\n");
+    close_db ();
+    exit (0);
+  }
+
+  /* create new data list */
+  Nsubset = Nimage - Ndel;
   ALLOCATE (subset, RegImage, MAX (1, Nsubset));
   fprintf (stderr, "keeping %d images\n", Nsubset);
@@ -29,9 +36,9 @@
     if (!keep[i]) continue;
     subset[j] = image[i];
-    /* this or memcpy ? */
     j++;
   }
 
   free (keep);
+  free (image);
   set_images (subset, Nsubset);
 
