diff options
| author | Paul Buetow <paul@buetow.org> | 2024-02-21 00:38:47 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-02-21 00:38:47 +0200 |
| commit | 78df0341b28d07234388763f050d1b18b7c3d231 (patch) | |
| tree | be0af2bd5b2332bdb491c3814b7ea38a2a1df22b /internal/generated | |
| parent | a502550e06bfc9630972b8990de788a6efae92e6 (diff) | |
convert C-strings (char-arrays) into Go strings in String method
Diffstat (limited to 'internal/generated')
| -rw-r--r-- | internal/generated/nqc.raku | 8 | ||||
| -rw-r--r-- | internal/generated/tracepoints.go | 16 | ||||
| -rw-r--r-- | internal/generated/types/types.go | 10 |
3 files changed, 19 insertions, 15 deletions
diff --git a/internal/generated/nqc.raku b/internal/generated/nqc.raku index f358e2a..a777ba1 100644 --- a/internal/generated/nqc.raku +++ b/internal/generated/nqc.raku @@ -44,10 +44,14 @@ class NQCToGoActions { method !struct-go-string-method($/) returns Str { my Str $self-ref = $<identifier>.lc.substr(0,1); my Str @format = $<member>.map({ $_.<identifier>.made ~ ':%v' }); - my Str @args = $<member>.map({ "$self-ref." ~ $_.<identifier>.made }); + my Str @args = $<member>.map({ + my Str $ref = "$self-ref." ~ $_.<identifier>.made; + # Need to convert char-arrays into a Go slice, and then convert via string(...) + ($_.<type> eq 'char' && $_.<arraysize>) ?? "string({$ref}[:])" !! $ref; + }); return qq:to/END/; - func ({$self-ref} {$<identifier>}) String() string \{ + func ({$self-ref} {$<identifier>.made}) String() string \{ \treturn fmt.Sprintf("{@format.join(' ')}", {@args.join(', ')}) \} END diff --git a/internal/generated/tracepoints.go b/internal/generated/tracepoints.go index 480feed..f4f891a 100644 --- a/internal/generated/tracepoints.go +++ b/internal/generated/tracepoints.go @@ -2,13 +2,13 @@ package generated var TracepointList = []string{ - "enter_close" - "exit_close" - "enter_openat" - "exit_openat" - "enter_open" - "exit_open" - "enter_write" - "exit_write" + "enter_close", + "exit_close", + "enter_openat", + "exit_openat", + "enter_open", + "exit_open", + "enter_write", + "exit_write", } diff --git a/internal/generated/types/types.go b/internal/generated/types/types.go index 2cee711..505b1ca 100644 --- a/internal/generated/types/types.go +++ b/internal/generated/types/types.go @@ -14,7 +14,7 @@ type NullEvent struct { Time uint64 } -func (n null_event) String() string { +func (n NullEvent) String() string { return fmt.Sprintf("OpId:%v PidTgid:%v Time:%v", n.OpId, n.PidTgid, n.Time) } @@ -26,7 +26,7 @@ type FdEvent struct { Fd int32 } -func (f fd_event) String() string { +func (f FdEvent) String() string { return fmt.Sprintf("OpId:%v PidTgid:%v Time:%v Fd:%v", f.OpId, f.PidTgid, f.Time, f.Fd) } @@ -39,8 +39,8 @@ type OpenatEnterEvent struct { Comm [MAX_PROGNAME_LENGTH]byte } -func (o openat_enter_event) String() string { - return fmt.Sprintf("OpId:%v PidTgid:%v Time:%v Filename:%v Comm:%v", o.OpId, o.PidTgid, o.Time, o.Filename, o.Comm) +func (o OpenatEnterEvent) String() string { + return fmt.Sprintf("OpId:%v PidTgid:%v Time:%v Filename:%v Comm:%v", o.OpId, o.PidTgid, o.Time, string(o.Filename[:]), string(o.Comm[:])) } @@ -48,7 +48,7 @@ type Flags struct { UidFilter uint32 } -func (f flags) String() string { +func (f Flags) String() string { return fmt.Sprintf("UidFilter:%v", f.UidFilter) } |
