Index: /trunk/Ohana/src/libohana/src/ohana_allocate.c
===================================================================
--- /trunk/Ohana/src/libohana/src/ohana_allocate.c	(revision 3905)
+++ /trunk/Ohana/src/libohana/src/ohana_allocate.c	(revision 3906)
@@ -143,6 +143,6 @@
 void ohana_memdump_func (int allmemory) {
 
-  int i;
-  char state;
+  int i, Ns[3], N;
+  char S[3];
 
   if (Nmemlist == 0) {
@@ -151,10 +151,18 @@
   }
 
+  S[0] = 'A';
+  S[1] = 'R';
+  S[2] = 'F';
+  Ns[0] = Ns[1] = Ns[2] = 0;
+
   for (i = 0; i < Nmemlist; i++) {
+    if (memlist[i].state == STATE_ALLOC)   N = 0;
+    if (memlist[i].state == STATE_REALLOC) N = 1;
+    if (memlist[i].state == STATE_FREE)    N = 2;
+    Ns[N] ++;
     if ((allmemory == 0) && (memlist[i].state == STATE_FREE)) continue;
-    if (memlist[i].state == STATE_ALLOC)   state = 'A';
-    if (memlist[i].state == STATE_REALLOC) state = 'R';
-    if (memlist[i].state == STATE_FREE)    state = 'F';
-    fprintf (stderr, "%c %s %d\n", state, memlist[i].file, memlist[i].line);
+    fprintf (stderr, "%3d %c %s %d\n", Ns[N], S[N], memlist[i].file, memlist[i].line);
   }
+  fprintf (stderr, "Nused: %d (Nalloc: %d, Nrealloc: %d), Nfree: %d\n", 
+	   Ns[0]+Ns[1], Ns[0], Ns[1], Ns[2]);
 }
