diff options
Diffstat (limited to 'callback.go')
-rw-r--r-- | callback.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/callback.go b/callback.go index e2bf3c6..48fc63a 100644 --- a/callback.go +++ b/callback.go @@ -11,7 +11,11 @@ package sqlite3 // code for SQLite custom functions is in here. /* +#ifndef USE_LIBSQLITE3 #include <sqlite3-binding.h> +#else +#include <sqlite3.h> +#endif #include <stdlib.h> void _sqlite3_result_text(sqlite3_context* ctx, const char* s); @@ -36,8 +40,8 @@ func callbackTrampoline(ctx *C.sqlite3_context, argc int, argv **C.sqlite3_value } //export stepTrampoline -func stepTrampoline(ctx *C.sqlite3_context, argc int, argv **C.sqlite3_value) { - args := (*[(math.MaxInt32 - 1) / unsafe.Sizeof((*C.sqlite3_value)(nil))]*C.sqlite3_value)(unsafe.Pointer(argv))[:argc:argc] +func stepTrampoline(ctx *C.sqlite3_context, argc C.int, argv **C.sqlite3_value) { + args := (*[(math.MaxInt32 - 1) / unsafe.Sizeof((*C.sqlite3_value)(nil))]*C.sqlite3_value)(unsafe.Pointer(argv))[:int(argc):int(argc)] ai := lookupHandle(uintptr(C.sqlite3_user_data(ctx))).(*aggInfo) ai.Step(ctx, args) } |