Merge branch 'master' of github.com:/golang/groupcache
diff --git a/http.go b/http.go
index db3ac59..e1fde7f 100644
--- a/http.go
+++ b/http.go
@@ -90,7 +90,11 @@
if len(p.peers) == 0 {
return nil, false
}
- if peer := p.peers[int(h)%len(p.peers)]; peer != p.self {
+ n := int(h)
+ if n < 0 {
+ n *= -1
+ }
+ if peer := p.peers[n%len(p.peers)]; peer != p.self {
// TODO: pre-build a slice of *httpGetter when Set()
// is called to avoid these two allocations.
return &httpGetter{p.Transport, peer + p.basePath}, true