diff options
author | 2024-07-20 13:14:58 +0000 | |
---|---|---|
committer | 2024-07-20 14:14:58 +0100 | |
commit | 409b3987ac1741cfea1339e27464f789e318236f (patch) | |
tree | d19d928565c1b0d12cb2ce5bf24520f56525e2bd /vendor/codeberg.org/gruf/go-ffmpreg/util/funcs.go | |
parent | [chore/frontend] Use smaller webp images for logo and default avatars (#3119) (diff) | |
download | gotosocial-409b3987ac1741cfea1339e27464f789e318236f.tar.xz |
update go-ffmpreg to v0.2.3 (#3120)
Diffstat (limited to 'vendor/codeberg.org/gruf/go-ffmpreg/util/funcs.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-ffmpreg/util/funcs.go | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/vendor/codeberg.org/gruf/go-ffmpreg/util/funcs.go b/vendor/codeberg.org/gruf/go-ffmpreg/util/funcs.go deleted file mode 100644 index 4b584cf41..000000000 --- a/vendor/codeberg.org/gruf/go-ffmpreg/util/funcs.go +++ /dev/null @@ -1,65 +0,0 @@ -package util - -import ( - "context" - "os" - "path" - "strconv" - "time" - - "github.com/tetratelabs/wazero/api" -) - -// Wasm_Tempnam wraps Go_Tempnam to fulfill wazero's api.GoModuleFunc, -// the argument definition is (i32, i32) and return definition is (i32). -// NOTE: the calling module MUST have access to exported malloc / free. -func Wasm_Tempnam(ctx context.Context, mod api.Module, stack []uint64) { - dirptr := api.DecodeU32(stack[0]) - pfxptr := api.DecodeU32(stack[1]) - dir := readString(ctx, mod, dirptr, 0) - pfx := readString(ctx, mod, pfxptr, 0) - tmpstr := Go_Tempnam(dir, pfx) - tmpptr := writeString(ctx, mod, tmpstr) - stack[0] = api.EncodeU32(tmpptr) -} - -// Go_Tempname is functionally similar to C's tempnam. -func Go_Tempnam(dir, prefix string) string { - now := time.Now().Unix() - prefix = path.Join(dir, prefix) - for i := 0; i < 1000; i++ { - n := murmur2(uint32(now + int64(i))) - name := prefix + strconv.FormatUint(uint64(n), 10) - _, err := os.Stat(name) - if err == nil { - continue - } else if os.IsNotExist(err) { - return name - } else { - panic(err) - } - } - panic("too many attempts") -} - -// murmur2 is a simple uint32 murmur2 hash -// impl with fixed seed and input size. -func murmur2(k uint32) (h uint32) { - const ( - // seed ^ bitlen - s = uint32(2147483647) ^ 8 - - M = 0x5bd1e995 - R = 24 - ) - h = s - k *= M - k ^= k >> R - k *= M - h *= M - h ^= k - h ^= h >> 13 - h *= M - h ^= h >> 15 - return -} |