Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArran Walker <ajwalker@gitlab.com>2021-01-11 12:33:44 +0300
committerArran Walker <ajwalker@gitlab.com>2021-01-11 13:58:32 +0300
commitef81bdf35ffe13bff738f98ef00a37dc0b8dd801 (patch)
tree7753e578ab027ee589ae6090e50f8ed158e2055e
parent2db62f2094f178315a1d73cc4829caff0cd240ab (diff)
Optimize zip file findingajwalker/zip-path
-rw-r--r--internal/vfs/zip/archive.go24
1 files changed, 10 insertions, 14 deletions
diff --git a/internal/vfs/zip/archive.go b/internal/vfs/zip/archive.go
index 1137f004..9826cdd6 100644
--- a/internal/vfs/zip/archive.go
+++ b/internal/vfs/zip/archive.go
@@ -7,7 +7,7 @@ import (
"fmt"
"io"
"os"
- "path/filepath"
+ "path"
"strconv"
"strings"
"sync"
@@ -161,34 +161,30 @@ func (a *zipArchive) readArchive(url string) {
}
// addPathDirectory adds a directory for a given path
-func (a *zipArchive) addPathDirectory(path string) {
+func (a *zipArchive) addPathDirectory(pathname string) {
// Split dir and file from `path`
- path, _ = filepath.Split(path)
- if path == "" {
+ pathname, _ = path.Split(pathname)
+ if pathname == "" {
return
}
- if a.directories[path] != nil {
+ if a.directories[pathname] != nil {
return
}
- a.directories[path] = &zip.FileHeader{
- Name: path,
+ a.directories[pathname] = &zip.FileHeader{
+ Name: pathname,
}
}
func (a *zipArchive) findFile(name string) *zip.File {
- name = filepath.Join(dirPrefix, name)
+ name = path.Clean(dirPrefix + name)
- if file := a.files[name]; file != nil {
- return file
- }
-
- return nil
+ return a.files[name]
}
func (a *zipArchive) findDirectory(name string) *zip.FileHeader {
- name = filepath.Join(dirPrefix, name)
+ name = path.Clean(dirPrefix + name)
return a.directories[name+"/"]
}