+ free(outp);
+ return nl;
+}
+
+void
+dayback(Widget unused, XtPointer client_data, XtPointer call_data)
+{
+ (void)unused;
+ Widget disp = (Widget) client_data;
+ XmListCallbackStruct *list_cbs = (XmListCallbackStruct *) call_data;
+ char *nl = getmenu(days[list_cbs->item_position - 1]);
+ char *oldtext = XmTextGetString(disp) ;
+ XmTextReplace((Widget) disp, 0, strlen(oldtext), nl);
+ free(nl);
+ free(oldtext);
+}
+
+// Convert an array of string to an array of compound strings
+XmStringTable ArgvToXmStringTable (int argc, char **argv)
+{
+ XmStringTable new =
+ (XmStringTable) XtMalloc ((argc+1) * sizeof (XmString));
+ if (!new)
+ return (XmStringTable) 0;
+ new[argc] = (XmString) 0;
+ while (--argc >= 0)
+ new[argc] = XmStringGenerate ((XtPointer) argv[argc], "tag2",
+ XmCHARSET_TEXT, NULL);
+ return new;
+}
+
+int
+main(int argc, char *argv[])
+{