X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b24a1b1ac51ca3bbacc82700dd1388b7dae2633d..d3e4441e5663116c5956e9461bec6710d2c1fef0:/uip/ap.c diff --git a/uip/ap.c b/uip/ap.c index f0b0baa9..1148871d 100644 --- a/uip/ap.c +++ b/uip/ap.c @@ -53,13 +53,7 @@ main (int argc, char **argv) char buf[BUFSIZ], **argp; char **arguments, *addrs[NADDRS]; -#ifdef LOCALE - setlocale(LC_ALL, ""); -#endif - invo_name = r1bindex (argv[0], '/'); - - /* read user profile/context */ - context_read(); + if (nmh_init(argv[0], 1)) { return 1; } mts_init (invo_name); arguments = getarguments (invo_name, argc, argv, 1); @@ -150,7 +144,7 @@ process (char *arg, int length) { int status = 0; register char *cp; - char buffer[WBUFSIZ + 1], error[BUFSIZ]; + char error[BUFSIZ]; register struct comp *cptr; register struct pqpair *p, *q; struct pqpair pq; @@ -173,6 +167,8 @@ process (char *arg, int length) } for (p = pq.pq_next; p; p = q) { + charstring_t scanl = charstring_create (length); + cptr = fmt_findcomp ("text"); if (cptr) { if (cptr->c_text) @@ -188,8 +184,9 @@ process (char *arg, int length) p->pq_error = NULL; } - fmt_scan (fmt, buffer, sizeof buffer - 1, length, dat, NULL); - fputs (buffer, stdout); + fmt_scan (fmt, scanl, length, dat, NULL); + fputs (charstring_buffer (scanl), stdout); + charstring_free (scanl); if (p->pq_text) free (p->pq_text);