Dear All,
Consider the following code
if ( sqlite3_get_table(sqlite3,sql,resultp,nrow,ncolumn,errmsg) ==
SQLITE_OK)
{
do.......
do....
do...
sqlite3_free_table(result);
return;
} else {
return;
}
The question is:
Is it right to not call the sqlite3_free_table() function if the
sqlite3_get_table()
returns an error?
Or must I call sqlite3_free_table() in any case?
The documentation says
After the calling function has finished using the result, it should pass
the result data pointer to sqlite3_free_table()
in order to release the memory that was malloc-ed. Because of the way the
malloc() happens, the calling function
must not try to call malloc() directly.
Only sqlite3_free_table() is able to release the memory properly and
safely.
and it is not clear (to me) if a call sqlite3_free_table() is required in
case of errors.
Regards
Massimo