summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoni Marti <koni.marti@gmail.com>2022-07-14 21:49:54 +0200
committerRobin Jarry <robin@jarry.cc>2022-07-14 23:15:26 +0200
commite92573c5d7161e7d7fdaaeab9a7ced0b03fa2277 (patch)
treed770e889c55ea0cb5639da9afbb4e76d4d5ea1af
parent76b39311dc0ea6211a79d738b4fd8d335ade53fd (diff)
downloadaerc-e92573c5d7161e7d7fdaaeab9a7ced0b03fa2277.zip
lib: fix tests for 386 platforms
Tests in lib/structure_helpers_test.go pass on amd64 platforms but fail on 386 platforms. This can be reproduced with the following steps: 1. Create a Dockerfile in aerc's source folder: FROM i386/alpine:edge RUN apk update && apk upgrade RUN apk add --no-cache go make scdoc WORKDIR aerc COPY . . RUN make CMD make tests 2. Build the image: $ docker buildx build --platform=linux/386 -t test . 3. Run the image: $ docker run --rm --platform=linux/386 -it test The test in lib/structure_helpers_test.go will fail. If the same above steps are done with this patch applied, all tests pass. Signed-off-by: Koni Marti <koni.marti@gmail.com> Acked-by: Robin Jarry <robin@jarry.cc>
-rw-r--r--lib/structure_helpers.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/structure_helpers.go b/lib/structure_helpers.go
index 1b4a6e6..99a77a2 100644
--- a/lib/structure_helpers.go
+++ b/lib/structure_helpers.go
@@ -58,7 +58,9 @@ func FindAllNonMultipart(bs *models.BodyStructure, path []int, pathlist [][]int)
cur := append(path, i+1)
mimetype := strings.ToLower(part.MIMEType)
if mimetype != "multipart" {
- pathlist = append(pathlist, cur)
+ tmp := make([]int, len(cur))
+ copy(tmp, cur)
+ pathlist = append(pathlist, tmp)
} else if mimetype == "multipart" {
if sub := FindAllNonMultipart(part, cur, nil); len(sub) > 0 {
pathlist = append(pathlist, sub...)