Lines Matching full:man

18  * Validation module for man(7) syntax trees used by mandoc(1).
36 #include "man.h"
42 #define CHKARGS struct roff_man *man, struct roff_node *n
107 /* Validate the subtree rooted at man->last. */
109 man_validate(struct roff_man *man) in man_validate() argument
119 n = man->last; in man_validate()
120 man->last = man->last->child; in man_validate()
121 while (man->last != NULL) { in man_validate()
122 man_validate(man); in man_validate()
123 if (man->last == n) in man_validate()
124 man->last = man->last->child; in man_validate()
126 man->last = man->last->next; in man_validate()
131 man->last = n; in man_validate()
132 man->next = ROFF_NEXT_SIBLING; in man_validate()
135 check_text(man, n); in man_validate()
138 check_root(man, n); in man_validate()
146 roff_validate(man); in man_validate()
152 (*cp)(man, n); in man_validate()
153 if (man->last == n) in man_validate()
162 assert((man->flags & (MAN_BLINE | MAN_ELINE)) == 0); in check_root()
167 man->meta.hasbody = 1; in check_root()
169 if (NULL == man->meta.title) { in check_root()
177 man->meta.title = mandoc_strdup(""); in check_root()
178 man->meta.msec = mandoc_strdup(""); in check_root()
179 man->meta.date = mandoc_normdate(NULL, NULL); in check_root()
182 if (man->meta.os_e && in check_root()
183 (man->meta.rcsids & (1 << man->meta.os_e)) == 0) in check_root()
185 man->meta.os_e == MANDOC_OS_OPENBSD ? in check_root()
326 man->next = ROFF_NEXT_CHILD; in post_SH()
327 roff_node_relink(man, nc->body->last); in post_SH()
328 man->last = n; in post_SH()
336 roff_node_delete(man, nc); in post_SH()
348 roff_node_delete(man, nc); in post_SH()
375 roff_node_delete(man, n); in check_par()
384 roff_node_delete(man, n->child); in check_par()
408 roff_node_delete(man, n); in post_IP()
460 free(man->meta.title); in post_TH()
461 free(man->meta.vol); in post_TH()
462 free(man->meta.os); in post_TH()
463 free(man->meta.msec); in post_TH()
464 free(man->meta.date); in post_TH()
466 man->meta.title = man->meta.vol = man->meta.date = in post_TH()
467 man->meta.msec = man->meta.os = NULL; in post_TH()
485 man->meta.title = mandoc_strdup(n->string); in post_TH()
487 man->meta.title = mandoc_strdup(""); in post_TH()
496 man->meta.msec = mandoc_strdup(n->string); in post_TH()
497 if (man->filesec != '\0' && in post_TH()
498 man->filesec != *n->string && in post_TH()
501 "*.%c vs TH ... %c", man->filesec, *n->string); in post_TH()
503 man->meta.msec = mandoc_strdup(""); in post_TH()
505 nb->line, nb->pos, "TH %s", man->meta.title); in post_TH()
512 if (man->quick && n != NULL) in post_TH()
513 man->meta.date = mandoc_strdup(""); in post_TH()
515 man->meta.date = mandoc_normdate(n, nb); in post_TH()
520 man->meta.os = mandoc_strdup(n->string); in post_TH()
521 else if (man->os_s != NULL) in post_TH()
522 man->meta.os = mandoc_strdup(man->os_s); in post_TH()
523 if (man->meta.os_e == MANDOC_OS_OTHER && man->meta.os != NULL) { in post_TH()
524 if (strstr(man->meta.os, "OpenBSD") != NULL) in post_TH()
525 man->meta.os_e = MANDOC_OS_OPENBSD; in post_TH()
526 else if (strstr(man->meta.os, "NetBSD") != NULL) in post_TH()
527 man->meta.os_e = MANDOC_OS_NETBSD; in post_TH()
534 man->meta.vol = mandoc_strdup(n->string); in post_TH()
535 else if ('\0' != man->meta.msec[0] && in post_TH()
536 (NULL != (p = mandoc_a2msec(man->meta.msec)))) in post_TH()
537 man->meta.vol = mandoc_strdup(p); in post_TH()
547 roff_node_delete(man, man->last); in post_TH()
573 roff_node_delete(man, nch->next); in post_MR()
609 free(man->meta.os); in post_UC()
610 man->meta.os = mandoc_strdup(p); in post_UC()
648 free(man->meta.os); in post_AT()
649 man->meta.os = mandoc_strdup(p); in post_AT()