summaryrefslogtreecommitdiff
path: root/vendor/github.com/ncruces/go-sqlite3/sqlite.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2025-04-04 15:34:38 +0000
committerLibravatar GitHub <noreply@github.com>2025-04-04 17:34:38 +0200
commitdb4b85715966ee590c6cdff5cc52e592b66e3d17 (patch)
tree83642d3afe51fbe279e36a9a6c9069f785a0adeb /vendor/github.com/ncruces/go-sqlite3/sqlite.go
parent[bugfix] Fix Atkinson Hyperlegible font embedding on Ecks Pee theme. (#3964) (diff)
downloadgotosocial-db4b85715966ee590c6cdff5cc52e592b66e3d17.tar.xz
[chore] bump ncruces/go-sqlite3 to v0.25.0 (#3966)
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/sqlite.go')
-rw-r--r--vendor/github.com/ncruces/go-sqlite3/sqlite.go38
1 files changed, 17 insertions, 21 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/sqlite.go b/vendor/github.com/ncruces/go-sqlite3/sqlite.go
index 9e2d1d381..c05a86fde 100644
--- a/vendor/github.com/ncruces/go-sqlite3/sqlite.go
+++ b/vendor/github.com/ncruces/go-sqlite3/sqlite.go
@@ -120,33 +120,33 @@ func (sqlt *sqlite) error(rc res_t, handle ptr_t, sql ...string) error {
return nil
}
- err := Error{code: rc}
-
- if err.Code() == NOMEM || err.ExtendedCode() == IOERR_NOMEM {
+ if ErrorCode(rc) == NOMEM || xErrorCode(rc) == IOERR_NOMEM {
panic(util.OOMErr)
}
- if ptr := ptr_t(sqlt.call("sqlite3_errstr", stk_t(rc))); ptr != 0 {
- err.str = util.ReadString(sqlt.mod, ptr, _MAX_NAME)
- }
-
if handle != 0 {
+ var msg, query string
if ptr := ptr_t(sqlt.call("sqlite3_errmsg", stk_t(handle))); ptr != 0 {
- err.msg = util.ReadString(sqlt.mod, ptr, _MAX_LENGTH)
+ msg = util.ReadString(sqlt.mod, ptr, _MAX_LENGTH)
+ switch {
+ case msg == "not an error":
+ msg = ""
+ case msg == util.ErrorCodeString(uint32(rc))[len("sqlite3: "):]:
+ msg = ""
+ }
}
if len(sql) != 0 {
if i := int32(sqlt.call("sqlite3_error_offset", stk_t(handle))); i != -1 {
- err.sql = sql[0][i:]
+ query = sql[0][i:]
}
}
- }
- switch err.msg {
- case err.str, "not an error":
- err.msg = ""
+ if msg != "" || query != "" {
+ return &Error{code: rc, msg: msg, sql: query}
+ }
}
- return &err
+ return xErrorCode(rc)
}
func (sqlt *sqlite) getfn(name string) api.Function {
@@ -212,14 +212,10 @@ func (sqlt *sqlite) realloc(ptr ptr_t, size int64) ptr_t {
}
func (sqlt *sqlite) newBytes(b []byte) ptr_t {
- if (*[0]byte)(b) == nil {
+ if len(b) == 0 {
return 0
}
- size := len(b)
- if size == 0 {
- size = 1
- }
- ptr := sqlt.new(int64(size))
+ ptr := sqlt.new(int64(len(b)))
util.WriteBytes(sqlt.mod, ptr, b)
return ptr
}
@@ -288,7 +284,7 @@ func (a *arena) new(size int64) ptr_t {
}
func (a *arena) bytes(b []byte) ptr_t {
- if (*[0]byte)(b) == nil {
+ if len(b) == 0 {
return 0
}
ptr := a.new(int64(len(b)))