From 565ff80d9be6a7583f24925dd25776af7eee7075 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Fri, 29 Oct 2021 10:35:16 +0200 Subject: [PATCH] unix: change darwin Eproc/ExternProc members from int8 array to byte array CL 328169 added Eproc and ExternProc types on darwin which have some int8 array members containing human-readable strings. In order to make it easier to convert these to Go strings, change them to byte arrays. Change-Id: I200494fd90d8506bce0f52a039ea59703981c8d3 Reviewed-on: https://go-review.googlesource.com/c/sys/+/359674 Trust: Tobias Klauser Run-TryBot: Tobias Klauser TryBot-Result: Go Bot Reviewed-by: Ian Lance Taylor --- unix/mkpost.go | 5 +++++ unix/ztypes_darwin_amd64.go | 6 +++--- unix/ztypes_darwin_arm64.go | 6 +++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/unix/mkpost.go b/unix/mkpost.go index 42000693..a2755180 100644 --- a/unix/mkpost.go +++ b/unix/mkpost.go @@ -63,6 +63,11 @@ func main() { // the process creation time. externProcStarttimeRegex := regexp.MustCompile(`P_un\s*\[\d+\]byte`) b = externProcStarttimeRegex.ReplaceAll(b, []byte("P_starttime Timeval")) + + // Convert [n]int8 to [n]byte in Eproc and ExternProc members to + // simplify conversion to string. + convertEprocRegex := regexp.MustCompile(`(P_comm|Wmesg|Login)(\s+)\[(\d+)\]int8`) + b = convertEprocRegex.ReplaceAll(b, []byte("$1$2[$3]byte")) } // Intentionally export __val fields in Fsid and Sigset_t diff --git a/unix/ztypes_darwin_amd64.go b/unix/ztypes_darwin_amd64.go index 7efe5ccb..885842c0 100644 --- a/unix/ztypes_darwin_amd64.go +++ b/unix/ztypes_darwin_amd64.go @@ -641,13 +641,13 @@ type Eproc struct { Tdev int32 Tpgid int32 Tsess uintptr - Wmesg [8]int8 + Wmesg [8]byte Xsize int32 Xrssize int16 Xccount int16 Xswrss int16 Flag int32 - Login [12]int8 + Login [12]byte Spare [4]int32 _ [4]byte } @@ -688,7 +688,7 @@ type ExternProc struct { P_priority uint8 P_usrpri uint8 P_nice int8 - P_comm [17]int8 + P_comm [17]byte P_pgrp uintptr P_addr uintptr P_xstat uint16 diff --git a/unix/ztypes_darwin_arm64.go b/unix/ztypes_darwin_arm64.go index b23a2efe..b23c0233 100644 --- a/unix/ztypes_darwin_arm64.go +++ b/unix/ztypes_darwin_arm64.go @@ -641,13 +641,13 @@ type Eproc struct { Tdev int32 Tpgid int32 Tsess uintptr - Wmesg [8]int8 + Wmesg [8]byte Xsize int32 Xrssize int16 Xccount int16 Xswrss int16 Flag int32 - Login [12]int8 + Login [12]byte Spare [4]int32 _ [4]byte } @@ -688,7 +688,7 @@ type ExternProc struct { P_priority uint8 P_usrpri uint8 P_nice int8 - P_comm [17]int8 + P_comm [17]byte P_pgrp uintptr P_addr uintptr P_xstat uint16