mirror of
https://github.com/containers/podman
synced 2024-10-21 01:34:37 +00:00
Use []pullRefName instead of []*pullRefName
We are passing the values, don't really need the pointer sharing semantics, and the structures are small enough, and the arrays short enough, that we very likely lose on the indirect accesses more than we save on quicker copying of the slices when extending them. Value semantics is safer anyway. Should not change behavior. Signed-off-by: Miloslav Trmač <mitr@redhat.com> Closes: #1176 Approved by: rhatdan
This commit is contained in:
parent
83f40de965
commit
dae6200662
|
@ -62,11 +62,11 @@ type pullRefName struct {
|
|||
dstName string
|
||||
}
|
||||
|
||||
func singlePullRefNameGoal(rn *pullRefName) []*pullRefName {
|
||||
return []*pullRefName{rn}
|
||||
func singlePullRefNameGoal(rn pullRefName) []pullRefName {
|
||||
return []pullRefName{rn}
|
||||
}
|
||||
|
||||
func getPullRefName(srcRef types.ImageReference, destName string) *pullRefName {
|
||||
func getPullRefName(srcRef types.ImageReference, destName string) pullRefName {
|
||||
imgPart, err := decompose(destName)
|
||||
if err == nil && !imgPart.hasRegistry {
|
||||
// If the image doesn't have a registry, set it as the default repo
|
||||
|
@ -79,7 +79,7 @@ func getPullRefName(srcRef types.ImageReference, destName string) *pullRefName {
|
|||
if srcRef.DockerReference() != nil {
|
||||
reference = srcRef.DockerReference().String()
|
||||
}
|
||||
return &pullRefName{
|
||||
return pullRefName{
|
||||
image: destName,
|
||||
srcRef: srcRef,
|
||||
dstName: reference,
|
||||
|
@ -87,7 +87,7 @@ func getPullRefName(srcRef types.ImageReference, destName string) *pullRefName {
|
|||
}
|
||||
|
||||
// refNamesFromImageReference returns a list of pullRefName for a single ImageReference, depending on the used transport.
|
||||
func refNamesFromImageReference(ctx context.Context, srcRef types.ImageReference, imgName string, sc *types.SystemContext) ([]*pullRefName, error) {
|
||||
func refNamesFromImageReference(ctx context.Context, srcRef types.ImageReference, imgName string, sc *types.SystemContext) ([]pullRefName, error) {
|
||||
// supports pulling from docker-archive, oci, and registries
|
||||
switch srcRef.Transport().Name() {
|
||||
case DockerArchive:
|
||||
|
@ -121,7 +121,7 @@ func refNamesFromImageReference(ctx context.Context, srcRef types.ImageReference
|
|||
}
|
||||
|
||||
// Need to load in all the repo tags from the manifest
|
||||
res := []*pullRefName{}
|
||||
res := []pullRefName{}
|
||||
for _, dst := range manifest[0].RepoTags {
|
||||
pullInfo := getPullRefName(srcRef, dst)
|
||||
res = append(res, pullInfo)
|
||||
|
@ -262,7 +262,7 @@ func hasShaInInputName(inputName string) bool {
|
|||
|
||||
// refNamesFromPossiblyUnqualifiedName looks at a decomposed image and determines the possible
|
||||
// image names to try pulling in combination with the registries.conf file as well
|
||||
func refNamesFromPossiblyUnqualifiedName(inputName string) ([]*pullRefName, error) {
|
||||
func refNamesFromPossiblyUnqualifiedName(inputName string) ([]pullRefName, error) {
|
||||
decomposedImage, err := decompose(inputName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -287,14 +287,14 @@ func refNamesFromPossiblyUnqualifiedName(inputName string) ([]*pullRefName, erro
|
|||
} else {
|
||||
ps.dstName = ps.image
|
||||
}
|
||||
return singlePullRefNameGoal(&ps), nil
|
||||
return singlePullRefNameGoal(ps), nil
|
||||
}
|
||||
|
||||
searchRegistries, err := registries.GetRegistries()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var pullNames []*pullRefName
|
||||
var pullNames []pullRefName
|
||||
for _, registry := range searchRegistries {
|
||||
decomposedImage.registry = registry
|
||||
imageName := decomposedImage.assembleWithTransport()
|
||||
|
@ -310,7 +310,7 @@ func refNamesFromPossiblyUnqualifiedName(inputName string) ([]*pullRefName, erro
|
|||
srcRef: srcRef,
|
||||
}
|
||||
ps.dstName = ps.image
|
||||
pullNames = append(pullNames, &ps)
|
||||
pullNames = append(pullNames, ps)
|
||||
}
|
||||
return pullNames, nil
|
||||
}
|
||||
|
@ -325,8 +325,8 @@ func (i *Image) refPairsFromPossiblyUnqualifiedName() ([]*pullRefPair, error) {
|
|||
return i.imageruntime.pullRefPairsFromRefNames(refNames)
|
||||
}
|
||||
|
||||
// pullRefPairsFromNames converts a []*pullRefName to []*pullRefPair
|
||||
func (ir *Runtime) pullRefPairsFromRefNames(refNames []*pullRefName) ([]*pullRefPair, error) {
|
||||
// pullRefPairsFromNames converts a []pullRefName to []*pullRefPair
|
||||
func (ir *Runtime) pullRefPairsFromRefNames(refNames []pullRefName) ([]*pullRefPair, error) {
|
||||
// Here we construct the destination references
|
||||
res := make([]*pullRefPair, len(refNames))
|
||||
for i, rn := range refNames {
|
||||
|
|
|
@ -73,7 +73,7 @@ func TestGetPullRefName(t *testing.T) {
|
|||
require.NoError(t, err, c.srcName)
|
||||
|
||||
res := getPullRefName(srcRef, c.destName)
|
||||
assert.Equal(t, &pullRefName{image: c.expectedImage, srcRef: srcRef, dstName: c.expectedDstName}, res,
|
||||
assert.Equal(t, pullRefName{image: c.expectedImage, srcRef: srcRef, dstName: c.expectedDstName}, res,
|
||||
fmt.Sprintf("%#v %#v", c.srcName, c.destName))
|
||||
}
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ func TestRefNamesFromImageReference(t *testing.T) {
|
|||
require.NoError(t, err, c.srcName)
|
||||
require.Len(t, res, len(c.expected), c.srcName)
|
||||
for i, e := range c.expected {
|
||||
assert.Equal(t, &pullRefName{image: e.image, srcRef: srcRef, dstName: e.dstName}, res[i], fmt.Sprintf("%s #%d", c.srcName, i))
|
||||
assert.Equal(t, pullRefName{image: e.image, srcRef: srcRef, dstName: e.dstName}, res[i], fmt.Sprintf("%s #%d", c.srcName, i))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue