Lines Matching refs:man

34 #include "man.h"
39 #define CHKARGS struct roff_man *man, struct roff_node *n
99 man_node_validate(struct roff_man *man)
104 n = man->last;
105 man->last = man->last->child;
106 while (man->last != NULL) {
107 man_node_validate(man);
108 if (man->last == n)
109 man->last = man->last->child;
111 man->last = man->last->next;
114 man->last = n;
115 man->next = ROFF_NEXT_SIBLING;
118 check_text(man, n);
121 check_root(man, n);
131 post_vs(man, n);
134 roff_validate(man);
142 (*cp)(man, n);
143 if (man->last == n)
144 man_state(man, n);
153 assert((man->flags & (MAN_BLINE | MAN_ELINE)) == 0);
155 if (NULL == man->first->child)
156 mandoc_msg(MANDOCERR_DOC_EMPTY, man->parse,
159 man->meta.hasbody = 1;
161 if (NULL == man->meta.title) {
162 mandoc_msg(MANDOCERR_TH_NOTITLE, man->parse,
170 man->meta.title = mandoc_strdup("");
171 man->meta.msec = mandoc_strdup("");
172 man->meta.date = man->quick ? mandoc_strdup("") :
173 mandoc_normdate(man, NULL, n->line, n->pos);
176 if (man->meta.os_e &&
177 (man->meta.rcsids & (1 << man->meta.os_e)) == 0)
178 mandoc_msg(MANDOCERR_RCS_MISSING, man->parse, 0, 0,
179 man->meta.os_e == MANDOC_OS_OPENBSD ?
188 if (MAN_LITERAL & man->flags)
193 mandoc_msg(MANDOCERR_FI_TAB, man->parse,
202 mandoc_msg(MANDOCERR_OP_EMPTY, man->parse,
206 mandoc_vmsg(MANDOCERR_ARG_EXCESS, man->parse,
215 mandoc_msg(MANDOCERR_UR_NOHEAD, man->parse,
217 check_part(man, n);
225 mandoc_msg(MANDOCERR_BLK_EMPTY, man->parse,
236 roff_node_delete(man, n);
241 man->parse, n->line, n->pos,
247 man->parse, n->line, n->pos, "%s %s%s",
263 roff_node_delete(man, n);
268 man->parse, n->line, n->pos,
282 free(man->meta.title);
283 free(man->meta.vol);
284 free(man->meta.os);
285 free(man->meta.msec);
286 free(man->meta.date);
288 man->meta.title = man->meta.vol = man->meta.date =
289 man->meta.msec = man->meta.os = NULL;
302 man->parse, n->line,
308 man->meta.title = mandoc_strdup(n->string);
310 man->meta.title = mandoc_strdup("");
311 mandoc_msg(MANDOCERR_TH_NOTITLE, man->parse,
320 man->meta.msec = mandoc_strdup(n->string);
322 man->meta.msec = mandoc_strdup("");
323 mandoc_vmsg(MANDOCERR_MSEC_MISSING, man->parse,
324 nb->line, nb->pos, "TH %s", man->meta.title);
332 man->meta.date = man->quick ?
334 mandoc_normdate(man, n->string, n->line, n->pos);
336 man->meta.date = mandoc_strdup("");
337 mandoc_msg(MANDOCERR_DATE_MISSING, man->parse,
345 man->meta.os = mandoc_strdup(n->string);
346 else if (man->os_s != NULL)
347 man->meta.os = mandoc_strdup(man->os_s);
348 if (man->meta.os_e == MANDOC_OS_OTHER && man->meta.os != NULL) {
349 if (strstr(man->meta.os, "OpenBSD") != NULL)
350 man->meta.os_e = MANDOC_OS_OPENBSD;
351 else if (strstr(man->meta.os, "NetBSD") != NULL)
352 man->meta.os_e = MANDOC_OS_NETBSD;
359 man->meta.vol = mandoc_strdup(n->string);
360 else if ('\0' != man->meta.msec[0] &&
361 (NULL != (p = mandoc_a2msec(man->meta.msec))))
362 man->meta.vol = mandoc_strdup(p);
365 mandoc_vmsg(MANDOCERR_ARG_EXCESS, man->parse,
372 roff_node_delete(man, man->last);
408 free(man->meta.os);
409 man->meta.os = mandoc_strdup(p);
447 free(man->meta.os);
448 man->meta.os = mandoc_strdup(p);
480 mandoc_vmsg(MANDOCERR_PAR_SKIP, man->parse, n->line, n->pos,
489 roff_node_delete(man, n);