@cryptotaxi247 / kubo / commits / 913f9641e

merkledag: keep key order in dedupeKeys

License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>

Łukasz Magiera committed Oct 18, 2017 at 22:26 UTC 913f9641e4518ffa2609e09429254019385222af
2 files changed +6 -3
core/corehttp/gateway_handler.go
+1 -1
@@ -373,7 +373,7 @@ func (i *gatewayHandler) getOrHeadHandler(ctx context.Context, w http.ResponseWr
373 }
374
375 type sizeReadSeeker interface {
376 - Size() uint64
376 + Size() uint64
377
378 io.ReadSeeker
379 }
merkledag/merkledag.go
+5 -2
@@ -307,11 +307,14 @@ func GetNodes(ctx context.Context, ds DAGService, keys []*cid.Cid) []NodeGetter
307
308 // Remove duplicates from a list of keys
309 func dedupeKeys(cids []*cid.Cid) []*cid.Cid {
310 + out := make([]*cid.Cid, 0, len(cids))
311 set := cid.NewSet()
312 for _, c := range cids {
312 - set.Add(c)
313 + if set.Visit(c) {
314 + out = append(out, c)
315 + }
316 }
314 - return set.Keys()
317 + return out
318 }
319
320 func newNodePromise(ctx context.Context) NodeGetter {