Make easier to embed in LinuxKit

Split out util file in same way.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
Justin Cormack 2017-11-20 12:04:08 +00:00
parent 315e5f80e8
commit e3a7739f42
2 changed files with 29 additions and 22 deletions

View File

@ -9,7 +9,6 @@ import (
"net/http"
"os"
"path/filepath"
"strconv"
"strings"
"github.com/moby/tool/src/moby"
@ -32,27 +31,6 @@ func (f *formatList) Set(value string) error {
return nil
}
// Parse a string which is either a number in MB, or a number with
// either M (for Megabytes) or G (for GigaBytes) as a suffix and
// returns the number in MB. Return 0 if string is empty.
func getDiskSizeMB(s string) (int, error) {
if s == "" {
return 0, nil
}
sz := len(s)
if strings.HasSuffix(s, "G") {
i, err := strconv.Atoi(s[:sz-1])
if err != nil {
return 0, err
}
return i * 1024, nil
}
if strings.HasSuffix(s, "M") {
s = s[:sz-1]
}
return strconv.Atoi(s)
}
// Process the build arguments and execute build
func build(args []string) {
var buildFormats formatList

29
cmd/moby/util.go Normal file
View File

@ -0,0 +1,29 @@
package main
import (
"strconv"
"strings"
)
// This function parses the "size" parameter of a disk specification
// and returns the size in MB. The "size" parameter defaults to GB, but
// the unit can be explicitly set with either a G (for GB) or M (for
// MB). It returns the disk size in MB.
func getDiskSizeMB(s string) (int, error) {
if s == "" {
return 0, nil
}
sz := len(s)
if strings.HasSuffix(s, "M") {
return strconv.Atoi(s[:sz-1])
}
if strings.HasSuffix(s, "G") {
s = s[:sz-1]
}
i, err := strconv.Atoi(s)
if err != nil {
return 0, err
}
return 1024 * i, nil
}