]> diplodocus.org Git - nmh/blobdiff - uip/whatnowproc.c
Alter HasSuffixC()'s char * to be const.
[nmh] / uip / whatnowproc.c
index 6bf4b369d47d4907aef58360fa9c248c392fb9d1..90e72d65679a2f300302886ce5a7df8c40dc362d 100644 (file)
  * it will call this routine directly without exec'ing it.
  */
 
-/* from whatnowsbr.c */
-int WhatNow (int, char **);
-
 
 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;
@@ -58,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");
@@ -101,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",