Index: trunk/Ohana/src/opihi/cmd.basic/echo.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.basic/echo.c	(revision 31856)
+++ trunk/Ohana/src/opihi/cmd.basic/echo.c	(revision 32346)
@@ -3,5 +3,11 @@
 int echo (int argc, char **argv) {
   
-  int i;
+  int i, N, RETURN_CHAR;
+
+  RETURN_CHAR = TRUE;
+  if ((N = get_argument (argc, argv, "-no-return"))) {
+    remove_argument (N, &argc, argv);
+    RETURN_CHAR = FALSE;
+  }
 
   for (i = 1; i < argc - 1; i++) {
@@ -9,5 +15,9 @@
   }
   if (argc >= 2) {
+    if (RETURN_CHAR) {
       gprint (GP_LOG, "%s\n", argv[argc - 1]);
+    } else {
+      gprint (GP_LOG, "%s", argv[argc - 1]);
+    }
   }
   return (TRUE);
Index: trunk/Ohana/src/opihi/cmd.data/plot.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/plot.c	(revision 31856)
+++ trunk/Ohana/src/opihi/cmd.data/plot.c	(revision 32346)
@@ -53,4 +53,9 @@
     return (FALSE);
   }
+  if (dypvec && (dypvec->Nelements != xvec->Nelements)) goto mismatch;
+  if (dymvec && (dymvec->Nelements != xvec->Nelements)) goto mismatch;
+  if (dxpvec && (dxpvec->Nelements != xvec->Nelements)) goto mismatch;
+  if (dxmvec && (dxmvec->Nelements != xvec->Nelements)) goto mismatch;
+
   Npts = xvec[0].Nelements;
   if (Npts == 0) return (TRUE);
@@ -69,3 +74,7 @@
   }
   return (TRUE);
+
+mismatch:
+  gprint (GP_ERR, "error and data vector lengths are mismatched\n");
+  return (FALSE);
 }
