From 15f7805ab7d044633a350c184879f241494dbdef Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Fri, 9 Dec 2011 00:49:01 +0000 Subject: Strip backspace encoding from preformatted manuals. This cleans up a lot of catpage entries in the mandoc databases. --- mandocdb.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'mandocdb.c') diff --git a/mandocdb.c b/mandocdb.c index 81e27a0e..aaa80a46 100644 --- a/mandocdb.c +++ b/mandocdb.c @@ -1,4 +1,4 @@ -/* $Id: mandocdb.c,v 1.28 2011/12/08 09:19:13 kristaps Exp $ */ +/* $Id: mandocdb.c,v 1.29 2011/12/09 00:49:01 kristaps Exp $ */ /* * Copyright (c) 2011 Kristaps Dzonsons * Copyright (c) 2011 Ingo Schwarze @@ -1336,6 +1336,18 @@ pformatted(DB *hash, struct buf *buf, struct buf *dbuf, p[plen] = '\0'; } + /* Strip backspace-encoding from line. */ + + while (NULL != (line = memchr(p, '\b', plen))) { + len = line - p; + if (0 == len) { + memmove(line, line + 1, plen--); + continue; + } + memmove(line - 1, line + 1, plen - len); + plen -= 2; + } + buf_appendb(dbuf, p, plen + 1); buf->len = 0; buf_appendb(buf, p, plen + 1); -- cgit v1.2.3-56-ge451