mirror of https://github.com/mattn/go-sqlite3.git
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
This commit is contained in:
parent
f3aa5ce899
commit
d12a1386ff
|
@ -19,6 +19,7 @@ extern void unlock_notify_callback(void *arg, int argc);
|
||||||
import "C"
|
import "C"
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math"
|
||||||
"sync"
|
"sync"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
@ -59,7 +60,7 @@ func (t *unlock_notify_table) get(h uint) chan struct{} {
|
||||||
//export unlock_notify_callback
|
//export unlock_notify_callback
|
||||||
func unlock_notify_callback(argv unsafe.Pointer, argc C.int) {
|
func unlock_notify_callback(argv unsafe.Pointer, argc C.int) {
|
||||||
for i := 0; i < int(argc); i++ {
|
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
|
arg := *parg
|
||||||
h := arg[0]
|
h := arg[0]
|
||||||
c := unt.get(h)
|
c := unt.get(h)
|
||||||
|
|
Loading…
Reference in New Issue