1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
static void
usage() {
fprintf(stderr, "mkevent \"contents\" Tomorrow | NUM NUM [NUM]\n");
exit(1);
}
int
main (int argc, char **argv) {
if (argc < 3)
usage();
time_t ut = time(NULL);
struct tm *t = localtime(&ut);
if ((strcmp(argv[2], "tomorrow") & strcmp(argv[2], "Tomorrow") & strcmp("Tom", argv[2])) == 0)
ut += 86400;
else {
char buf[256] = {0};
snprintf(buf, 256, "%s %s",
(argv[2]) ? argv[2] : "",
(argv[3]) ? argv[3] : "");
int day, month;
int ret = sscanf(buf, "%d %d", &day, &month);
t->tm_mday = day;
t->tm_mon = month - 1;
if (ret < 2) usage();
ut = mktime(t);
}
printf("%zu|%s\n", ut, argv[1]);
}
|