]> diplodocus.org Git - nmh/blobdiff - uip/whatnowproc.c
Replace getcpy() with mh_xstrdup() where the string isn't NULL.
[nmh] / uip / whatnowproc.c
index caeeec2c79017cdc54254967c23f461c246299c1..90e72d65679a2f300302886ce5a7df8c40dc362d 100644 (file)
@@ -2,7 +2,9 @@
 /*
  * whatnowproc.c -- exec the "whatnowproc"
  *
- * $Id$
+ * This code is Copyright (c) 2002, by the authors of nmh.  See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
  */
 
 #include <h/mh.h>
  * it will call this routine directly without exec'ing it.
  */
 
+
 int
 what_now (char *ed, int nedit, int use, char *file, char *altmsg, int dist,
-          struct msgs *mp, char *text, int inplace, char *cwd)
+          struct msgs *mp, char *text, int inplace, char *cwd, int atfile)
 {
     int found, k, msgnum, vecp;
     int len, buflen;
-    register char *bp;
+    char *bp;
     char buffer[BUFSIZ], *vec[MAXARGS];
 
     vecp = 0;
@@ -52,11 +55,12 @@ what_now (char *ed, int nedit, int use, char *file, char *altmsg, int dist,
     if (nedit) {
        unputenv ("mheditor");
     } else {
-       m_putenv ("mheditor", ed ? ed : (ed = context_find ("editor"))
-           ? ed : defaulteditor);
+       m_putenv ("mheditor", ed ? ed : (ed = get_default_editor()));
     }
     snprintf (buffer, sizeof(buffer), "%d", use);
     m_putenv ("mhuse", buffer);
+    snprintf (buffer, sizeof(buffer), "%d", atfile);
+    m_putenv ("mhatfile", buffer);
 
     unputenv ("mhmessages");
     unputenv ("mhannotate");
@@ -95,8 +99,11 @@ what_now (char *ed, int nedit, int use, char *file, char *altmsg, int dist,
     context_save ();   /* save the context file */
     fflush (stdout);
 
-    if (cwd)
-       chdir (cwd);
+    if (cwd) {
+       if (chdir (cwd) < 0) {
+           advise (cwd, "chdir");
+       }
+    }
 
     /*
      * If the "whatnowproc" is the nmh command "whatnow",