package system

import (
	"path/filepath"
	"strings"
)

// DefaultSystemVolumeName is the default system volume label on Windows
const DefaultSystemVolumeName = "C:"

// IsAbsolutePath prepends the default system volume label
// to the path that is presumed absolute, and then calls filepath.IsAbs
func IsAbsolutePath(path string) bool {
	path = filepath.Clean(path)
	if strings.HasPrefix(path, "\\") {
		path = DefaultSystemVolumeName + path
	}
	return filepath.IsAbs(path)
}

// GetAbsolutePath returns an absolute path rooted
// to C:\\ on Windows.
func GetAbsolutePath(path string) string {
	path = filepath.Clean(path)
	if len(path) >= 2 && strings.EqualFold(path[:2], DefaultSystemVolumeName) {
		return path
	}
	return DefaultSystemVolumeName + path
}