Lines Matching defs:man

18  * Validation module for man(7) syntax trees used by mandoc(1).
38 #include "man.h"
44 #define CHKARGS struct roff_man *man, struct roff_node *n
109 /* Validate the subtree rooted at man->last. */
111 man_validate(struct roff_man *man)
121 n = man->last;
122 man->last = man->last->child;
123 while (man->last != NULL) {
124 man_validate(man);
125 if (man->last == n)
126 man->last = man->last->child;
128 man->last = man->last->next;
133 man->last = n;
134 man->next = ROFF_NEXT_SIBLING;
137 check_text(man, n);
140 check_root(man, n);
148 roff_validate(man);
154 (*cp)(man, n);
155 if (man->last == n)
164 assert((man->flags & (MAN_BLINE | MAN_ELINE)) == 0);
169 man->meta.hasbody = 1;
171 if (NULL == man->meta.title) {
179 man->meta.title = mandoc_strdup("");
180 man->meta.msec = mandoc_strdup("");
181 man->meta.date = mandoc_normdate(NULL, NULL);
184 if (man->meta.os_e &&
185 (man->meta.rcsids & (1 << man->meta.os_e)) == 0)
187 man->meta.os_e == MANDOC_OS_OPENBSD ?
307 roff_node_delete(man, nc);
336 man->next = ROFF_NEXT_CHILD;
337 roff_node_relink(man, nc->body->last);
338 man->last = n;
346 roff_node_delete(man, nc);
358 roff_node_delete(man, nc);
385 roff_node_delete(man, n);
394 roff_node_delete(man, n->child);
418 roff_node_delete(man, n);
470 free(man->meta.title);
471 free(man->meta.vol);
472 free(man->meta.os);
473 free(man->meta.msec);
474 free(man->meta.date);
476 man->meta.title = man->meta.vol = man->meta.date =
477 man->meta.msec = man->meta.os = NULL;
495 man->meta.title = mandoc_strdup(n->string);
497 man->meta.title = mandoc_strdup("UNTITLED");
506 man->meta.msec = mandoc_strdup(n->string);
507 if (man->filesec != '\0' &&
508 man->filesec != *n->string &&
511 "*.%c vs TH ... %c", man->filesec, *n->string);
513 man->meta.msec = mandoc_strdup("");
515 nb->line, nb->pos, "TH %s", man->meta.title);
522 if (man->quick && n != NULL)
523 man->meta.date = mandoc_strdup("");
525 man->meta.date = mandoc_normdate(n, nb);
530 man->meta.os = mandoc_strdup(n->string);
531 else if (man->os_s != NULL)
532 man->meta.os = mandoc_strdup(man->os_s);
533 if (man->meta.os_e == MANDOC_OS_OTHER && man->meta.os != NULL) {
534 if (strstr(man->meta.os, "OpenBSD") != NULL)
535 man->meta.os_e = MANDOC_OS_OPENBSD;
536 else if (strstr(man->meta.os, "NetBSD") != NULL)
537 man->meta.os_e = MANDOC_OS_NETBSD;
544 man->meta.vol = mandoc_strdup(n->string);
545 else if ('\0' != man->meta.msec[0] &&
546 (NULL != (p = mandoc_a2msec(man->meta.msec))))
547 man->meta.vol = mandoc_strdup(p);
557 roff_node_delete(man, man->last);
583 roff_node_delete(man, nch->next);
619 free(man->meta.os);
620 man->meta.os = mandoc_strdup(p);
658 free(man->meta.os);
659 man->meta.os = mandoc_strdup(p);