All checks were successful
Test / Create distribution (push) Successful in 27s
Test / Sandbox (push) Successful in 1m45s
Test / Fortify (push) Successful in 2m40s
Test / Sandbox (race detector) (push) Successful in 2m52s
Test / Fpkg (push) Successful in 3m25s
Test / Fortify (race detector) (push) Successful in 4m10s
Test / Flake checks (push) Successful in 1m6s
This is an implementation detail that was exported for the bwrap argument builder. The removal of that package allows it to be unexported. Signed-off-by: Ophestra <cat@gensokyo.uk>
31 lines
465 B
Go
31 lines
465 B
Go
package seccomp
|
|
|
|
import "C"
|
|
import "sync/atomic"
|
|
|
|
var printlnP atomic.Pointer[func(v ...any)]
|
|
|
|
func SetOutput(f func(v ...any)) {
|
|
if f == nil {
|
|
// avoid storing nil function
|
|
printlnP.Store(nil)
|
|
} else {
|
|
printlnP.Store(&f)
|
|
}
|
|
}
|
|
|
|
func GetOutput() func(v ...any) {
|
|
if fp := printlnP.Load(); fp == nil {
|
|
return nil
|
|
} else {
|
|
return *fp
|
|
}
|
|
}
|
|
|
|
//export f_println
|
|
func f_println(v *C.char) {
|
|
if fp := printlnP.Load(); fp != nil {
|
|
(*fp)(C.GoString(v))
|
|
}
|
|
}
|