aboutsummaryrefslogtreecommitdiff
path: root/sqlite3.go
diff options
context:
space:
mode:
authorEgon Elbre <egonelbre@gmail.com>2015-04-12 14:59:29 +0300
committerEgon Elbre <egonelbre@gmail.com>2015-04-12 15:02:50 +0300
commitac0129617fd4293e7c341a48bba2adfc85f5afe1 (patch)
tree177fc5461f6bd05dc6376d4b51b9086de388f5df /sqlite3.go
parentMerge pull request #188 from larsmans/optimize (diff)
downloadgolite-ac0129617fd4293e7c341a48bba2adfc85f5afe1.tar.gz
golite-ac0129617fd4293e7c341a48bba2adfc85f5afe1.tar.xz
Fix NULs in text.
NUL character is a valid symbols in UTF8. Fixes #195
Diffstat (limited to 'sqlite3.go')
-rw-r--r--sqlite3.go4
1 files changed, 3 insertions, 1 deletions
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":