=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/mandocdb.c,v retrieving revision 1.70 retrieving revision 1.71 diff -c -r1.70 -r1.71 *** src/usr.bin/mandoc/mandocdb.c 2014/01/19 22:48:00 1.70 --- src/usr.bin/mandoc/mandocdb.c 2014/01/22 20:58:35 1.71 *************** *** 1,4 **** ! /* $Id: mandocdb.c,v 1.70 2014/01/19 22:48:00 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze --- 1,4 ---- ! /* $Id: mandocdb.c,v 1.71 2014/01/22 20:58:35 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze *************** *** 1656,1662 **** render_key(struct mchars *mc, struct str *key) { size_t sz, bsz, pos; ! char utfbuf[7], res[5]; char *buf; const char *seq, *cpp, *val; int len, u; --- 1656,1662 ---- render_key(struct mchars *mc, struct str *key) { size_t sz, bsz, pos; ! char utfbuf[7], res[6]; char *buf; const char *seq, *cpp, *val; int len, u; *************** *** 1668,1674 **** res[1] = '\t'; res[2] = ASCII_NBRSP; res[3] = ASCII_HYPH; ! res[4] = '\0'; val = key->key; bsz = strlen(val); --- 1668,1675 ---- res[1] = '\t'; res[2] = ASCII_NBRSP; res[3] = ASCII_HYPH; ! res[4] = ASCII_BREAK; ! res[5] = '\0'; val = key->key; bsz = strlen(val); *************** *** 1699,1713 **** val += sz; } ! if (ASCII_HYPH == *val) { buf[pos++] = '-'; val++; continue; ! } else if ('\t' == *val || ASCII_NBRSP == *val) { buf[pos++] = ' '; val++; continue; ! } else if ('\\' != *val) break; /* Read past the slash. */ --- 1700,1722 ---- val += sz; } ! switch (*val) { ! case (ASCII_HYPH): buf[pos++] = '-'; val++; continue; ! case ('\t'): ! /* FALLTHROUGH */ ! case (ASCII_NBRSP): buf[pos++] = ' '; val++; + /* FALLTHROUGH */ + case (ASCII_BREAK): continue; ! default: ! break; ! } ! if ('\\' != *val) break; /* Read past the slash. */