diff --git a/dbdimp.c b/dbdimp.c index 783a2d7..9393317 100644 --- a/dbdimp.c +++ b/dbdimp.c @@ -272,7 +272,7 @@ sqlite_st_prepare (SV *sth, imp_sth_t *imp_sth, imp_sth->retval = SQLITE_OK; imp_sth->params = newAV(); imp_sth->col_types = newAV(); - Newz(0, imp_sth->statement, strlen(statement)+1, char); + imp_sth->statement = savepv(statement); /* store the query for later re-use if required */ if ((retval = sqlite3_prepare_v2(imp_dbh->db, statement, -1, &(imp_sth->stmt), &extra)) != SQLITE_OK) @@ -284,9 +284,6 @@ sqlite_st_prepare (SV *sth, imp_sth_t *imp_sth, return FALSE; /* -> undef in lib/DBD/SQLite.pm */ } - /* store the query for later re-use if required */ - Copy(statement, imp_sth->statement, strlen(statement)+1, char); - DBIc_NUM_PARAMS(imp_sth) = sqlite3_bind_parameter_count(imp_sth->stmt); DBIc_NUM_FIELDS(imp_sth) = sqlite3_column_count(imp_sth->stmt); DBIc_IMPSET_on(imp_sth);