summaryrefslogtreecommitdiff
path: root/vendor/modernc.org/libc/libc32.go
diff options
context:
space:
mode:
authorLibravatar dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2023-11-06 14:40:53 +0000
committerLibravatar GitHub <noreply@github.com>2023-11-06 14:40:53 +0000
commit28f85db30afe5709c9814186ae14eb12199cbc35 (patch)
tree3e7292cc6e9c97dc35feadec95a9fe00ad63890e /vendor/modernc.org/libc/libc32.go
parent[feature] support canceling scheduled tasks, some federation API performance ... (diff)
downloadgotosocial-28f85db30afe5709c9814186ae14eb12199cbc35.tar.xz
[chore]: Bump modernc.org/sqlite from 1.26.0 to 1.27.0 (#2339)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/modernc.org/libc/libc32.go')
-rw-r--r--vendor/modernc.org/libc/libc32.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/vendor/modernc.org/libc/libc32.go b/vendor/modernc.org/libc/libc32.go
index 060728489..c66732e48 100644
--- a/vendor/modernc.org/libc/libc32.go
+++ b/vendor/modernc.org/libc/libc32.go
@@ -7,6 +7,13 @@
package libc // import "modernc.org/libc"
+import (
+ "unsafe"
+
+ "modernc.org/libc/limits"
+ "modernc.org/libc/sys/types"
+)
+
const (
heapSize = 1 << 30 // Adjust for your debugging session requirements and system RAM size.
)
@@ -28,3 +35,44 @@ type bits []int
func newBits(n int) (r bits) { return make(bits, (n+31)>>5) }
func (b bits) has(n int) bool { return b != nil && b[n>>5]&(1<<uint(n&31)) != 0 }
func (b bits) set(n int) { b[n>>5] |= 1 << uint(n&31) }
+
+func x___strchrnul(tls *TLS, s uintptr, c int32) (r uintptr) {
+ var k types.Size_t
+ var w uintptr
+ _, _ = k, w
+ c = int32(uint8(c))
+ if !(c != 0) {
+ return s + uintptr(Xstrlen(tls, s))
+ }
+ for {
+ if !(uint32(s)%Uint32FromInt64(4) != 0) {
+ break
+ }
+ if !(*(*int8)(unsafe.Pointer(s)) != 0) || int32(*(*uint8)(unsafe.Pointer(s))) == c {
+ return s
+ }
+ goto _1
+ _1:
+ s++
+ }
+ k = uint32(-Int32FromInt32(1)) / Uint32FromInt32(limits.UCHAR_MAX) * uint32(c)
+ w = s
+ for {
+ if !(!((*(*uint32)(unsafe.Pointer(w))-uint32(-Int32FromInt32(1))/Uint32FromInt32(limits.UCHAR_MAX)) & ^*(*uint32)(unsafe.Pointer(w)) & (uint32(-Int32FromInt32(1))/Uint32FromInt32(limits.UCHAR_MAX)*uint32(Int32FromInt32(limits.UCHAR_MAX)/Int32FromInt32(2)+Int32FromInt32(1))) != 0) && !((*(*uint32)(unsafe.Pointer(w))^k-uint32(-Int32FromInt32(1))/Uint32FromInt32(limits.UCHAR_MAX)) & ^(*(*uint32)(unsafe.Pointer(w))^k) & (uint32(-Int32FromInt32(1))/Uint32FromInt32(limits.UCHAR_MAX)*uint32(Int32FromInt32(limits.UCHAR_MAX)/Int32FromInt32(2)+Int32FromInt32(1))) != 0)) {
+ break
+ }
+ goto _2
+ _2:
+ w += 4
+ }
+ s = w
+ for {
+ if !(*(*int8)(unsafe.Pointer(s)) != 0 && int32(*(*uint8)(unsafe.Pointer(s))) != c) {
+ break
+ }
+ goto _3
+ _3:
+ s++
+ }
+ return s
+}