From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from krisdoz.my.domain (schwarze@localhost [127.0.0.1]) by krisdoz.my.domain (8.14.5/8.14.5) with ESMTP id s47GJ3ij005480 for ; Wed, 7 May 2014 12:19:03 -0400 (EDT) Received: (from schwarze@localhost) by krisdoz.my.domain (8.14.5/8.14.3/Submit) id s47GJ3XO001443; Wed, 7 May 2014 12:19:03 -0400 (EDT) Date: Wed, 7 May 2014 12:19:03 -0400 (EDT) Message-Id: <201405071619.s47GJ3XO001443@krisdoz.my.domain> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: schwarze@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: Render roff escape sequences contained in manual page X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- Render roff escape sequences contained in manual page descriptions before putting them into the mpages table. Issue found by bentley@ in OpenBSD::Getopt(3p). Modified Files: -------------- mdocml: mandocdb.c Revision Data ------------- Index: mandocdb.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mandocdb.c,v retrieving revision 1.147 retrieving revision 1.148 diff -Lmandocdb.c -Lmandocdb.c -u -p -r1.147 -r1.148 --- mandocdb.c +++ mandocdb.c @@ -2036,12 +2036,21 @@ dbadd(struct mpage *mpage, struct mchars if (debug) say(mlink->file, "Adding to database"); + i = strlen(mpage->desc) + 1; + key = mandoc_calloc(1, sizeof(struct str) + i); + memcpy(key->key, mpage->desc, i); + render_key(mc, key); + i = 1; - SQL_BIND_TEXT(stmts[STMT_INSERT_PAGE], i, mpage->desc); + SQL_BIND_TEXT(stmts[STMT_INSERT_PAGE], i, key->rendered); SQL_BIND_INT(stmts[STMT_INSERT_PAGE], i, FORM_SRC == mpage->form); SQL_STEP(stmts[STMT_INSERT_PAGE]); mpage->pageid = sqlite3_last_insert_rowid(db); sqlite3_reset(stmts[STMT_INSERT_PAGE]); + + if (key->rendered != key->key) + free(key->rendered); + free(key); while (NULL != mlink) { dbadd_mlink(mlink); -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv