github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/pkg/parsers/operatingsystem/windows_os_string.go (about) 1 package operatingsystem // import "github.com/Prakhar-Agarwal-byte/moby/pkg/parsers/operatingsystem" 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 type windowsOSRelease struct { 9 IsServer bool 10 DisplayVersion string 11 Build uint32 12 UBR uint64 13 } 14 15 // String formats the OS release data similar to what is displayed by 16 // winver.exe. 17 func (r *windowsOSRelease) String() string { 18 var b strings.Builder 19 b.WriteString("Microsoft Windows") 20 if r.IsServer { 21 b.WriteString(" Server") 22 } 23 if r.DisplayVersion != "" { 24 b.WriteString(" Version ") 25 b.WriteString(r.DisplayVersion) 26 } 27 _, _ = fmt.Fprintf(&b, " (OS Build %d", r.Build) 28 if r.UBR > 0 { 29 _, _ = fmt.Fprintf(&b, ".%d", r.UBR) 30 } 31 b.WriteByte(')') 32 return b.String() 33 }