mirror of
https://github.com/fluencelabs/sqlite
synced 2025-04-24 17:02:14 +00:00
fix sqlite3_bind_blob
This commit is contained in:
parent
4179ccd6f9
commit
cb62ab800e
@ -1442,14 +1442,22 @@ static int bindText(
|
|||||||
int sqlite3_bind_blob_(
|
int sqlite3_bind_blob_(
|
||||||
sqlite3_stmt *pStmt,
|
sqlite3_stmt *pStmt,
|
||||||
int i,
|
int i,
|
||||||
const void *zData,
|
char *zData,
|
||||||
int nData,
|
int nData,
|
||||||
void (*xDel)(void*)
|
void (*xDel)(void*)
|
||||||
) __EXPORT_NAME(sqlite3_bind_blob) {
|
) __EXPORT_NAME(sqlite3_bind_blob) {
|
||||||
char *copied_zData = malloc(nData);
|
const int copied_nData = nData / 8;
|
||||||
memcpy(copied_zData, zData, nData);
|
char *copied_zData = malloc(copied_nData);
|
||||||
|
|
||||||
const int result = sqlite3_bind_blob(pStmt, i, copied_zData, nData, xDel);
|
if (copied_zData == 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int char_id = 0; char_id < copied_nData; ++char_id) {
|
||||||
|
copied_zData[char_id] = zData[char_id * 8];
|
||||||
|
}
|
||||||
|
|
||||||
|
const int result = sqlite3_bind_blob(pStmt, i, copied_zData, copied_nData, 0);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -28,4 +28,3 @@ int get_result_size(void) {
|
|||||||
const char *get_result_ptr() {
|
const char *get_result_ptr() {
|
||||||
return RESULT_PTR;
|
return RESULT_PTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user