#include "validate.h"
#include "xml.h"
+#define CMD_VERSION "version"
+#define CMD_INIT "init"
+#define CMD_ADD "add"
+#define CMD_DATEADD "dateadd"
+#define CMD_MERGE "merge"
+
int main(const int argc, const char* argv[])
{
+ const char* program = argv[0];
if (argc < 2) {
- printf("ERROR: %s <init|add|dateadd|merge|version>\n", argv[0]);
+ printf("ERROR: %s <%s|%s|%s|%s|%s>\n",
+ program,
+ CMD_INIT,
+ CMD_ADD,
+ CMD_DATEADD,
+ CMD_MERGE,
+ CMD_VERSION);
return 1;
}
- if (strcmp(argv[1], "init") == 0) {
- if (argc == 2) {
- init_time_acount(0, 0);
+ const char* command = argv[1];
+ if (strcmp(command, CMD_VERSION) == 0) {
+ printf("Version: %s\n", PROJECT_VERSION);
+ return 0;
+ }
+
+ if (strcmp(command, CMD_INIT) == 0) {
+ if (argc > 2 && argc < 4) {
+ printf("ERROR: %s init [<salod_hour> <saldo_min>]\n", program);
+ return 1;
+ }
+
+ if (argc >= 4) {
+ const uint8_t hour = atoi(argv[2]);
+ const uint8_t min = atoi(argv[3]);
+ init_time_acount(hour, min);
return 0;
}
- if (argc < 4) {
- printf("ERROR: %s init [<salod_hour> <saldo_min>]\n", argv[0]);
+ init_time_acount(0, 0);
+ return 0;
+ }
+
+ if (strcmp(command, CMD_MERGE) == 0) {
+ if (argc < 3) {
+ printf("ERROR: %s merge <dir>\n", argv[0]);
return 1;
}
- init_time_acount(atoi(argv[2]), atoi(argv[3]));
+ const char* dir = argv[2];
+ merge(dir);
return 0;
}
- if (strcmp(argv[1], "add") == 0) {
+ if (strcmp(command, CMD_ADD) == 0) {
if (argc < 6) {
- printf("ERROR: %s add <begin_hours> <begin_minutes> <end_hours> <end_minutes>\n", argv[0]);
+ printf("ERROR: %s add <begin_hours> <begin_minutes> <end_hours> <end_minutes>\n", program);
return 1;
}
return 1;
}
- add_entry(NULL, atoi(argv[2]), atoi(argv[3]), atoi(argv[4]), atoi(argv[5]));
+ const uint8_t begin_hour = atoi(argv[2]);
+ const uint8_t begin_min = atoi(argv[3]);
+ const uint8_t end_hour = atoi(argv[4]);
+ const uint8_t end_min = atoi(argv[5]);
+ add_entry(NULL, begin_hour, begin_min, end_hour, end_min);
return 0;
}
- if (strcmp(argv[1], "dateadd") == 0) {
- if (argc < 6) {
- printf("ERROR: %s dateadd <yyyy-MM-dd> <begin_hours> <begin_minutes> <end_hours> <end_minutes>\n", argv[0]);
+ if (strcmp(command, CMD_DATEADD) == 0) {
+ if (argc < 7) {
+ printf("ERROR: %s dateadd <yyyy-MM-dd> <begin_hours> <begin_minutes> <end_hours> <end_minutes>\n", program);
return 1;
}
return 1;
}
- add_entry(argv[2], atoi(argv[3]), atoi(argv[4]), atoi(argv[5]), atoi(argv[6]));
- return 0;
- }
-
- if (strcmp(argv[1], "merge") == 0) {
- if (argc < 3) {
- printf("ERROR: %s merge <dir>\n", argv[0]);
- return 1;
- }
-
- merge(argv[2]);
- return 0;
- }
-
- if (strcmp(argv[1], "version") == 0) {
- printf("Version: %s\n", PROJECT_VERSION);
+ const char* date = argv[2];
+ const uint8_t begin_hour = atoi(argv[3]);
+ const uint8_t begin_min = atoi(argv[4]);
+ const uint8_t end_hour = atoi(argv[5]);
+ const uint8_t end_min = atoi(argv[6]);
+ add_entry(date, begin_hour, begin_min, end_hour, end_min);
return 0;
}