Lines Matching refs:man
103 struct roff_man *man; /* mdoc or man parser */ member
812 roff_man_free1(struct roff_man *man) in roff_man_free1() argument
814 if (man->meta.first != NULL) in roff_man_free1()
815 roff_node_delete(man, man->meta.first); in roff_man_free1()
816 free(man->meta.msec); in roff_man_free1()
817 free(man->meta.vol); in roff_man_free1()
818 free(man->meta.os); in roff_man_free1()
819 free(man->meta.arch); in roff_man_free1()
820 free(man->meta.title); in roff_man_free1()
821 free(man->meta.name); in roff_man_free1()
822 free(man->meta.date); in roff_man_free1()
823 free(man->meta.sodest); in roff_man_free1()
827 roff_state_reset(struct roff_man *man) in roff_state_reset() argument
829 man->last = man->meta.first; in roff_state_reset()
830 man->last_es = NULL; in roff_state_reset()
831 man->flags = 0; in roff_state_reset()
832 man->lastsec = man->lastnamed = SEC_NONE; in roff_state_reset()
833 man->next = ROFF_NEXT_CHILD; in roff_state_reset()
834 roff_setreg(man->roff, "nS", 0, '='); in roff_state_reset()
838 roff_man_alloc1(struct roff_man *man) in roff_man_alloc1() argument
840 memset(&man->meta, 0, sizeof(man->meta)); in roff_man_alloc1()
841 man->meta.first = mandoc_calloc(1, sizeof(*man->meta.first)); in roff_man_alloc1()
842 man->meta.first->type = ROFFT_ROOT; in roff_man_alloc1()
843 man->meta.macroset = MACROSET_NONE; in roff_man_alloc1()
844 roff_state_reset(man); in roff_man_alloc1()
848 roff_man_reset(struct roff_man *man) in roff_man_reset() argument
850 roff_man_free1(man); in roff_man_reset()
851 roff_man_alloc1(man); in roff_man_reset()
855 roff_man_free(struct roff_man *man) in roff_man_free() argument
857 roff_man_free1(man); in roff_man_free()
858 free(man->os_r); in roff_man_free()
859 free(man); in roff_man_free()
865 struct roff_man *man; in roff_man_alloc() local
867 man = mandoc_calloc(1, sizeof(*man)); in roff_man_alloc()
868 man->roff = roff; in roff_man_alloc()
869 man->os_s = os_s; in roff_man_alloc()
870 man->quick = quick; in roff_man_alloc()
871 roff_man_alloc1(man); in roff_man_alloc()
872 roff->man = man; in roff_man_alloc()
873 return man; in roff_man_alloc()
879 roff_node_alloc(struct roff_man *man, int line, int pos, in roff_node_alloc() argument
889 n->sec = man->lastsec; in roff_node_alloc()
891 if (man->flags & MDOC_SYNOPSIS) in roff_node_alloc()
895 if ((man->flags & (ROFF_NOFILL | ROFF_NONOFILL)) == ROFF_NOFILL) in roff_node_alloc()
899 if (man->flags & MDOC_NEWLINE) in roff_node_alloc()
901 man->flags &= ~MDOC_NEWLINE; in roff_node_alloc()
907 roff_node_append(struct roff_man *man, struct roff_node *n) in roff_node_append() argument
910 switch (man->next) { in roff_node_append()
912 if (man->last->next != NULL) { in roff_node_append()
913 n->next = man->last->next; in roff_node_append()
914 man->last->next->prev = n; in roff_node_append()
916 man->last->parent->last = n; in roff_node_append()
917 man->last->next = n; in roff_node_append()
918 n->prev = man->last; in roff_node_append()
919 n->parent = man->last->parent; in roff_node_append()
922 if (man->last->child != NULL) { in roff_node_append()
923 n->next = man->last->child; in roff_node_append()
924 man->last->child->prev = n; in roff_node_append()
926 man->last->last = n; in roff_node_append()
927 man->last->child = n; in roff_node_append()
928 n->parent = man->last; in roff_node_append()
933 man->last = n; in roff_node_append()
961 roff_word_alloc(struct roff_man *man, int line, int pos, const char *word) in roff_word_alloc() argument
965 n = roff_node_alloc(man, line, pos, ROFFT_TEXT, TOKEN_NONE); in roff_word_alloc()
966 n->string = roff_strdup(man->roff, word); in roff_word_alloc()
967 roff_node_append(man, n); in roff_word_alloc()
969 man->next = ROFF_NEXT_SIBLING; in roff_word_alloc()
973 roff_word_append(struct roff_man *man, const char *word) in roff_word_append() argument
978 n = man->last; in roff_word_append()
979 addstr = roff_strdup(man->roff, word); in roff_word_append()
984 man->next = ROFF_NEXT_SIBLING; in roff_word_append()
988 roff_elem_alloc(struct roff_man *man, int line, int pos, int tok) in roff_elem_alloc() argument
992 n = roff_node_alloc(man, line, pos, ROFFT_ELEM, tok); in roff_elem_alloc()
993 roff_node_append(man, n); in roff_elem_alloc()
994 man->next = ROFF_NEXT_CHILD; in roff_elem_alloc()
998 roff_block_alloc(struct roff_man *man, int line, int pos, int tok) in roff_block_alloc() argument
1002 n = roff_node_alloc(man, line, pos, ROFFT_BLOCK, tok); in roff_block_alloc()
1003 roff_node_append(man, n); in roff_block_alloc()
1004 man->next = ROFF_NEXT_CHILD; in roff_block_alloc()
1009 roff_head_alloc(struct roff_man *man, int line, int pos, int tok) in roff_head_alloc() argument
1013 n = roff_node_alloc(man, line, pos, ROFFT_HEAD, tok); in roff_head_alloc()
1014 roff_node_append(man, n); in roff_head_alloc()
1015 man->next = ROFF_NEXT_CHILD; in roff_head_alloc()
1020 roff_body_alloc(struct roff_man *man, int line, int pos, int tok) in roff_body_alloc() argument
1024 n = roff_node_alloc(man, line, pos, ROFFT_BODY, tok); in roff_body_alloc()
1025 roff_node_append(man, n); in roff_body_alloc()
1026 man->next = ROFF_NEXT_CHILD; in roff_body_alloc()
1031 roff_addtbl(struct roff_man *man, int line, struct tbl_node *tbl) in roff_addtbl() argument
1036 if (man->meta.macroset == MACROSET_MAN) in roff_addtbl()
1037 man_breakscope(man, ROFF_TS); in roff_addtbl()
1039 n = roff_node_alloc(man, line, 0, ROFFT_TBL, TOKEN_NONE); in roff_addtbl()
1041 roff_node_append(man, n); in roff_addtbl()
1043 man->next = ROFF_NEXT_SIBLING; in roff_addtbl()
1048 roff_node_unlink(struct roff_man *man, struct roff_node *n) in roff_node_unlink() argument
1069 if (man == NULL) in roff_node_unlink()
1071 if (man->last == n) { in roff_node_unlink()
1073 man->last = n->parent; in roff_node_unlink()
1074 man->next = ROFF_NEXT_CHILD; in roff_node_unlink()
1076 man->last = n->prev; in roff_node_unlink()
1077 man->next = ROFF_NEXT_SIBLING; in roff_node_unlink()
1080 if (man->meta.first == n) in roff_node_unlink()
1081 man->meta.first = NULL; in roff_node_unlink()
1085 roff_node_relink(struct roff_man *man, struct roff_node *n) in roff_node_relink() argument
1087 roff_node_unlink(man, n); in roff_node_relink()
1089 roff_node_append(man, n); in roff_node_relink()
1107 roff_node_delete(struct roff_man *man, struct roff_node *n) in roff_node_delete() argument
1111 roff_node_delete(man, n->child); in roff_node_delete()
1112 roff_node_unlink(man, n); in roff_node_delete()
1303 if (r->man->meta.rcsids & rcsid) in roff_parse_comment()
1306 r->man->meta.rcsids |= rcsid; in roff_parse_comment()
1324 n = roff_node_alloc(r->man, ln, stesc + 1 - buf->buf, in roff_parse_comment()
1327 roff_node_append(r->man, n); in roff_parse_comment()
1329 r->man->next = ROFF_NEXT_SIBLING; in roff_parse_comment()
1751 r->man->last = roffce_node; in roff_parsetext()
1752 r->man->next = ROFF_NEXT_SIBLING; in roff_parsetext()
1805 (r->man->flags & ROFF_NOFILL) == 0 && in roff_parseln()
1859 roff_addtbl(r->man, ln, r->tbl); in roff_parseln()
1912 roff_addtbl(r->man, ln, r->tbl); in roff_req_or_macro()
1921 r->man->last = roffce_node; in roff_req_or_macro()
1922 r->man->next = ROFF_NEXT_SIBLING; in roff_req_or_macro()
3295 r->man->flags &= ~ROFF_NONOFILL; in roff_TE()
3395 if (r->man->meta.macroset == MACROSET_MAN) in roff_EQ()
3396 man_breakscope(r->man, ROFF_EQ); in roff_EQ()
3397 n = roff_node_alloc(r->man, ln, ppos, ROFFT_EQN, TOKEN_NONE); in roff_EQ()
3398 if (ln > r->man->last->line) in roff_EQ()
3401 roff_node_append(r->man, n); in roff_EQ()
3402 r->man->next = ROFF_NEXT_SIBLING; in roff_EQ()
3440 r->man->flags |= ROFF_NONOFILL; in roff_TS()
3451 if (r->man->flags & (MAN_BLINE | MAN_ELINE)) in roff_noarg()
3452 man_breakscope(r->man, tok); in roff_noarg()
3455 roff_elem_alloc(r->man, ln, ppos, tok); in roff_noarg()
3460 r->man->flags |= ROFF_NOFILL; in roff_noarg()
3462 r->man->flags &= ~ROFF_NOFILL; in roff_noarg()
3463 r->man->last->flags |= NODE_LINE | NODE_VALID | NODE_ENDED; in roff_noarg()
3464 r->man->next = ROFF_NEXT_SIBLING; in roff_noarg()
3475 if (r->man->flags & (MAN_BLINE | MAN_ELINE) && in roff_onearg()
3478 man_breakscope(r->man, tok); in roff_onearg()
3481 r->man->last = roffce_node; in roff_onearg()
3482 r->man->next = ROFF_NEXT_SIBLING; in roff_onearg()
3485 roff_elem_alloc(r->man, ln, ppos, tok); in roff_onearg()
3486 n = r->man->last; in roff_onearg()
3498 roff_word_alloc(r->man, ln, pos, buf->buf + pos); in roff_onearg()
3502 if (r->man->last->type == ROFFT_ELEM) { in roff_onearg()
3503 roff_word_alloc(r->man, ln, pos, "1"); in roff_onearg()
3504 r->man->last->flags |= NODE_NOSRC; in roff_onearg()
3507 if (roff_evalnum(ln, r->man->last->string, &npos, in roff_onearg()
3514 r->man->last = r->man->last->parent; in roff_onearg()
3518 roffce_node = r->man->last->parent; in roff_onearg()
3521 r->man->last = n; in roff_onearg()
3524 r->man->next = ROFF_NEXT_SIBLING; in roff_onearg()
3534 roff_elem_alloc(r->man, ln, ppos, tok); in roff_manyarg()
3535 n = r->man->last; in roff_manyarg()
3542 roff_word_alloc(r->man, ln, sp - buf->buf, sp); in roff_manyarg()
3546 r->man->last = n; in roff_manyarg()
3547 r->man->next = ROFF_NEXT_SIBLING; in roff_manyarg()
3743 roff_elem_alloc(r->man, ln, ppos, tok); in roff_mc()
3744 n = r->man->last; in roff_mc()
3746 roff_word_alloc(r->man, ln, pos, buf->buf + pos); in roff_mc()
3748 r->man->last = n; in roff_mc()
3749 r->man->next = ROFF_NEXT_SIBLING; in roff_mc()
4231 if (r->man->meta.macroset != MACROSET_MAN) { in roff_getstrn()
4245 if (r->man->meta.macroset != MACROSET_MDOC) { in roff_getstrn()