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  }