Commit 2d0f3894 authored by Adrian Negreanu's avatar Adrian Negreanu

sqlite3: sometimes bindXParameter requires SQLITE_TRANSIENT

Signed-off-by: 's avatarAdrian Negreanu <groleo@gmail.com>
parent 6cee7ffd
...@@ -241,10 +241,10 @@ class TextGeneratorSqlite3Impl : public TextGeneratorIntf ...@@ -241,10 +241,10 @@ class TextGeneratorSqlite3Impl : public TextGeneratorIntf
static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def); static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def);
static void bindTextParameter(sqlite3_stmt *stmt,const char *name,const char *value) static void bindTextParameter(sqlite3_stmt *stmt,const char *name,const char *value, bool _static=TRUE)
{ {
int idx = sqlite3_bind_parameter_index(stmt, name); int idx = sqlite3_bind_parameter_index(stmt, name);
sqlite3_bind_text(stmt, idx, value, -1, SQLITE_STATIC); sqlite3_bind_text(stmt, idx, value, -1, _static==TRUE?SQLITE_STATIC:SQLITE_TRANSIENT);
} }
static void bindIntParameter(sqlite3_stmt *stmt,const char *name,int value) static void bindIntParameter(sqlite3_stmt *stmt,const char *name,int value)
...@@ -621,7 +621,7 @@ static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def) ...@@ -621,7 +621,7 @@ static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def)
//if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return; //if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return;
QCString memType; QCString memType;
// memberdef // memberdef
bindTextParameter(i_s_memberdef,":refid",md->anchor()); bindTextParameter(i_s_memberdef,":refid",md->anchor().data(),FALSE);
bindIntParameter(i_s_memberdef,":kind",md->memberType()); bindIntParameter(i_s_memberdef,":kind",md->memberType());
bindIntParameter(i_s_memberdef,":prot",md->protection()); bindIntParameter(i_s_memberdef,":prot",md->protection());
bindIntParameter(i_s_memberdef,":static",md->isStatic()); bindIntParameter(i_s_memberdef,":static",md->isStatic());
...@@ -696,7 +696,7 @@ static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def) ...@@ -696,7 +696,7 @@ static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def)
linkifyText(TextGeneratorSqlite3Impl(l),def,md->getBodyDef(),md,typeStr); linkifyText(TextGeneratorSqlite3Impl(l),def,md->getBodyDef(),md,typeStr);
if (typeStr.data()) if (typeStr.data())
{ {
bindTextParameter(i_s_memberdef,":type",typeStr); bindTextParameter(i_s_memberdef,":type",typeStr.data(),FALSE);
} }
if (md->definition()) if (md->definition())
...@@ -819,7 +819,7 @@ static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def) ...@@ -819,7 +819,7 @@ static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def)
if ( md->getScopeString() ) if ( md->getScopeString() )
{ {
bindTextParameter(i_s_memberdef,":scope",md->getScopeString()); bindTextParameter(i_s_memberdef,":scope",md->getScopeString().data(),FALSE);
} }
// File location // File location
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment