Index: trunk/Ohana/src/opihi/pcontrol/JobOps.c
===================================================================
--- trunk/Ohana/src/opihi/pcontrol/JobOps.c	(revision 18098)
+++ trunk/Ohana/src/opihi/pcontrol/JobOps.c	(revision 20047)
@@ -175,4 +175,24 @@
 }
 
+int InitJobOutput (JobOutput *output) {
+
+  output[0].size = 0;
+  output[0].requested = FALSE;
+  output[0].completed = FALSE;
+  InitIOBuffer (&output[0].buffer, 0x1000);
+
+  return TRUE;
+}
+
+int ResetJobOutput (JobOutput *output) {
+
+  output[0].size = 0;
+  output[0].requested = FALSE;
+  output[0].completed = FALSE;
+  FlushIOBuffer (&output[0].buffer);
+
+  return TRUE;
+}
+
 IDtype AddJob (char *hostname, JobMode mode, int timeout, int argc, char **argv) {
 
@@ -189,6 +209,7 @@
   job[0].exit_status = 0;
   job[0].Reset    = FALSE;
-  job[0].stdout_size = 0;
-  job[0].stderr_size = 0;
+
+  InitJobOutput (&job[0].stdout);
+  InitJobOutput (&job[0].stderr);
 
   job[0].mode     = mode;
@@ -196,8 +217,4 @@
   job[0].state = 0;
   job[0].stack = 0;
-
-  /* do this step on start? */
-  InitIOBuffer (&job[0].stdout_buff, 0x1000);
-  InitIOBuffer (&job[0].stderr_buff, 0x1000);
 
   job[0].dtime = 0.0;
@@ -233,6 +250,6 @@
   FREE (job[0].argv);
 
-  FreeIOBuffer (&job[0].stdout_buff);
-  FreeIOBuffer (&job[0].stderr_buff);
+  FreeIOBuffer (&job[0].stdout.buffer);
+  FreeIOBuffer (&job[0].stderr.buffer);
 
   FREE (job);
