version 1.147, 2014/05/07 15:10:36 |
version 1.149, 2014/06/18 19:34:04 |
Line 2036 dbadd(struct mpage *mpage, struct mchars *mc) |
|
Line 2036 dbadd(struct mpage *mpage, struct mchars *mc) |
|
if (debug) |
if (debug) |
say(mlink->file, "Adding to database"); |
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; |
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_BIND_INT(stmts[STMT_INSERT_PAGE], i, FORM_SRC == mpage->form); |
SQL_STEP(stmts[STMT_INSERT_PAGE]); |
SQL_STEP(stmts[STMT_INSERT_PAGE]); |
mpage->pageid = sqlite3_last_insert_rowid(db); |
mpage->pageid = sqlite3_last_insert_rowid(db); |
sqlite3_reset(stmts[STMT_INSERT_PAGE]); |
sqlite3_reset(stmts[STMT_INSERT_PAGE]); |
|
|
|
if (key->rendered != key->key) |
|
free(key->rendered); |
|
free(key); |
|
|
while (NULL != mlink) { |
while (NULL != mlink) { |
dbadd_mlink(mlink); |
dbadd_mlink(mlink); |
mlink = mlink->next; |
mlink = mlink->next; |
Line 2221 dbopen(int real) |
|
Line 2230 dbopen(int real) |
|
rc = sqlite3_open_v2(MANDOC_DB, &db, ofl, NULL); |
rc = sqlite3_open_v2(MANDOC_DB, &db, ofl, NULL); |
if (SQLITE_OK != rc) { |
if (SQLITE_OK != rc) { |
exitcode = (int)MANDOCLEVEL_SYSERR; |
exitcode = (int)MANDOCLEVEL_SYSERR; |
say(MANDOC_DB, "%s", sqlite3_errstr(rc)); |
if (SQLITE_CANTOPEN != rc) |
|
say(MANDOC_DB, "%s", sqlite3_errstr(rc)); |
return(0); |
return(0); |
} |
} |
goto prepare_statements; |
goto prepare_statements; |