#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
+#include <string.h>
+#include <ctype.h>
#include <Xm/Xm.h>
#include <Xm/Text.h>
return new;
}
+char *
+strLower(char *inp)
+{
+ char *tmp = calloc(strlen(inp), sizeof(char));
+ strcpy(tmp, inp);
+ for (int i = 0; tmp[i]; i++){
+ tmp[i] = tolower(tmp[i]);
+ }
+ return tmp;
+}
+
int
main(int argc, char *argv[])
{
- if (argc > 1) {
- printf("Usage: %s\n", argv[0]);
+ // Parse CLI arguments
+ bool showUsage = false;
+ if (argc == 2) {
+ showUsage = true;
+ char *arg = strLower(argv[1]);
+
+ for (int i = 0; i < 5; i++) {
+ char *day = strLower(days[i]);
+
+ if (strcmp(day, arg) == 0) {
+ showUsage = false;
+ break;
+ }
+
+ free(day);
+ }
+ free(arg);
+ }
+
+ if (argc > 2 || showUsage) {
+ printf("Usage: %s [optional: day of the week]\n", argv[0]);
exit(3);
}
// Create text widget to display menu
n = 0;
- char *nl = getmenu("");
+ char *nl = getmenu((argv[1]) ? argv[1] : "");
XtSetArg(args[n], XmNvalue, nl); n++;
XtSetArg(args[n], XmNeditable, False); n++;
XtSetArg(args[n], XmNcolumns, 80); n++;