X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/0152658e840581077e5cd575b5195faf18b9df8b..7559e1ebf:/uip/mhlsbr.c?ds=inline diff --git a/uip/mhlsbr.c b/uip/mhlsbr.c index e94e8d3e..3ebfa69e 100644 --- a/uip/mhlsbr.c +++ b/uip/mhlsbr.c @@ -349,11 +349,9 @@ mhl (int argc, char **argv) char buf[BUFSIZ], *files[MAXARGS]; char **argp, **arguments; + /* Need this if called from main() of show(1). */ invo_name = r1bindex (argv[0], '/'); - /* read user profile/context */ - context_read(); - arguments = getarguments (invo_name, argc, argv, 1); argp = arguments; @@ -478,7 +476,7 @@ mhl (int argc, char **argv) folder = getenv ("mhfolder"); if (isatty (fileno (stdout))) { - if (!nomore && !sc_hardcopy() && moreproc && *moreproc != '\0') { + if (!nomore && moreproc && *moreproc != '\0') { if (mhl_action) { SIGNAL (SIGINT, SIG_IGN); SIGNAL2 (SIGQUIT, quitser); @@ -531,7 +529,7 @@ mhl (int argc, char **argv) } if (clearflg > 0 && ontty == NOTTY) - clear_screen (); + nmh_clear_screen (); if (ontty == PITTY) m_pclose (); @@ -870,14 +868,15 @@ parse (void) */ static void -process (char *folder, char *filename, int ofilen, int ofilec) +process (char *folder, char *fname, int ofilen, int ofilec) { char *cp = NULL; - char *fname = filename; FILE *fp = NULL; struct mcomp *c1; struct stat st; struct arglist *ap; + /* volatile to prevent "might be clobbered" warning from gcc: */ + char *volatile fname2 = fname ? fname : "(stdin)"; switch (setjmp (env)) { case OK: @@ -889,7 +888,6 @@ process (char *folder, char *filename, int ofilen, int ofilec) return; } } else { - fname = "(stdin)"; fp = stdin; } if (fstat(fileno(fp), &st) == 0) { @@ -897,7 +895,7 @@ process (char *folder, char *filename, int ofilen, int ofilec) } else { filesize = 0; } - cp = folder ? concat (folder, ":", fname, NULL) : getcpy (fname); + cp = folder ? concat (folder, ":", fname2, NULL) : getcpy (fname2); if (ontty != PITTY) SIGNAL (SIGINT, intrser); mhlfile (fp, cp, ofilen, ofilec); /* FALL THROUGH! */ @@ -956,7 +954,7 @@ mhlfile (FILE *fp, char *mname, int ofilen, int ofilec) if (ofilec > 1) { if (ofilen > 1) { if ((global.c_flags & CLEARSCR)) - clear_screen (); + nmh_clear_screen (); else printf ("\n\n\n"); } @@ -978,7 +976,7 @@ mhlfile (FILE *fp, char *mname, int ofilen, int ofilec) } if (strchr(buf, '\n')) { if ((global.c_flags & CLEARSCR)) - clear_screen (); + nmh_clear_screen (); } else printf ("\n"); @@ -989,7 +987,7 @@ mhlfile (FILE *fp, char *mname, int ofilen, int ofilec) if (ofilen > 1) { printf ("\n\n\n"); if (clearflg > 0) - clear_screen (); + nmh_clear_screen (); } printf (">>> %s\n\n", mname); } @@ -1180,7 +1178,7 @@ mcomp_format (struct mcomp *c1, struct mcomp *c2) if ((p = (struct pqpair *) calloc ((size_t) 1, sizeof(*p))) == NULL) adios (NULL, "unable to allocate pqpair memory"); - if ((mp = getm (cp, NULL, 0, AD_NAME, error)) == NULL) { + if ((mp = getm (cp, NULL, 0, error, sizeof(error))) == NULL) { p->pq_text = getcpy (cp); p->pq_error = getcpy (error); } else { @@ -1485,7 +1483,7 @@ putch (char ch, long flags) read (fileno (stdout), buf, sizeof(buf)); if (strchr(buf, '\n')) { if (global.c_flags & CLEARSCR) - clear_screen (); + nmh_clear_screen (); row = 0; } else { putchar ('\n'); @@ -1852,7 +1850,6 @@ filterbody (struct mcomp *c1, char *buf, int bufsz, int state, FILE *fp, * buffers that we have duplicated from the parent. */ _exit(0); - break; case -1: adios(NULL, "Unable to fork for filter writer process"); break;