Lines Matching refs:curp

226 pset(const char *buf, int pos, struct mparse *curp)  in pset()  argument
249 switch (curp->inttype) { in pset()
251 if (NULL == curp->pmdoc) in pset()
252 curp->pmdoc = mdoc_alloc(curp->roff, curp, in pset()
253 curp->defos); in pset()
254 assert(curp->pmdoc); in pset()
255 curp->mdoc = curp->pmdoc; in pset()
258 if (NULL == curp->pman) in pset()
259 curp->pman = man_alloc(curp->roff, curp); in pset()
260 assert(curp->pman); in pset()
261 curp->man = curp->pman; in pset()
268 if (NULL == curp->pmdoc) in pset()
269 curp->pmdoc = mdoc_alloc(curp->roff, curp, in pset()
270 curp->defos); in pset()
271 assert(curp->pmdoc); in pset()
272 curp->mdoc = curp->pmdoc; in pset()
276 if (NULL == curp->pman) in pset()
277 curp->pman = man_alloc(curp->roff, curp); in pset()
278 assert(curp->pman); in pset()
279 curp->man = curp->pman; in pset()
288 mparse_buf_r(struct mparse *curp, struct buf blk, int start) in mparse_buf_r() argument
300 lnn = curp->line; in mparse_buf_r()
308 curp->line = lnn; in mparse_buf_r()
309 curp->reparse_count = 0; in mparse_buf_r()
351 mandoc_msg(MANDOCERR_BADCHAR, curp, in mparse_buf_r()
352 curp->line, pos, NULL); in mparse_buf_r()
408 mandoc_msg(MANDOCERR_BADCHAR, curp, in mparse_buf_r()
409 curp->line, pos, NULL); in mparse_buf_r()
443 if (curp->secondary) { in mparse_buf_r()
444 curp->secondary->buf = in mparse_buf_r()
446 (curp->secondary->buf, in mparse_buf_r()
447 curp->secondary->sz + pos + 2); in mparse_buf_r()
448 memcpy(curp->secondary->buf + in mparse_buf_r()
449 curp->secondary->sz, in mparse_buf_r()
451 curp->secondary->sz += pos; in mparse_buf_r()
452 curp->secondary->buf in mparse_buf_r()
453 [curp->secondary->sz] = '\n'; in mparse_buf_r()
454 curp->secondary->sz++; in mparse_buf_r()
455 curp->secondary->buf in mparse_buf_r()
456 [curp->secondary->sz] = '\0'; in mparse_buf_r()
460 (curp->roff, curp->line, in mparse_buf_r()
465 if (REPARSE_LIMIT >= ++curp->reparse_count) in mparse_buf_r()
466 mparse_buf_r(curp, ln, 0); in mparse_buf_r()
468 mandoc_msg(MANDOCERR_ROFFLOOP, curp, in mparse_buf_r()
469 curp->line, pos, NULL); in mparse_buf_r()
481 assert(MANDOCLEVEL_FATAL <= curp->file_status); in mparse_buf_r()
489 if (curp->secondary) in mparse_buf_r()
490 curp->secondary->sz -= pos + 1; in mparse_buf_r()
491 mparse_readfd(curp, -1, ln.buf + of); in mparse_buf_r()
492 if (MANDOCLEVEL_FATAL <= curp->file_status) in mparse_buf_r()
505 if (MANDOCLEVEL_FATAL <= curp->file_status) in mparse_buf_r()
515 if ( ! (curp->man || curp->mdoc)) in mparse_buf_r()
516 pset(ln.buf + of, pos - of, curp); in mparse_buf_r()
532 while (NULL != (span = roff_span(curp->roff))) { in mparse_buf_r()
533 rc = curp->man ? in mparse_buf_r()
534 man_addspan(curp->man, span) : in mparse_buf_r()
535 mdoc_addspan(curp->mdoc, span); in mparse_buf_r()
540 rc = curp->mdoc ? in mparse_buf_r()
541 mdoc_addeqn(curp->mdoc, in mparse_buf_r()
542 roff_eqn(curp->roff)) : in mparse_buf_r()
543 man_addeqn(curp->man, in mparse_buf_r()
544 roff_eqn(curp->roff)); in mparse_buf_r()
545 else if (curp->man || curp->mdoc) in mparse_buf_r()
546 rc = curp->man ? in mparse_buf_r()
547 man_parseln(curp->man, in mparse_buf_r()
548 curp->line, ln.buf, of) : in mparse_buf_r()
549 mdoc_parseln(curp->mdoc, in mparse_buf_r()
550 curp->line, ln.buf, of); in mparse_buf_r()
553 assert(MANDOCLEVEL_FATAL <= curp->file_status); in mparse_buf_r()
638 mparse_end(struct mparse *curp) in mparse_end() argument
641 if (MANDOCLEVEL_FATAL <= curp->file_status) in mparse_end()
644 if (curp->mdoc && ! mdoc_endparse(curp->mdoc)) { in mparse_end()
645 assert(MANDOCLEVEL_FATAL <= curp->file_status); in mparse_end()
649 if (curp->man && ! man_endparse(curp->man)) { in mparse_end()
650 assert(MANDOCLEVEL_FATAL <= curp->file_status); in mparse_end()
654 if ( ! (curp->man || curp->mdoc)) { in mparse_end()
655 mandoc_msg(MANDOCERR_NOTMANUAL, curp, 1, 0, NULL); in mparse_end()
656 curp->file_status = MANDOCLEVEL_FATAL; in mparse_end()
660 roff_endparse(curp->roff); in mparse_end()
664 mparse_parse_buffer(struct mparse *curp, struct buf blk, const char *file) in mparse_parse_buffer() argument
670 mandoc_msg(MANDOCERR_ROFFLOOP, curp, curp->line, 0, NULL); in mparse_parse_buffer()
675 svfile = curp->file; in mparse_parse_buffer()
676 curp->file = file; in mparse_parse_buffer()
677 curp->line = 1; in mparse_parse_buffer()
680 mparse_buf_r(curp, blk, 1); in mparse_parse_buffer()
682 if (0 == --recursion_depth && MANDOCLEVEL_FATAL > curp->file_status) in mparse_parse_buffer()
683 mparse_end(curp); in mparse_parse_buffer()
685 curp->file = svfile; in mparse_parse_buffer()
689 mparse_readmem(struct mparse *curp, const void *buf, size_t len, in mparse_readmem() argument
697 mparse_parse_buffer(curp, blk, file); in mparse_readmem()
698 return(curp->file_status); in mparse_readmem()
702 mparse_readfd(struct mparse *curp, int fd, const char *file) in mparse_readfd() argument
710 curp->file_status = MANDOCLEVEL_SYSERR; in mparse_readfd()
721 curp->file_status = MANDOCLEVEL_SYSERR; in mparse_readfd()
725 mparse_parse_buffer(curp, blk, file); in mparse_readfd()
737 return(curp->file_status); in mparse_readfd()
744 struct mparse *curp; in mparse_alloc() local
748 curp = mandoc_calloc(1, sizeof(struct mparse)); in mparse_alloc()
750 curp->wlevel = wlevel; in mparse_alloc()
751 curp->mmsg = mmsg; in mparse_alloc()
752 curp->arg = arg; in mparse_alloc()
753 curp->inttype = inttype; in mparse_alloc()
754 curp->defos = defos; in mparse_alloc()
756 curp->roff = roff_alloc(inttype, curp); in mparse_alloc()
757 return(curp); in mparse_alloc()
761 mparse_reset(struct mparse *curp) in mparse_reset() argument
764 roff_reset(curp->roff); in mparse_reset()
766 if (curp->mdoc) in mparse_reset()
767 mdoc_reset(curp->mdoc); in mparse_reset()
768 if (curp->man) in mparse_reset()
769 man_reset(curp->man); in mparse_reset()
770 if (curp->secondary) in mparse_reset()
771 curp->secondary->sz = 0; in mparse_reset()
773 curp->file_status = MANDOCLEVEL_OK; in mparse_reset()
774 curp->mdoc = NULL; in mparse_reset()
775 curp->man = NULL; in mparse_reset()
779 mparse_free(struct mparse *curp) in mparse_free() argument
782 if (curp->pmdoc) in mparse_free()
783 mdoc_free(curp->pmdoc); in mparse_free()
784 if (curp->pman) in mparse_free()
785 man_free(curp->pman); in mparse_free()
786 if (curp->roff) in mparse_free()
787 roff_free(curp->roff); in mparse_free()
788 if (curp->secondary) in mparse_free()
789 free(curp->secondary->buf); in mparse_free()
791 free(curp->secondary); in mparse_free()
792 free(curp); in mparse_free()
796 mparse_result(struct mparse *curp, struct mdoc **mdoc, struct man **man) in mparse_result() argument
800 *mdoc = curp->mdoc; in mparse_result()
802 *man = curp->man; in mparse_result()