/*
** static prototypes
*/
-static int editfile(char **, char **, char *, int);
+static int editfile(char **, char **, char *);
static int sendfile(char **, char *);
static int refile(char **, char *);
static int removefile(char *);
int
main(int argc, char **argv)
{
- int use = 0;
+ int use = NOUSE;
char *cp;
char *ed = NULL, *drft = NULL;
char buf[BUFSIZ], prompt[BUFSIZ];
}
if ((!drft && !(drft = getenv("mhdraft"))) || !*drft)
- drft = getcpy(m_draft(seq_cur));
+ drft = mh_xstrdup(m_draft(seq_cur));
if ((cp = getenv("mhuse")) && *cp)
use = atoi(cp);
/* start editing the draft, unless editor is the empty string */
if (*ed) {
- if (editfile(&ed, NULL, drft, use) <0) {
+ if (editfile(&ed, NULL, drft) <0) {
if (!use) {
unlink(drft);
}
}
snprintf(prompt, sizeof(prompt), myprompt, invo_name);
- for (;;) {
- if (!(argp = getans(prompt, aleqs))) {
- exit(EX_IOERR);
- }
+ while ((argp = getans(prompt, aleqs))) {
switch (smatch(*argp, aleqs)) {
case DISPSW:
/* display the msg being replied to or distributed */
/* Call an editor on the draft file */
if (*++argp)
ed = *argp++;
- editfile(&ed, argp, drft, NOUSE);
+ editfile(&ed, argp, drft);
break;
case LISTSW:
break;
}
}
- /*NOTREACHED*/
+
+ exit(EX_IOERR);
}
static int
-editfile(char **ed, char **arg, char *file, int use)
+editfile(char **ed, char **arg, char *file)
{
int pid, status, vecp;
char *cp, *vec[MAXARGS];
}
/* remember which editor we used */
- edsave = getcpy(*ed);
+ edsave = mh_xstrdup(*ed);
*ed = NULL;