diff options
| author | Paul Buetow <paul@buetow.org> | 2025-03-24 22:36:15 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-03-24 22:36:15 +0200 |
| commit | 1e09e1fa9ab053d793010f6e8cedbbca75076edf (patch) | |
| tree | 1e7e78552620222c5ad4bac364947d21c037522d /internal/file/flags.go | |
| parent | 91bdec412bf5701c8dfe4b5e1a8ec841a18c004a (diff) | |
more on this
Diffstat (limited to 'internal/file/flags.go')
| -rw-r--r-- | internal/file/flags.go | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/internal/file/flags.go b/internal/file/flags.go index d3d5819..85c73ce 100644 --- a/internal/file/flags.go +++ b/internal/file/flags.go @@ -7,10 +7,7 @@ import ( "syscall" ) -// TODO: syscalls fcntl and dup3 and many more can also manipulate open flags -// Check the tracepoint formates for 'flags' -// Maybe need new BPF type and pass through the ring -var flagsToHumanCache = map[int32]string{-1: "O_?"} +var flagsToHumanCache = map[int32]string{} type tuple struct { syscallNr int @@ -38,13 +35,14 @@ var flagsToHuman = []tuple{ {syscall.O_TRUNC, "O_TRUNC"}, } -func flagsToStr(flags int32) string { +func flagsToStr(sb *strings.Builder, flags int32) { if str, ok := flagsToHumanCache[flags]; ok { - return str + sb.WriteString(str) + return } str := strings.Join(flagsToStrs(flags), "|") flagsToHumanCache[flags] = fmt.Sprintf("%O=>%s", flags, str) - return str + sb.WriteString(str) } func flagsToStrs(flags int32) (result []string) { |
