Index: /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/Makefile
===================================================================
--- /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/Makefile	(revision 42517)
+++ /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/Makefile	(revision 42518)
@@ -136,4 +136,5 @@
 $(SRC)/queuepop.$(ARCH).o	\
 $(SRC)/queueprint.$(ARCH).o	\
+$(SRC)/queuesave.$(ARCH).o	\
 $(SRC)/queuesubstr.$(ARCH).o	\
 $(SRC)/queueinit.$(ARCH).o	\
Index: /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/init.c
===================================================================
--- /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/init.c	(revision 42517)
+++ /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/init.c	(revision 42518)
@@ -123,4 +123,5 @@
 int queueprint       PROTO((int, char **));
 int queuepush        PROTO((int, char **));
+int queuesave        PROTO((int, char **));
 int queuesubstr      PROTO((int, char **));
 int queuesize        PROTO((int, char **));
@@ -335,4 +336,5 @@
   {1, "queueprint",   queueprint,       "print the contents of a queue"},
   {1, "queuepush",    queuepush,        "push value onto queue"},
+  {1, "queuesave",    queuesave,        "save the contents of a queue in a filex"},
   {1, "queuesize",    queuesize,        "show queue size"},
   {1, "queuesubstr",  queuesubstr,      "bulk replace strings in queue"},
Index: /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/queuesave.c
===================================================================
--- /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/queuesave.c	(revision 42518)
+++ /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/queuesave.c	(revision 42518)
@@ -0,0 +1,21 @@
+# include "data.h"
+
+int queuesave (int argc, char **argv) {
+  
+  Queue *queue;
+
+  if (argc != 3) {
+    gprint (GP_ERR, "USAGE: queuesave (name) (file)\n");
+    return (FALSE);
+  }
+
+  queue = FindQueue (argv[1]);
+  if (queue == NULL) {
+    gprint (GP_ERR, "ERROR: queue %s not found\n", argv[1]);
+    return (FALSE);
+  }
+
+  SaveQueue (queue, argv[2]);
+  return (TRUE);
+}
+
