=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/mandocdb.c,v retrieving revision 1.219 retrieving revision 1.220 diff -c -r1.219 -r1.220 *** src/usr.bin/mandoc/mandocdb.c 2022/12/26 19:16:02 1.219 --- src/usr.bin/mandoc/mandocdb.c 2024/05/14 18:38:13 1.220 *************** *** 1,4 **** ! /* $OpenBSD: mandocdb.c,v 1.219 2022/12/26 19:16:02 jmc Exp $ */ /* * Copyright (c) 2011-2020 Ingo Schwarze * Copyright (c) 2011, 2012 Kristaps Dzonsons --- 1,4 ---- ! /* $OpenBSD: mandocdb.c,v 1.220 2024/05/14 18:38:13 schwarze Exp $ */ /* * Copyright (c) 2011-2020 Ingo Schwarze * Copyright (c) 2011, 2012 Kristaps Dzonsons *************** *** 326,332 **** goto usage; \ } while (/*CONSTCOND*/0) ! mparse_options = MPARSE_VALIDATE; path_arg = NULL; op = OP_DEFAULT; --- 326,332 ---- goto usage; \ } while (/*CONSTCOND*/0) ! mparse_options = MPARSE_UTF8 | MPARSE_LATIN1 | MPARSE_VALIDATE; path_arg = NULL; op = OP_DEFAULT; *************** *** 1987,1993 **** */ scp++; ! if (mandoc_escape(&scp, &seq, &seqlen) != ESCAPE_SPECIAL) continue; /* --- 1987,2007 ---- */ scp++; ! switch (mandoc_escape(&scp, &seq, &seqlen)) { ! case ESCAPE_UNICODE: ! unicode = mchars_num2uc(seq + 1, seqlen - 1); ! break; ! case ESCAPE_NUMBERED: ! unicode = mchars_num2char(seq, seqlen); ! break; ! case ESCAPE_SPECIAL: ! unicode = mchars_spec2cp(seq, seqlen); ! break; ! default: ! unicode = -1; ! break; ! } ! if (unicode <= 0) continue; /* *************** *** 1996,2016 **** */ if (write_utf8) { - unicode = mchars_spec2cp(seq, seqlen); - if (unicode <= 0) - continue; addsz = utf8(unicode, utfbuf); if (addsz == 0) continue; addcp = utfbuf; } else { ! addcp = mchars_spec2str(seq, seqlen, &addsz); if (addcp == NULL) continue; ! if (*addcp == ASCII_NBRSP) { addcp = " "; ! addsz = 1; ! } } /* Copy the rendered glyph into the stream. */ --- 2010,2026 ---- */ if (write_utf8) { addsz = utf8(unicode, utfbuf); if (addsz == 0) continue; addcp = utfbuf; } else { ! addcp = mchars_uc2str(unicode); if (addcp == NULL) continue; ! if (*addcp == ASCII_NBRSP) addcp = " "; ! addsz = strlen(addcp); } /* Copy the rendered glyph into the stream. */