summary refs log tree commit diff stats
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/main.c b/main.c
index fd0c64a..fb39b91 100644
--- a/main.c
+++ b/main.c
@@ -26,13 +26,15 @@ main(int argc, char *argv[])
 	char *aflag;
 	char *hflag;
 	char *iflag;
+	char *lflag;
 	int ch;
 
 	aflag = NULL;
 	hflag = NULL;
 	iflag = NULL;
+	lflag = NULL;
 
-	while ((ch = getopt(argc, argv, "a:h:i:")) != -1) {
+	while ((ch = getopt(argc, argv, "a:h:i:l:")) != -1) {
 		switch (ch) {
 		case 'a':
 			aflag = optarg;
@@ -43,14 +45,17 @@ main(int argc, char *argv[])
 		case 'i':
 			iflag = optarg;
 			break;
+		case 'l':
+			lflag = optarg;
+			break;
 		default:
-			fprintf(stderr, "Usage: %s [-a file] [-h path] path\n", argv[0]);
+			fprintf(stderr, "Usage: %s [-a file] [-h path] [-i file] [-l file] path\n", argv[0]);
 			return 1;
 		}
 	}
 
 	if (optind >= argc) {
-		fprintf(stderr, "Usage: %s [-a file] [-h path] path\n", argv[0]);
+		fprintf(stderr, "Usage: %s [-a file] [-h path] [-i file] [-l file] path\n", argv[0]);
 		return 1;
 	}
 
@@ -58,13 +63,13 @@ main(int argc, char *argv[])
 	if (log == NULL)
 		err(1, "gemlog_readdir");
 
-	if (!aflag && !hflag && !iflag)
+	if (!aflag && !hflag && !iflag && !lflag)
 		_print_gemlog(log);
 
-//	if (aflag) {
-//		if (gemlog_write_atom(log, aflag) == -1)
-//			err(1, "gemlog_write_atom");
-//	}
+	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");
@@ -73,6 +78,10 @@ main(int argc, char *argv[])
 		if (gemlog_write_index(log, iflag) == -1)
 			err(1, "gemlog_write_index");
 	}
+	if (lflag) {
+		if (gemlog_write_html_index(log, lflag) == -1)
+			err(1, "gemlog_write_html_index");
+	}
 
 	gemlog_entry_list_free(log);
 	return 0;