From f8bb742e67d106a6d6f90933584d9f898a0ec1f7 Mon Sep 17 00:00:00 2001 From: Ali Gholami Rudi Date: Fri, 25 Dec 2015 00:22:39 +0330 Subject: [PATCH] mail: list available commands and options --- ex.c | 8 ++++++++ mail.c | 10 ++++++++++ mk.c | 15 ++++++++++++++- pg.c | 11 ++++++++++- 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/ex.c b/ex.c index 7053bb1..c1b5aae 100644 --- a/ex.c +++ b/ex.c @@ -328,7 +328,15 @@ int ex(char *argv[]) char loc[EXLEN]; int beg, end, i; char *cmd; + if (!argv[0]) { + printf("usage: neatmail ex mbox \n", argv[0]); + return 1; + } while (fgets(ec, sizeof(ec), stdin)) { char *cur = loc; if (isupper((unsigned char) ec[0])) diff --git a/mail.c b/mail.c index bae06e7..136870d 100644 --- a/mail.c +++ b/mail.c @@ -32,9 +32,19 @@ static int ns(char *argv[]) return 0; } +static char *usage = + "usage: neatmail command [options]\n\n" + "commands:\n" + " ex \texecute commands on an mbox\n" + " mk \tlist the messages in an mbox\n" + " pg \tpage a message of an mbox\n" + " ns \tcheck mboxes for new mails\n"; + int main(int argc, char *argv[]) { signal(SIGPIPE, SIG_IGN); + if (!argv[1]) + printf("%s", usage); if (argv[1] && !strcmp("mk", argv[1])) mk(argv + 2); if (argv[1] && !strcmp("ex", argv[1])) diff --git a/mk.c b/mk.c index 36b2c96..0c90400 100644 --- a/mk.c +++ b/mk.c @@ -119,6 +119,13 @@ static void segs_free(char **segs) free(segs); } +static char *usage = + "usage: neatmail mk [options] mbox\n\n" + "options:\n" + " -0 fmt \tmessage first line format (e.g., 20from:40subject:)\n" + " -1 fmt \tmessage second line format\n" + " -f n \tthe first message to list\n"; + int mk(char *argv[]) { struct mbox *mbox; @@ -137,9 +144,15 @@ int mk(char *argv[]) continue; } } - if (!argv[i]) + if (!argv[i]) { + printf("%s", usage); return 1; + } mbox = mbox_open(argv[i]); + if (!mbox) { + fprintf(stderr, "neatmail: cannot open <%s>\n", argv[i]); + return 1; + } for (i = first; i < mbox_len(mbox); i++) { char *msg; long msz; diff --git a/pg.c b/pg.c index 77126d6..7d5e3a5 100644 --- a/pg.c +++ b/pg.c @@ -10,6 +10,13 @@ static void msg_new(char **msg, long *msglen); static int msg_reply(char *msg, long msglen, char **mod, long *modlen); +static char *usage = + "usage: neatmail pg [options] mbox msg\n\n" + "options:\n" + " -m \tdecode mime message\n" + " -r \tgenerate a reply\n" + " -n \tgenerate a new message\n"; + int pg(char *argv[]) { char *mbox, *addr; @@ -33,8 +40,10 @@ int pg(char *argv[]) free(msg); return 0; } - if (!argv[i] || !argv[i + 1]) + if (!argv[i] || !argv[i + 1]) { + printf("%s", usage); return 1; + } mbox = argv[i]; addr = argv[i + 1]; if (!mbox_ith(mbox, atoi(addr), &msg, &msglen)) { -- 2.11.4.GIT