X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/64e8827c5d5def0325ab7181fe939623c77e807c..58eaf2c2:/uip/ap.c?ds=sidebyside diff --git a/uip/ap.c b/uip/ap.c index a8f9169f..1148871d 100644 --- a/uip/ap.c +++ b/uip/ap.c @@ -53,11 +53,7 @@ main (int argc, char **argv) char buf[BUFSIZ], **argp; char **arguments, *addrs[NADDRS]; - setlocale(LC_ALL, ""); - 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); @@ -148,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; @@ -171,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) @@ -186,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);