// Code generated by cmd/cgo; DO NOT EDIT. //line /Users/win/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.15/sqlite3_load_extension.go:1:1 // Copyright (C) 2019 Yasuhiro Matsumoto . // // Use of this source code is governed by an MIT-style // license that can be found in the LICENSE file. // +build !sqlite_omit_load_extension package sqlite3 /* #ifndef USE_LIBSQLITE3 #include "sqlite3-binding.h" #else #include #endif #include */ import _ "unsafe" import ( "errors" "unsafe" ) func (c *SQLiteConn) loadExtensions(extensions []string) error { rv := func() _Ctype_int{ _cgo0 := /*line :25:40*/c.db; var _cgo1 _Ctype_int = /*line :25:46*/1; _cgoCheckPointer(_cgo0, nil); return /*line :25:48*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }() if rv != ( /*line :26:11*/_Ciconst_SQLITE_OK /*line :26:21*/) { return errors.New(( /*line :27:21*/_Cfunc_GoString /*line :27:30*/)(func() *_Ctype_char{ _cgo0 := /*line :27:49*/c.db; _cgoCheckPointer(_cgo0, nil); return /*line :27:54*/_Cfunc_sqlite3_errmsg(_cgo0); }())) } for _, extension := range extensions { if err := c.loadExtension(extension, nil); err != nil { func() _Ctype_int{ _cgo0 := /*line :32:36*/c.db; var _cgo1 _Ctype_int = /*line :32:42*/0; _cgoCheckPointer(_cgo0, nil); return /*line :32:44*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }() return err } } rv = func() _Ctype_int{ _cgo0 := /*line :37:39*/c.db; var _cgo1 _Ctype_int = /*line :37:45*/0; _cgoCheckPointer(_cgo0, nil); return /*line :37:47*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }() if rv != ( /*line :38:11*/_Ciconst_SQLITE_OK /*line :38:21*/) { return errors.New(( /*line :39:21*/_Cfunc_GoString /*line :39:30*/)(func() *_Ctype_char{ _cgo0 := /*line :39:49*/c.db; _cgoCheckPointer(_cgo0, nil); return /*line :39:54*/_Cfunc_sqlite3_errmsg(_cgo0); }())) } return nil } // LoadExtension load the sqlite3 extension. func (c *SQLiteConn) LoadExtension(lib string, entry string) error { rv := func() _Ctype_int{ _cgo0 := /*line :47:40*/c.db; var _cgo1 _Ctype_int = /*line :47:46*/1; _cgoCheckPointer(_cgo0, nil); return /*line :47:48*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }() if rv != ( /*line :48:11*/_Ciconst_SQLITE_OK /*line :48:21*/) { return errors.New(( /*line :49:21*/_Cfunc_GoString /*line :49:30*/)(func() *_Ctype_char{ _cgo0 := /*line :49:49*/c.db; _cgoCheckPointer(_cgo0, nil); return /*line :49:54*/_Cfunc_sqlite3_errmsg(_cgo0); }())) } if err := c.loadExtension(lib, &entry); err != nil { func() _Ctype_int{ _cgo0 := /*line :53:35*/c.db; var _cgo1 _Ctype_int = /*line :53:41*/0; _cgoCheckPointer(_cgo0, nil); return /*line :53:43*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }() return err } rv = func() _Ctype_int{ _cgo0 := /*line :57:39*/c.db; var _cgo1 _Ctype_int = /*line :57:45*/0; _cgoCheckPointer(_cgo0, nil); return /*line :57:47*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }() if rv != ( /*line :58:11*/_Ciconst_SQLITE_OK /*line :58:21*/) { return errors.New(( /*line :59:21*/_Cfunc_GoString /*line :59:30*/)(func() *_Ctype_char{ _cgo0 := /*line :59:49*/c.db; _cgoCheckPointer(_cgo0, nil); return /*line :59:54*/_Cfunc_sqlite3_errmsg(_cgo0); }())) } return nil } func (c *SQLiteConn) loadExtension(lib string, entry *string) error { clib := ( /*line :66:10*/_Cfunc_CString /*line :66:18*/)(lib) defer func() func() { _cgo0 := /*line :67:15*/unsafe.Pointer(clib); return func() { _cgoCheckPointer(_cgo0, nil); /*line :67:36*/_Cfunc_free(_cgo0); }}()() var centry * /*line :69:14*/_Ctype_char /*line :69:20*/ if entry != nil { centry = ( /*line :71:12*/_Cfunc_CString /*line :71:20*/)(*entry) defer func() func() { _cgo0 := /*line :72:16*/unsafe.Pointer(centry); return func() { _cgoCheckPointer(_cgo0, nil); /*line :72:39*/_Cfunc_free(_cgo0); }}()() } var errMsg * /*line :75:14*/_Ctype_char /*line :75:20*/ defer func() func() { _cgo0 := /*line :76:23*/unsafe.Pointer(errMsg); return func() { _cgoCheckPointer(_cgo0, nil); /*line :76:46*/_Cfunc_sqlite3_free(_cgo0); }}()() rv := func() _Ctype_int{ _cgo0 := /*line :78:33*/c.db; var _cgo1 *_Ctype_char = /*line :78:39*/clib; var _cgo2 *_Ctype_char = /*line :78:45*/centry; _cgoBase3 := /*line :78:53*/&errMsg; _cgo3 := _cgoBase3; _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgoBase3, 0 == 0); return /*line :78:61*/_Cfunc_sqlite3_load_extension(_cgo0, _cgo1, _cgo2, _cgo3); }() if rv != ( /*line :79:11*/_Ciconst_SQLITE_OK /*line :79:21*/) { return errors.New(( /*line :80:21*/_Cfunc_GoString /*line :80:30*/)(errMsg)) } return nil }