projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove longjmp in signalhandler of prompter
[mmh]
/
uip
/
whatnow.c
diff --git
a/uip/whatnow.c
b/uip/whatnow.c
index
163a02e
..
2969397
100644
(file)
--- a/
uip/whatnow.c
+++ b/
uip/whatnow.c
@@
-110,7
+110,7
@@
main(int argc, char **argv)
switch (smatch(++cp, switches)) {
case AMBIGSW:
ambigsw(cp, switches);
switch (smatch(++cp, switches)) {
case AMBIGSW:
ambigsw(cp, switches);
- done(1);
+ exit(1);
case UNKWNSW:
adios(NULL, "-%s unknown", cp);
case UNKWNSW:
adios(NULL, "-%s unknown", cp);
@@
-119,10
+119,10
@@
main(int argc, char **argv)
"%s [switches] [file]",
invo_name);
print_help(buf, switches, 1);
"%s [switches] [file]",
invo_name);
print_help(buf, switches, 1);
- done(1);
+ exit(0);
case VERSIONSW:
print_version(invo_name);
case VERSIONSW:
print_version(invo_name);
- done(1);
+ exit(0);
case EDITRSW:
if (!(ed = *argp++) || *ed == '-')
case EDITRSW:
if (!(ed = *argp++) || *ed == '-')
@@
-161,14
+161,15
@@
main(int argc, char **argv)
unlink(drft);
}
advise(NULL, "Try again.");
unlink(drft);
}
advise(NULL, "Try again.");
- done(1);
+ /* sysexits.h EX_SOFTWARE */
+ exit(1);
}
}
snprintf(prompt, sizeof(prompt), myprompt, invo_name);
for (;;) {
if (!(argp = getans(prompt, aleqs))) {
}
}
snprintf(prompt, sizeof(prompt), myprompt, invo_name);
for (;;) {
if (!(argp = getans(prompt, aleqs))) {
- done(1);
+ exit(1);
}
switch (smatch(*argp, aleqs)) {
case DISPSW:
}
switch (smatch(*argp, aleqs)) {
case DISPSW:
@@
-199,12
+200,12
@@
main(int argc, char **argv)
if (stat(drft, &st) != NOTOK) {
advise(NULL, "draft left on %s", drft);
}
if (stat(drft, &st) != NOTOK) {
advise(NULL, "draft left on %s", drft);
}
- done(1);
+ exit(1);
case DELETESW:
/* Delete draft and exit */
removefile(drft);
case DELETESW:
/* Delete draft and exit */
removefile(drft);
- done(1);
+ exit(1);
case SENDSW:
/* Send draft */
case SENDSW:
/* Send draft */
@@
-214,7
+215,7
@@
main(int argc, char **argv)
case REFILEOPT:
/* Refile the draft */
if (refile(++argp, drft) == 0) {
case REFILEOPT:
/* Refile the draft */
if (refile(++argp, drft) == 0) {
- done(0);
+ exit(0);
}
break;
}
break;
@@
-517,9
+518,9
@@
editfile(char **ed, char **arg, char *file, int use)
case OK:
vecp = 0;
vec[vecp++] = mhbasename(*ed);
case OK:
vecp = 0;
vec[vecp++] = mhbasename(*ed);
- if (arg)
- while (*arg)
- vec[vecp++] = *arg++;
+ while (arg && *arg) {
+ vec[vecp++] = *arg++;
+ }
vec[vecp++] = file;
vec[vecp] = NULL;
vec[vecp++] = file;
vec[vecp] = NULL;
@@
-590,11
+591,9
@@
sendfile(char **arg, char *file)
static int
refile(char **arg, char *file)
{
static int
refile(char **arg, char *file)
{
- pid_t pid;
- register int vecp;
+ int vecp = 0;
char *vec[MAXARGS];
char *vec[MAXARGS];
- vecp = 0;
vec[vecp++] = "refile";
vec[vecp++] = "-nolink"; /* override bad .mh_profile defaults */
vec[vecp++] = "-file";
vec[vecp++] = "refile";
vec[vecp++] = "-nolink"; /* override bad .mh_profile defaults */
vec[vecp++] = "-file";
@@
-605,23
+604,10
@@
refile(char **arg, char *file)
}
vec[vecp] = NULL;
}
vec[vecp] = NULL;
- context_save(); /* save the context file */
+ context_save();
fflush(stdout);
fflush(stdout);
- switch (pid = fork()) {
- case -1:
- advise("fork", "unable to");
- return -1;
-
- case 0:
- execvp(*vec, vec);
- fprintf(stderr, "%s: unable to exec ", invo_name);
- perror(*vec);
- _exit(-1);
-
- default:
- return (pidwait(pid, -1));
- }
+ return execprog(*vec, vec);
}
}