From ac0129617fd4293e7c341a48bba2adfc85f5afe1 Mon Sep 17 00:00:00 2001 From: Egon Elbre Date: Sun, 12 Apr 2015 14:59:29 +0300 Subject: Fix NULs in text. NUL character is a valid symbols in UTF8. Fixes #195 --- sqlite3.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sqlite3.go') diff --git a/sqlite3.go b/sqlite3.go index f4de3fd..99924bf 100644 --- a/sqlite3.go +++ b/sqlite3.go @@ -624,7 +624,9 @@ func (rc *SQLiteRows) Next(dest []driver.Value) error { case C.SQLITE_TEXT: var err error var timeVal time.Time - s := C.GoString((*C.char)(unsafe.Pointer(C.sqlite3_column_text(rc.s.s, C.int(i))))) + + n := int(C.sqlite3_column_bytes(rc.s.s, C.int(i))) + s := C.GoStringN((*C.char)(unsafe.Pointer(C.sqlite3_column_text(rc.s.s, C.int(i)))), C.int(n)) switch rc.decltype[i] { case "timestamp", "datetime", "date": -- cgit v1.2.3