From 03ec3fed2b7363700571a83ef41de3ee9208d94e Mon Sep 17 00:00:00 2001 From: Fabio Barone Date: Wed, 18 Oct 2017 08:33:50 -0500 Subject: swarm/api: bug fix exact match for manifest --- swarm/api/manifest.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'swarm/api/manifest.go') diff --git a/swarm/api/manifest.go b/swarm/api/manifest.go index d3eced198..5cd84e28e 100644 --- a/swarm/api/manifest.go +++ b/swarm/api/manifest.go @@ -436,6 +436,16 @@ func (self *manifestTrie) findPrefixOf(path string, quitC chan bool) (entry *man if len(path) <= epl { if entry.Path[:len(path)] == path { if entry.ContentType == ManifestType { + err := self.loadSubTrie(entry, quitC) + if err == nil && entry.subtrie != nil { + subentries := entry.subtrie.entries + for i := 0; i < len(subentries); i++ { + sub := subentries[i] + if sub != nil && sub.Path == "" { + return sub, len(path) + } + } + } entry.Status = http.StatusMultipleChoices } pos = len(path) -- cgit v1.2.3 From 86f6568f6618945b19057553ec32690d723da982 Mon Sep 17 00:00:00 2001 From: ferhat elmas Date: Fri, 10 Nov 2017 18:06:45 +0100 Subject: build: enable unconvert linter (#15456) * build: enable unconvert linter - fixes #15453 - update code base for failing cases * cmd/puppeth: replace syscall.Stdin with os.Stdin.Fd() for unconvert linter --- swarm/api/manifest.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'swarm/api/manifest.go') diff --git a/swarm/api/manifest.go b/swarm/api/manifest.go index d3eced198..32b5f80a7 100644 --- a/swarm/api/manifest.go +++ b/swarm/api/manifest.go @@ -238,7 +238,7 @@ func (self *manifestTrie) addEntry(entry *manifestTrieEntry, quitC chan bool) { return } - b := byte(entry.Path[0]) + b := entry.Path[0] oldentry := self.entries[b] if (oldentry == nil) || (oldentry.Path == entry.Path && oldentry.ContentType != ManifestType) { self.entries[b] = entry @@ -294,7 +294,7 @@ func (self *manifestTrie) deleteEntry(path string, quitC chan bool) { return } - b := byte(path[0]) + b := path[0] entry := self.entries[b] if entry == nil { return @@ -425,7 +425,7 @@ func (self *manifestTrie) findPrefixOf(path string, quitC chan bool) (entry *man } //see if first char is in manifest entries - b := byte(path[0]) + b := path[0] entry = self.entries[b] if entry == nil { return self.entries[256], 0 -- cgit v1.2.3