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.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/main.c b/main.c
index 713fcae..fd0c64a 100644
--- a/main.c
+++ b/main.c
@@ -25,12 +25,14 @@ main(int argc, char *argv[])
 	struct gemlog_entry **log;
 	char *aflag;
 	char *hflag;
+	char *iflag;
 	int ch;
 
 	aflag = NULL;
 	hflag = NULL;
+	iflag = NULL;
 
-	while ((ch = getopt(argc, argv, "a:h:")) != -1) {
+	while ((ch = getopt(argc, argv, "a:h:i:")) != -1) {
 		switch (ch) {
 		case 'a':
 			aflag = optarg;
@@ -38,6 +40,9 @@ main(int argc, char *argv[])
 		case 'h':
 			hflag = optarg;
 			break;
+		case 'i':
+			iflag = optarg;
+			break;
 		default:
 			fprintf(stderr, "Usage: %s [-a file] [-h path] path\n", argv[0]);
 			return 1;
@@ -53,7 +58,7 @@ main(int argc, char *argv[])
 	if (log == NULL)
 		err(1, "gemlog_readdir");
 
-	if (!aflag && !hflag)
+	if (!aflag && !hflag && !iflag)
 		_print_gemlog(log);
 
 //	if (aflag) {
@@ -64,6 +69,10 @@ main(int argc, char *argv[])
 		if (gemlog_write_html(log, hflag) == -1)
 			err(1, "gemlog_write_html");
 	}
+	if (iflag) {
+		if (gemlog_write_index(log, iflag) == -1)
+			err(1, "gemlog_write_index");
+	}
 
 	gemlog_entry_list_free(log);
 	return 0;