X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fwhatnow.c;h=874a787417f0667bfcda79962198cc3757a083ff;hb=f8960957ae53f962fe12e5a5eb4c01eb54cb4228;hp=b0819003dd6ae7faf2ce65534c2e28a9c163dc59;hpb=d297b2240c664de09b6d51a07a071aab33c4bf32;p=mmh diff --git a/uip/whatnow.c b/uip/whatnow.c index b081900..874a787 100644 --- a/uip/whatnow.c +++ b/uip/whatnow.c @@ -66,9 +66,9 @@ 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 @@ -144,7 +144,7 @@ main(int argc, char **argv) ** Get the initial current working directory. */ - if (getcwd(cwd, sizeof (cwd)) == NULL) { + if (!getcwd(cwd, sizeof (cwd))) { adios("getcwd", "could not get working directory"); } @@ -191,7 +191,7 @@ main(int argc, char **argv) drft = cp; } - if ((drft == NULL && (drft = getenv("mhdraft")) == NULL) || *drft == 0) + if ((!drft && !(drft = getenv("mhdraft"))) || !*drft) drft = getcpy(m_draft(seq_cur)); msgnam = (cp = getenv("mhaltmsg")) && *cp ? getcpy(cp) : NULL; @@ -199,7 +199,7 @@ main(int argc, char **argv) if ((cp = getenv("mhuse")) && *cp) use = atoi(cp); - if (ed == NULL && ((ed = getenv("mheditor")) == NULL || *ed == 0)) { + if (!ed && (!(ed = getenv("mheditor")) || !*ed)) { ed = NULL; nedit++; } @@ -218,10 +218,13 @@ main(int argc, char **argv) switch (smatch(*argp, aleqs)) { case DISPSW: /* display the msg being replied to or distributed */ - if (msgnam) - showfile(++argp, msgnam); - else + if (msgnam) { + snprintf(buf, sizeof buf, "%s '%s'", + listproc, msgnam); + system(buf); + } else { advise(NULL, "no alternate message to display"); + } break; case EDITSW: @@ -235,7 +238,8 @@ 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: @@ -282,11 +286,11 @@ main(int argc, char **argv) } else { writesomecmd(buf, BUFSIZ, "cd", "pwd", argp); } - if ((f = popen_in_dir(cwd, buf, "r")) != (FILE *)0) { + if ((f = popen_in_dir(cwd, buf, "r"))) { fgets(cwd, sizeof (cwd), f); - if (strchr(cwd, '\n') != NULL) - *strchr(cwd, '\n') = '\0'; + if (strchr(cwd, '\n')) + *strchr(cwd, '\n') = '\0'; pclose(f); } else { @@ -324,7 +328,7 @@ main(int argc, char **argv) l = NULL; n = 0; - while (*++argp != NULL) { + while (*++argp) { if (strcmp(*argp, "-l") == 0) l = "/"; @@ -376,22 +380,18 @@ main(int argc, char **argv) ** working directory to relative path names. ** Add the attachment annotation to the draft. */ - if ((f = popen_in_dir(cwd, buf, "r")) != (FILE *)0) { - while (fgets(shell, sizeof (shell), f) - != NULL) { + if ((f = popen_in_dir(cwd, buf, "r"))) { + while (fgets(shell, sizeof(shell), f)) { *(strchr(shell, '\n')) = '\0'; if (*shell == '/') - annotate(drft, attach_hdr, - shell, 1, 0, - -2, 1); + sprintf(file, "%s", shell); else { sprintf(file, "%s/%s", cwd, shell); - annotate(drft, attach_hdr, - file, 1, 0, - -2, 1); } + annotate(drft, attach_hdr, file, 0, + -2, 1, 0); } pclose(f); @@ -437,10 +437,10 @@ 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++) { + for (argp = arguments + 1; *argp; argp++) { if (atoi(*argp) > n) { if (atoi(*argp) == 1) *argp = ""; @@ -465,12 +465,11 @@ main(int argc, char **argv) ** with a space in it. */ writelscmd(buf, sizeof(buf), argp); - if ((f = popen_in_dir(cwd, buf, "r")) != (FILE *)0) { - while (fgets(shell, sizeof (shell), f) - != NULL) { + if ((f = popen_in_dir(cwd, buf, "r"))) { + while (fgets(shell, sizeof (shell), f)) { *(strchr(shell, '\n')) = '\0'; annotate(drft, attach_hdr, shell, - 1, 0, 0, 1); + 0, 0, 1, 0); } pclose(f); } else { @@ -521,7 +520,7 @@ writesomecmd(char *buf, int bufsz, char *cmd, char *trailcmd, char **argp) cp = buf + ln; - while (*++argp != NULL) { + while (*++argp) { ln = strlen(*argp); /* +1 for leading space */ if (ln + trailln + 1 > bufsz - (cp-buf)) @@ -610,27 +609,26 @@ editfile(char **ed, char **arg, char *file, int use, struct msgs *mp, if (reedit) { if (!*ed) { /* no explicit editor */ *ed = edsave; /* so use the previous one */ - if ((cp = mhbasename(*ed)) == NULL) + if (!(cp = mhbasename(*ed))) cp = *ed; /* unless we've specified it via "editor-next" */ cp = concat(cp, "-next", NULL); - if ((cp = context_find(cp)) != NULL) + if ((cp = context_find(cp))) *ed = cp; } - } else { + } else if (!*ed) { /* set initial editor */ - if (*ed == NULL && (*ed = context_find("editor")) == NULL) - *ed = defaulteditor; + *ed = defaulteditor; } if (altmsg) { - if (mp == NULL || *altmsg == '/' || cwd == NULL) + if (!mp || *altmsg == '/' || !cwd) strncpy(altpath, altmsg, sizeof(altpath)); else snprintf(altpath, sizeof(altpath), "%s/%s", mp->foldpath, altmsg); - if (cwd == NULL) + if (!cwd) strncpy(linkpath, altmsglink, sizeof(linkpath)); else snprintf(linkpath, sizeof(linkpath), "%s/%s", @@ -766,15 +764,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 */ @@ -789,9 +785,9 @@ sendfile(char **arg, char *file, int pushsw) vec[vecp++] = file; vec[vecp] = NULL; - execvp(sendproc, vec); + execvp("send", vec); fprintf(stderr, "unable to exec "); - perror(sendproc); + perror("send"); _exit(-1); default: