Index: trunk/Ohana/src/opihi/lib.shell/command.c
===================================================================
--- trunk/Ohana/src/opihi/lib.shell/command.c	(revision 7917)
+++ trunk/Ohana/src/opihi/lib.shell/command.c	(revision 7938)
@@ -1,6 +1,6 @@
 # include "opihi.h"
-# define VERBOSE 0
+# define DEBUG 0
 
-int command (char *line, char **outline) {
+int command (char *line, char **outline, int VERBOSE) {
 
   int i, status, argc;
@@ -26,4 +26,8 @@
   *outline = line;
   
+  # if (DEBUG) 
+  fprintf (stderr, "line: %s\n", line);
+  # endif
+
   argv = parse_commands (line, &argc);
   if (argc == 0) return (TRUE);  /* empty command or assignment */
@@ -33,7 +37,7 @@
   for (i = 0; i < argc; i++) targv[i] = argv[i];
 
-  cmd = MatchCommand (argv[0], TRUE, FALSE);
+  cmd = MatchCommand (argv[0], VERBOSE, FALSE);
   if (cmd == NULL) {
-    status = FALSE;
+    status = -1;
   } else {
     free (argv[0]);
@@ -53,5 +57,16 @@
 
   set_int_variable ("STATUS", status);
-  if (VERBOSE) gprint (GP_ERR, "command: %s, status: %d\n", line, status);
+
+  # if (DEBUG) 
+  gprint (GP_ERR, "command: %s, status: %d\n", line, status);
+  # endif
+
   return (status);
 }
+
+/* parse the input line, search for the corresponding command, and execute it
+   if no match is found, return -1; this is used above to distinguish between
+   a command error and an unknown command.  if VERBOSE is true, unknown commands
+   result in an error message.  The input line is freed and the resulting parsed
+   line is returned on 'outline'
+*/
