summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/podman/save.go15
1 files changed, 9 insertions, 6 deletions
diff --git a/cmd/podman/save.go b/cmd/podman/save.go
index 1f4b1ce7f..6b26ab832 100644
--- a/cmd/podman/save.go
+++ b/cmd/podman/save.go
@@ -144,20 +144,23 @@ func saveCmd(c *cli.Context) error {
return nil
}
-func imageNameForSaveDestination(newImage *libpodImage.Image, source string) string {
- if !strings.Contains(newImage.ID(), source) {
+// imageNameForSaveDestination returns a Docker-like reference appropriate for saving img,
+// which the user referred to as imgUserInput; or an empty string, if there is no appropriate
+// reference.
+func imageNameForSaveDestination(img *libpodImage.Image, imgUserInput string) string {
+ if !strings.Contains(img.ID(), imgUserInput) {
prepend := ""
- if !strings.Contains(source, libpodImage.DefaultLocalRepo) {
+ if !strings.Contains(imgUserInput, libpodImage.DefaultLocalRepo) {
// we need to check if localhost was added to the image name in NewFromLocal
- for _, name := range newImage.Names() {
+ for _, name := range img.Names() {
// if the user searched for the image whose tag was prepended with localhost, we'll need to prepend localhost to successfully search
- if strings.Contains(name, libpodImage.DefaultLocalRepo) && strings.Contains(name, source) {
+ if strings.Contains(name, libpodImage.DefaultLocalRepo) && strings.Contains(name, imgUserInput) {
prepend = fmt.Sprintf("%s/", libpodImage.DefaultLocalRepo)
break
}
}
}
- return fmt.Sprintf("%s%s", prepend, source)
+ return fmt.Sprintf("%s%s", prepend, imgUserInput)
}
return ""
}