=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/mdoc_validate.c,v retrieving revision 1.230 retrieving revision 1.231 diff -c -r1.230 -r1.231 *** src/usr.bin/mandoc/mdoc_validate.c 2017/01/10 13:46:53 1.230 --- src/usr.bin/mandoc/mdoc_validate.c 2017/01/10 21:54:34 1.231 *************** *** 1,4 **** ! /* $OpenBSD: mdoc_validate.c,v 1.230 2017/01/10 13:46:53 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2017 Ingo Schwarze --- 1,4 ---- ! /* $OpenBSD: mdoc_validate.c,v 1.231 2017/01/10 21:54:34 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2017 Ingo Schwarze *************** *** 102,107 **** --- 102,108 ---- static void post_st(POST_ARGS); static void post_std(POST_ARGS); static void post_xr(POST_ARGS); + static void post_xx(POST_ARGS); static v_post mdoc_valids[MDOC_MAX] = { NULL, /* Ap */ *************** *** 164,170 **** post_bf, /* Bf */ NULL, /* Bo */ NULL, /* Bq */ ! NULL, /* Bsx */ post_bx, /* Bx */ post_obsolete, /* Db */ NULL, /* Dc */ --- 165,171 ---- post_bf, /* Bf */ NULL, /* Bo */ NULL, /* Bq */ ! post_xx, /* Bsx */ post_bx, /* Bx */ post_obsolete, /* Db */ NULL, /* Dc */ *************** *** 174,185 **** NULL, /* Ef */ NULL, /* Em */ NULL, /* Eo */ ! NULL, /* Fx */ NULL, /* Ms */ NULL, /* No */ post_ns, /* Ns */ ! NULL, /* Nx */ ! NULL, /* Ox */ NULL, /* Pc */ NULL, /* Pf */ NULL, /* Po */ --- 175,186 ---- NULL, /* Ef */ NULL, /* Em */ NULL, /* Eo */ ! post_xx, /* Fx */ NULL, /* Ms */ NULL, /* No */ post_ns, /* Ns */ ! post_xx, /* Nx */ ! post_xx, /* Ox */ NULL, /* Pc */ NULL, /* Pf */ NULL, /* Po */ *************** *** 197,203 **** post_hyph, /* Sx */ NULL, /* Sy */ NULL, /* Tn */ ! NULL, /* Ux */ NULL, /* Xc */ NULL, /* Xo */ post_fo, /* Fo */ --- 198,204 ---- post_hyph, /* Sx */ NULL, /* Sy */ NULL, /* Tn */ ! post_xx, /* Ux */ NULL, /* Xc */ NULL, /* Xo */ post_fo, /* Fo */ *************** *** 220,226 **** NULL, /* %C */ post_es, /* Es */ post_en, /* En */ ! NULL, /* Dx */ NULL, /* %Q */ post_par, /* br */ post_par, /* sp */ --- 221,227 ---- NULL, /* %C */ post_es, /* Es */ post_en, /* En */ ! post_xx, /* Dx */ NULL, /* %Q */ post_par, /* br */ post_par, /* sp */ *************** *** 1019,1024 **** --- 1020,1060 ---- post_obsolete(mdoc); mdoc->last_es = mdoc->last; + } + + static void + post_xx(POST_ARGS) + { + struct roff_node *n; + const char *os; + + n = mdoc->last; + switch (n->tok) { + case MDOC_Bsx: + os = "BSD/OS"; + break; + case MDOC_Dx: + os = "DragonFly"; + break; + case MDOC_Fx: + os = "FreeBSD"; + break; + case MDOC_Nx: + os = "NetBSD"; + break; + case MDOC_Ox: + os = "OpenBSD"; + break; + case MDOC_Ux: + os = "UNIX"; + break; + default: + abort(); + } + mdoc->next = ROFF_NEXT_CHILD; + roff_word_alloc(mdoc, n->line, n->pos, os); + mdoc->last->flags |= NODE_NOSRC; + mdoc->last = n; } static void