Index: trunk/Ohana/src/opihi/pantasks/init.c
===================================================================
--- trunk/Ohana/src/opihi/pantasks/init.c	(revision 13541)
+++ trunk/Ohana/src/opihi/pantasks/init.c	(revision 16453)
@@ -2,11 +2,11 @@
 
 int controller      PROTO((int, char **));
-int task	    PROTO((int, char **));
-int task_host	    PROTO((int, char **));
-int task_nmax	    PROTO((int, char **));
+int task            PROTO((int, char **));
+int task_host       PROTO((int, char **));
+int task_nmax       PROTO((int, char **));
 int task_npending   PROTO((int, char **));
-int task_active	    PROTO((int, char **));
-int task_trange	    PROTO((int, char **));
-int task_macros	    PROTO((int, char **));
+int task_active     PROTO((int, char **));
+int task_trange     PROTO((int, char **));
+int task_macros     PROTO((int, char **));
 int task_command    PROTO((int, char **));
 int task_options    PROTO((int, char **));
@@ -28,30 +28,30 @@
 
 static Command cmds[] = {  
-  {"active",     task_active,  	"set the active state of a task"},
-  {"command",    task_command, 	"define executed command for a task"},
-  {"controller", controller,   	"controller commands"},
-  {"delete",     delete_job,   	"delete job"},
-  {"halt",       halt,         	"halt the scheduler (no job harvesting)"},
-  {"host",       task_host,    	"define host machine for a task"},
-  {"ipptool2book", ipptool2book, "convert queue with ipptool output to book"},
-  {"kill",       kill_job,     	"kill job"},
-  {"nmax",       task_nmax,    	"define maximum number of jobs for a task"},
-  {"npending",   task_npending, "define maximum number of outstanding jobs for a task"},
-  {"options",    task_options, 	"define optional variables associated with the job task"},
-  {"periods",    task_periods, 	"define time scales for a task"},
-  {"pulse",      pulse,        	"set the scheduler update period"},
-  {"run",        run,          	"run the scheduler"},
-  {"flush",      flush_jobs,    "flush all jobs from the queue"},
-  {"showtask",   showtask,   	"list a task"},
-  {"status",     status_sys,   	"get system or task status"},
-  {"stderr",     task_stderr,  	"define a file for the job stderr dump"},
-  {"stdout",     task_stdout,  	"define a file for the job stdout dump"},
-  {"stop",       stop,         	"stop the scheduler (continue job harvesting)"},
-  {"task",       task,         	"define a schedulable task"},
-  {"task.exec",  task_macros,  	"define pre-exec macro for a task"},
-  {"task.exit",  task_macros,  	"define exit macros for a task"},
-  {"trange",     task_trange,  	"define valid/invalid time periods for a task"},
-  {"verbose",    verbose,      	"set/toggle verbose mode"},
-  {"version",    version,      	"show version information"},
+  {1, "active",     task_active,   "set the active state of a task"},
+  {1, "command",    task_command,  "define executed command for a task"},
+  {1, "controller", controller,    "controller commands"},
+  {1, "delete",     delete_job,    "delete job"},
+  {1, "halt",       halt,          "halt the scheduler (no job harvesting)"},
+  {1, "host",       task_host,     "define host machine for a task"},
+  {1, "ipptool2book", ipptool2book, "convert queue with ipptool output to book"},
+  {1, "kill",       kill_job,      "kill job"},
+  {1, "nmax",       task_nmax,     "define maximum number of jobs for a task"},
+  {1, "npending",   task_npending, "define maximum number of outstanding jobs for a task"},
+  {1, "options",    task_options,  "define optional variables associated with the job task"},
+  {1, "periods",    task_periods,  "define time scales for a task"},
+  {1, "pulse",      pulse,         "set the scheduler update period"},
+  {1, "run",        run,           "run the scheduler"},
+  {1, "flush",      flush_jobs,    "flush all jobs from the queue"},
+  {1, "showtask",   showtask,      "list a task"},
+  {1, "status",     status_sys,    "get system or task status"},
+  {1, "stderr",     task_stderr,   "define a file for the job stderr dump"},
+  {1, "stdout",     task_stdout,   "define a file for the job stdout dump"},
+  {1, "stop",       stop,          "stop the scheduler (continue job harvesting)"},
+  {1, "task",       task,          "define a schedulable task"},
+  {1, "task.exec",  task_macros,   "define pre-exec macro for a task"},
+  {1, "task.exit",  task_macros,   "define exit macros for a task"},
+  {1, "trange",     task_trange,   "define valid/invalid time periods for a task"},
+  {1, "verbose",    verbose,       "set/toggle verbose mode"},
+  {1, "version",    version,       "show version information"},
 }; 
 
@@ -68,2 +68,8 @@
   }
 }
+
+void FreePantasks () {
+  FreeTasks ();
+  FreeJobs ();
+  FreeJobIDs ();
+}
