Skip to content

Commit 3f3c9a2

Browse files
authored
Merge pull request #17 from devjoes/master
fix: operator precedence issue results in invalid index
2 parents b1eaf52 + fc3cf0f commit 3f3c9a2

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ func (c *Client) getServer(key string) (*server, error) {
124124
}
125125
nServers := uint(len(c.servers))
126126
for i := uint(0); i < nServers; i++ {
127-
s := c.servers[idx+i%nServers]
127+
s := c.servers[(idx+i)%nServers]
128128
if s.isAlive {
129129
return s, nil
130130
}

client_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1606,3 +1606,12 @@ func TestStatsReset(t *testing.T) {
16061606
break // in case there are multiple servers
16071607
}
16081608
}
1609+
1610+
func TestGetServer(t *testing.T) {
1611+
c := NewMC(mcAddr+","+badAddr, user, pass)
1612+
c.servers[1].isAlive = false
1613+
1614+
s, e := c.getServer("ok")
1615+
assertEqualf(t, nil, e, "err was not nil")
1616+
assertEqualf(t, mcAddr, s.address, "address of incorrect server returned")
1617+
}

0 commit comments

Comments
 (0)