about summary refs log tree commit diff
path: root/mhdr.c
diff options
context:
space:
mode:
authorChristian Neukirchen <chneukirchen@gmail.com>2016-07-20 15:37:09 +0200
committerChristian Neukirchen <chneukirchen@gmail.com>2016-07-20 15:37:09 +0200
commit7e026ce08d03f2b392678159a89cac8461c9af50 (patch)
treeb216a5d2c2f4194c5bff3398dd1a794a3d4c079c /mhdr.c
parentcef55b231df966eba550f908085989a90742e844 (diff)
downloadmblaze-7e026ce08d03f2b392678159a89cac8461c9af50.tar.gz
mblaze-7e026ce08d03f2b392678159a89cac8461c9af50.tar.xz
mblaze-7e026ce08d03f2b392678159a89cac8461c9af50.zip
mhdr: default to current message when interactive w/o args
Diffstat (limited to 'mhdr.c')
-rw-r--r--mhdr.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/mhdr.c b/mhdr.c
index 3fc4a7c..ffb49d9 100644
--- a/mhdr.c
+++ b/mhdr.c
@@ -63,7 +63,9 @@ headerall(char *file)
 int
 main(int argc, char *argv[])
 {
-	if (argv[1] && argv[1][0] == '-') {
+	void (*cb)(char *) = headerall;
+
+	if (argc >= 2 && argv[1][0] == '-') {
 		l = strlen(argv[1])+1;
 		hdr = malloc(l);
 		hdr[0] = 0;
@@ -73,9 +75,16 @@ main(int argc, char *argv[])
 			*s++ = tolower(*t++);
 		*s = ':';
 
-		blaze822_loop(argc-2, argv+2, header);
+		cb = header;
+		argc--;
+		argv++;
+	}
+
+	if (argc == 1 && isatty(0)) {
+		char *cur[] = { "." };
+		blaze822_loop(1, cur, cb);
 	} else {
-		blaze822_loop(argc-1, argv+1, headerall);
+		blaze822_loop(argc-1, argv+1, cb);
 	}
 	
 	return 0;