Compare commits

..

2 Commits

2 changed files with 13 additions and 14 deletions

View File

@@ -14,7 +14,6 @@ go get git.vsu.ru/ai/cgpcli
package main package main
import ( import (
"fmt"
"git.vsu.ru/ai/cgpcli" "git.vsu.ru/ai/cgpcli"
) )

View File

@@ -106,6 +106,16 @@ func isCGPSafeString(s string) bool {
return true return true
} }
var cgpSizeUnits = []struct {
suffix string
value int64
}{
{"T", 1024 * 1024 * 1024 * 1024},
{"G", 1024 * 1024 * 1024},
{"M", 1024 * 1024},
{"K", 1024},
}
// formatCGPSize преобразует байты в формат CGP (1K, 5M, 10G) или "unlimited". // formatCGPSize преобразует байты в формат CGP (1K, 5M, 10G) или "unlimited".
func formatCGPSize(v int64) string { func formatCGPSize(v int64) string {
if v == -1 { if v == -1 {
@@ -114,18 +124,9 @@ func formatCGPSize(v int64) string {
if v == 0 { if v == 0 {
return "0" return "0"
} }
units := []struct { for _, u := range cgpSizeUnits {
suffix string
value int64
}{
{"T", 1024 * 1024 * 1024 * 1024},
{"G", 1024 * 1024 * 1024},
{"M", 1024 * 1024},
{"K", 1024},
}
for _, u := range units {
if v%u.value == 0 { if v%u.value == 0 {
return fmt.Sprintf("%d%s", v/u.value, u.suffix) return strconv.FormatInt(v/u.value, 10) + u.suffix
} }
} }
return strconv.FormatInt(v, 10) return strconv.FormatInt(v, 10)
@@ -193,8 +194,7 @@ func marshal(w encodeWriter, v any, keyName string) (err error) {
case cgpIPSBSA: case cgpIPSBSA:
w.WriteByte('"') w.WriteByte('"')
ips := []net.IP(val) for i, ip := range val {
for i, ip := range ips {
if i > 0 { if i > 0 {
w.WriteString(", ") w.WriteString(", ")
} }