Fix uip/whom.c for C89 compatibility
[mmh] / uip / whatnowproc.c
index 1b16e5d..765ed8a 100644 (file)
@@ -7,6 +7,7 @@
 */
 
 #include <h/mh.h>
+#include <unistd.h>
 
 
 /*
 ** then execs the command.
 */
 int
-what_now(char *ed, int nedit, int use, char *file, char *altmsg, int dist,
+what_now(char *ed, int use, char *file, char *altmsg, int dist,
        struct msgs *mp, char *text, char *cwd)
 {
        int found, k, msgnum, vecp;
        int len, buflen;
-       register char *bp;
+       char *bp;
        char buffer[BUFSIZ], *vec[MAXARGS];
 
        vecp = 0;
@@ -44,15 +45,14 @@ what_now(char *ed, int nedit, int use, char *file, char *altmsg, int dist,
        } else {
                unputenv("mhaltmsg");
        }
-       if ((bp = getenv("mhaltmsg")))/* XXX */
-               m_putenv("editalt", bp);
        snprintf(buffer, sizeof(buffer), "%d", dist);
        m_putenv("mhdist", buffer);
-       if (nedit) {
-               unputenv("mheditor");
+       if (!ed) {
+               m_putenv("mheditor", defaulteditor);
+       } else if (*ed) {
+               m_putenv("mheditor", ed);
        } else {
-               m_putenv("mheditor", ed ? ed : (ed = context_find("editor")) ?
-                               ed : defaulteditor);
+               unputenv("mheditor");
        }
        snprintf(buffer, sizeof(buffer), "%d", use);
        m_putenv("mhuse", buffer);