Merge pull request #1 from fiber/master

inserting zero-length strings failed.
This commit is contained in:
mattn 2011-12-03 04:59:22 -08:00
commit 7d29362424
1 changed files with 8 additions and 3 deletions

View File

@ -154,8 +154,13 @@ func (s *SQLiteStmt) bind(args []interface{}) error {
case nil: case nil:
rv = C.sqlite3_bind_null(s.s, n) rv = C.sqlite3_bind_null(s.s, n)
case string: case string:
if len(v) == 0 {
b := []byte{0}
rv = C._sqlite3_bind_text(s.s, n, (*C.char)(unsafe.Pointer(&b[0])), C.int(0))
} else {
b := []byte(v) b := []byte(v)
rv = C._sqlite3_bind_text(s.s, n, (*C.char)(unsafe.Pointer(&b[0])), C.int(len(b))) rv = C._sqlite3_bind_text(s.s, n, (*C.char)(unsafe.Pointer(&b[0])), C.int(len(b)))
}
case int: case int:
rv = C.sqlite3_bind_int(s.s, n, C.int(v)) rv = C.sqlite3_bind_int(s.s, n, C.int(v))
case int64: case int64: