From 13ba08fba28359eed35972f3bc7acfdef42ca79b Mon Sep 17 00:00:00 2001 From: D4MI4NX <105593627+D4MI4NX@users.noreply.github.com> Date: Tue, 5 Aug 2025 07:54:48 +0200 Subject: [PATCH] db.sqlite: fix get_text trimming data after (including) first 0 character (#25040) --- vlib/db/sqlite/sqlite.c.v | 2 ++ vlib/db/sqlite/stmt.c.v | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/vlib/db/sqlite/sqlite.c.v b/vlib/db/sqlite/sqlite.c.v index 2a294304a3..bbd38deabb 100644 --- a/vlib/db/sqlite/sqlite.c.v +++ b/vlib/db/sqlite/sqlite.c.v @@ -122,6 +122,8 @@ fn C.sqlite3_column_count(&C.sqlite3_stmt) int fn C.sqlite3_column_type(&C.sqlite3_stmt, int) int +fn C.sqlite3_column_bytes(&C.sqlite3_stmt, int) int + // fn C.sqlite3_errstr(int) &char diff --git a/vlib/db/sqlite/stmt.c.v b/vlib/db/sqlite/stmt.c.v index 8068e0c9f1..56d63025de 100644 --- a/vlib/db/sqlite/stmt.c.v +++ b/vlib/db/sqlite/stmt.c.v @@ -74,7 +74,8 @@ fn (stmt &Stmt) get_text(idx int) ?string { if b == &char(unsafe { nil }) { return '' } - return unsafe { b.vstring() } + l := C.sqlite3_column_bytes(stmt.stmt, idx) + return unsafe { b.vstring_with_len(l) } } }