Index: /trunk/Ohana/src/opihi/cmd.basic/memory.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.basic/memory.c	(revision 3904)
+++ /trunk/Ohana/src/opihi/cmd.basic/memory.c	(revision 3905)
@@ -3,21 +3,17 @@
 int memory (int argc, char **argv) {
   
-# ifdef MEMMAP
-  struct mallinfo minfo;
+  if (argc < 2) goto usage;
 
-  minfo = mallinfo ();
+  if (!strcasecmp (argv[1], "all")) {
+    ohana_memdump (1);
+    return (TRUE);
+  }
+  if (!strcasecmp (argv[1], "leaks")) {
+    ohana_memdump (0);
+    return (TRUE);
+  }
 
-  fprintf (stderr, " arena: %d\n", minfo.arena);      /* total space in arena */
-  fprintf (stderr, " ordblks: %d\n", minfo.ordblks);    /* number of ordinary blocks */
-  fprintf (stderr, " smblks: %d\n", minfo.smblks);     /* number of small blocks */
-  fprintf (stderr, " hblkhd: %d\n", minfo.hblkhd);     /* space in holding block headers */
-  fprintf (stderr, " hblks: %d\n", minfo.hblks);      /* number of holding blocks */
-  fprintf (stderr, " usmblks: %d\n", minfo.usmblks);    /* space in small blocks in use */
-  fprintf (stderr, " fsmblks: %d\n", minfo.fsmblks);    /* space in free small blocks */
-  fprintf (stderr, " uordblks: %d\n", minfo.uordblks);   /* space in ordinary blocks in use */
-  fprintf (stderr, " fordblks: %d\n", minfo.fordblks);   /* space in free ordinary blocks */
-  fprintf (stderr, " keepcost: %d\n", minfo.keepcost);   /* space penalty if keep option is used */
-# endif
-
-  return (TRUE);
+usage:
+  fprintf (stderr, "USAGE: memory (all/leaks)\n");
+  return (FALSE);
 }
Index: /trunk/Ohana/src/opihi/cmd.basic/quit.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.basic/quit.c	(revision 3904)
+++ /trunk/Ohana/src/opihi/cmd.basic/quit.c	(revision 3905)
@@ -12,4 +12,5 @@
   } 
 
+  ohana_memdump (0);
   exit (state);
 
Index: /trunk/Ohana/src/opihi/lib.shell/opihi.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.shell/opihi.c	(revision 3904)
+++ /trunk/Ohana/src/opihi/lib.shell/opihi.c	(revision 3905)
@@ -32,4 +32,5 @@
     }
     Nbad = 0;
+    ohana_memregister (line);
 
     stripwhite (line);
