X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fwhatnow.c;h=3d97716c1646aa5cab803f3108c0d616e0afeb46;hp=7033cdf413a68571dfc31df20b9581e301c2ea71;hb=f33f12af33361e5d688cd1700c1ee03af5988fd9;hpb=3df5ab3c116e6d4a2fb4bb5cc9dfc5f781825815 diff --git a/uip/whatnow.c b/uip/whatnow.c index 7033cdf..3d97716 100644 --- a/uip/whatnow.c +++ b/uip/whatnow.c @@ -66,15 +66,15 @@ static struct swit aleqs[] = { #define REFILEOPT 1 { "refile [] +folder", 0 }, #define DISPSW 2 - { "display []", 0 }, + { "display", 0 }, #define LISTSW 3 - { "list []", 0 }, + { "list", 0 }, #define SENDSW 4 { "send []", 0 }, #define PUSHSW 5 { "push []", 0 }, #define QUITSW 6 - { "quit [-delete]", 0 }, + { "quit", 0 }, #define DELETESW 7 { "delete", 0 }, #define CDCMDSW 8 @@ -217,14 +217,14 @@ main(int argc, char **argv) } switch (smatch(*argp, aleqs)) { case DISPSW: - /* - ** display the message being replied to, - ** or distributed - */ - if (msgnam) - showfile(++argp, msgnam); - else + /* display the msg being replied to or distributed */ + if (msgnam) { + snprintf(buf, sizeof buf, "%s '%s'", + listproc, msgnam); + system(buf); + } else { advise(NULL, "no alternate message to display"); + } break; case EDITSW: @@ -238,17 +238,14 @@ main(int argc, char **argv) case LISTSW: /* display the draft file */ - showfile(++argp, drft); + snprintf(buf, sizeof buf, "%s '%s'", listproc, drft); + system(buf); break; case QUITSW: - /* Quit, and possibly delete the draft */ - if (*++argp && (*argp[0] == 'd' || - ((*argp)[0] == '-' && (*argp)[1] == 'd'))) { - removefile(drft); - } else { - if (stat(drft, &st) != NOTOK) - advise(NULL, "draft left on %s", drft); + /* quit */ + if (stat(drft, &st) != NOTOK) { + advise(NULL, "draft left on %s", drft); } done(1); @@ -390,14 +387,14 @@ main(int argc, char **argv) if (*shell == '/') annotate(drft, attach_hdr, - shell, 1, 0, - -2, 1); + shell, 0, + -2, 1, 0); else { sprintf(file, "%s/%s", cwd, shell); annotate(drft, attach_hdr, - file, 1, 0, - -2, 1); + file, 0, + -2, 1, 0); } } @@ -444,8 +441,8 @@ main(int argc, char **argv) if (**arguments != '\0') { n = atoi(*arguments); annotate(drft, attach_hdr, - NULL, 1, 0, - n, 1); + NULL, 0, + n, 1, 0); for (argp = arguments + 1; *argp != NULL; argp++) { if (atoi(*argp) > n) { @@ -477,7 +474,7 @@ main(int argc, char **argv) != NULL) { *(strchr(shell, '\n')) = '\0'; annotate(drft, attach_hdr, shell, - 1, 0, 0, 1); + 0, 0, 1, 0); } pclose(f); } else { @@ -625,10 +622,9 @@ editfile(char **ed, char **arg, char *file, int use, struct msgs *mp, if ((cp = context_find(cp)) != NULL) *ed = cp; } - } else { + } else if (!*ed) { /* set initial editor */ - if (*ed == NULL && (*ed = context_find("editor")) == NULL) - *ed = defaulteditor; + *ed = defaulteditor; } if (altmsg) { @@ -773,15 +769,13 @@ static int sendfile(char **arg, char *file, int pushsw) { pid_t child_id; - int i, vecp; + int vecp; char *vec[MAXARGS]; context_save(); /* save the context file */ fflush(stdout); - for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++) - sleep(5); - switch (child_id) { + switch (child_id = fork()) { case NOTOK: advise(NULL, "unable to fork, so sending directly..."); /* fall */