diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/main.c b/main.c index 1d4577f..713fcae 100644 --- a/main.c +++ b/main.c @@ -14,8 +14,8 @@ _print_gemlog(struct gemlog_entry **list) char timestamp[50]; for (i = 0; list[i] != NULL; i++) { - strftime(timestamp, sizeof(timestamp), "%F: ", &(list[i]->date)); - printf("%s%s\n", timestamp, list[i]->title); + strftime(timestamp, sizeof(timestamp), "%F", &(list[i]->date)); + printf("%s %d: %s\n", timestamp, list[i]->date.tm_hour, list[i]->title); } } @@ -23,35 +23,29 @@ int main(int argc, char *argv[]) { struct gemlog_entry **log; - int aflag; - int hflag; + char *aflag; + char *hflag; int ch; - aflag = 0; - hflag = 0; + aflag = NULL; + hflag = NULL; - while ((ch = getopt(argc, argv, "ah")) != -1) { + while ((ch = getopt(argc, argv, "a:h:")) != -1) { switch (ch) { case 'a': - aflag = 1; + aflag = optarg; break; case 'h': - hflag = 1; + hflag = optarg; break; default: - fprintf(stderr, "Usage: %s <-a | -h> <path>\n", argv[0]); + fprintf(stderr, "Usage: %s [-a file] [-h path] path\n", argv[0]); return 1; } } - if (aflag && hflag) - errx(1, "can't have -a and -h used simultaneously"); - if (!aflag && !hflag) { - fprintf(stderr, "Usage: %s <-a | -h> <path>\n", argv[0]); - return 1; - } if (optind >= argc) { - fprintf(stderr, "Usage: %s <-a | -h> <path>\n", argv[0]); + fprintf(stderr, "Usage: %s [-a file] [-h path] path\n", argv[0]); return 1; } @@ -59,7 +53,17 @@ main(int argc, char *argv[]) if (log == NULL) err(1, "gemlog_readdir"); - _print_gemlog(log); + if (!aflag && !hflag) + _print_gemlog(log); + +// if (aflag) { +// if (gemlog_write_atom(log, aflag) == -1) +// err(1, "gemlog_write_atom"); +// } + if (hflag) { + if (gemlog_write_html(log, hflag) == -1) + err(1, "gemlog_write_html"); + } gemlog_entry_list_free(log); return 0; |