=================================================================== RCS file: /cvs/mandoc/mandocdb.c,v retrieving revision 1.86 retrieving revision 1.87 diff -u -p -r1.86 -r1.87 --- mandoc/mandocdb.c 2013/12/27 16:17:32 1.86 +++ mandoc/mandocdb.c 2013/12/27 16:40:35 1.87 @@ -1,4 +1,4 @@ -/* $Id: mandocdb.c,v 1.86 2013/12/27 16:17:32 schwarze Exp $ */ +/* $Id: mandocdb.c,v 1.87 2013/12/27 16:40:35 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011, 2012, 2013 Ingo Schwarze @@ -1764,6 +1764,7 @@ utf8key(struct mchars *mc, struct str *key) static void dbindex(const struct mpage *mpage, struct mchars *mc) { + struct mlink *mlink; struct str *key; const char *desc; int64_t recno; @@ -1803,13 +1804,15 @@ dbindex(const struct mpage *mpage, struct mchars *mc) recno = sqlite3_last_insert_rowid(db); sqlite3_reset(stmts[STMT_INSERT_PAGE]); - i = 1; - SQL_BIND_TEXT(stmts[STMT_INSERT_LINK], i, mpage->mlinks->dsec); - SQL_BIND_TEXT(stmts[STMT_INSERT_LINK], i, mpage->mlinks->arch); - SQL_BIND_TEXT(stmts[STMT_INSERT_LINK], i, mpage->mlinks->file); - SQL_BIND_INT64(stmts[STMT_INSERT_LINK], i, recno); - SQL_STEP(stmts[STMT_INSERT_LINK]); - sqlite3_reset(stmts[STMT_INSERT_LINK]); + for (mlink = mpage->mlinks; mlink; mlink = mlink->next) { + i = 1; + SQL_BIND_TEXT(stmts[STMT_INSERT_LINK], i, mlink->dsec); + SQL_BIND_TEXT(stmts[STMT_INSERT_LINK], i, mlink->arch); + SQL_BIND_TEXT(stmts[STMT_INSERT_LINK], i, mlink->file); + SQL_BIND_INT64(stmts[STMT_INSERT_LINK], i, recno); + SQL_STEP(stmts[STMT_INSERT_LINK]); + sqlite3_reset(stmts[STMT_INSERT_LINK]); + } for (key = ohash_first(&strings, &slot); NULL != key; key = ohash_next(&strings, &slot)) {