aboutsummaryrefslogtreecommitdiff
path: root/sqlite3_opt_unlock_notify.go
diff options
context:
space:
mode:
authorMura Li <mura_li@example.com>2018-10-24 00:09:35 +0800
committerMura Li <mura_li@example.com>2018-10-24 00:12:27 +0800
commitd12a1386ff44e004770271410a56723a4fae5602 (patch)
tree239f1948e41bb4009f4b2f6b53ce11c330082599 /sqlite3_opt_unlock_notify.go
parentMerge pull request #439 from typeless/add-unlock-notify (diff)
downloadgolite-d12a1386ff44e004770271410a56723a4fae5602.tar.gz
golite-d12a1386ff44e004770271410a56723a4fae5602.tar.xz
Fix build failure on Windows/386
The array size exceeds the address space of 32-bit platform. See https://github.com/mattn/go-sqlite3/issues/238
Diffstat (limited to 'sqlite3_opt_unlock_notify.go')
-rw-r--r--sqlite3_opt_unlock_notify.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/sqlite3_opt_unlock_notify.go b/sqlite3_opt_unlock_notify.go
index ee29439..e2fcefc 100644
--- a/sqlite3_opt_unlock_notify.go
+++ b/sqlite3_opt_unlock_notify.go
@@ -19,6 +19,7 @@ extern void unlock_notify_callback(void *arg, int argc);
import "C"
import (
"fmt"
+ "math"
"sync"
"unsafe"
)
@@ -59,7 +60,7 @@ func (t *unlock_notify_table) get(h uint) chan struct{} {
//export unlock_notify_callback
func unlock_notify_callback(argv unsafe.Pointer, argc C.int) {
for i := 0; i < int(argc); i++ {
- parg := ((*(*[1 << 30]*[1]uint)(argv))[i])
+ parg := ((*(*[(math.MaxInt32 - 1) / unsafe.Sizeof(uintptr)]*[1]uint)(argv))[i])
arg := *parg
h := arg[0]
c := unt.get(h)