/* Global data */
int PRINT = 0;
+int DAEMON = 0;
/* Local data */
char **calendars = NULL;
struct option long_options[] = {
{"help", 0, NULL, 'h'},
{"print", 2, NULL, 'p'},
+ {"daemon", 0, NULL, 'd'},
};
/* Usage */
printf("Options:\n");
printf(" -h, --help Print usage information\n");
printf(" -p, --print=[dw] Show upcomming events\n");
+ printf(" -d, --daemon Run in daemon mode\n");
}
/* Initialize */
match(optarg, "w") ? 7 :
match(optarg, "week") ? 7 : -1;
break;
+ case 'd':
+ DAEMON = 1;
+ break;
}
}
/* Validate arguments */
if (PRINT < 0)
error("Unknown print: %s\n", optarg);
+ if (PRINT && DAEMON)
+ error("Cannot print and run as daemon");
/* Load calendars */
for (int i = 0; calendars[i]; i++)