diff options
author | Christian Neukirchen <chneukirchen@gmail.com> | 2016-07-18 00:06:18 +0200 |
---|---|---|
committer | Christian Neukirchen <chneukirchen@gmail.com> | 2016-07-18 00:09:35 +0200 |
commit | dac8663abd9b321abaa395bc4b595c2b642ab731 (patch) | |
tree | 7828b0fcd76f3ea28e0f205ec35634aa5162cea6 /show.c | |
parent | 08032f89babab3b5ec792f6aa394a28f95112e11 (diff) | |
download | mblaze-dac8663abd9b321abaa395bc4b595c2b642ab731.tar.gz mblaze-dac8663abd9b321abaa395bc4b595c2b642ab731.tar.xz mblaze-dac8663abd9b321abaa395bc4b595c2b642ab731.zip |
show: update cur
Diffstat (limited to 'show.c')
-rw-r--r-- | show.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/show.c b/show.c index cdb080e..5ead13c 100644 --- a/show.c +++ b/show.c @@ -78,7 +78,7 @@ render_mime(int depth, char *ct, char *body, size_t bodylen) char *mt = mimetype(ct); char *tlmt = tlmimetype(ct); - char *filename, *fn, *fne; + char *filename = 0, *fn, *fne; if (blaze822_mime_parameter(ct, "name", &fn, &fne)) filename = strndup(fn, fne-fn); @@ -292,17 +292,30 @@ extract(char *file, int argc, char **argv, int use_stdout) walk_mime(msg, 0, extract_mime); } +static char *newcur; + void show(char *file) { struct message *msg; + while (*file == ' ' || *file == '\t') + file++; + + if (newcur) { + printf("\014\n"); + free(newcur); + } + newcur = strdup(file); + if (qflag) msg = blaze822(file); else msg = blaze822_file(file); - if (!msg) + if (!msg) { + fprintf(stderr, "show: %s: %s\n", file, strerror(errno)); return; + } if (Hflag) { // raw headers size_t hl = blaze822_headerlen(msg); @@ -388,6 +401,7 @@ main(int argc, char *argv[]) if (!(qflag || rflag)) filters = blaze822("filters"); blaze822_loop(argc-optind, argv+optind, show); + blaze822_seq_setcur(newcur); } return 0; |