(rd *proto.Reader)
| 4597 | } |
| 4598 | |
| 4599 | func (cmd *GeoLocationCmd) readReply(rd *proto.Reader) error { |
| 4600 | n, err := rd.ReadArrayLen() |
| 4601 | if err != nil { |
| 4602 | return err |
| 4603 | } |
| 4604 | cmd.locations = make([]GeoLocation, n) |
| 4605 | |
| 4606 | for i := 0; i < len(cmd.locations); i++ { |
| 4607 | // only name |
| 4608 | if cmd.q.withLen == 0 { |
| 4609 | if cmd.locations[i].Name, err = rd.ReadString(); err != nil { |
| 4610 | return err |
| 4611 | } |
| 4612 | continue |
| 4613 | } |
| 4614 | |
| 4615 | // +name |
| 4616 | if err = rd.ReadFixedArrayLen(cmd.q.withLen + 1); err != nil { |
| 4617 | return err |
| 4618 | } |
| 4619 | |
| 4620 | if cmd.locations[i].Name, err = rd.ReadString(); err != nil { |
| 4621 | return err |
| 4622 | } |
| 4623 | if cmd.q.WithDist { |
| 4624 | if cmd.locations[i].Dist, err = rd.ReadFloat(); err != nil { |
| 4625 | return err |
| 4626 | } |
| 4627 | } |
| 4628 | if cmd.q.WithGeoHash { |
| 4629 | if cmd.locations[i].GeoHash, err = rd.ReadInt(); err != nil { |
| 4630 | return err |
| 4631 | } |
| 4632 | } |
| 4633 | if cmd.q.WithCoord { |
| 4634 | if err = rd.ReadFixedArrayLen(2); err != nil { |
| 4635 | return err |
| 4636 | } |
| 4637 | if cmd.locations[i].Longitude, err = rd.ReadFloat(); err != nil { |
| 4638 | return err |
| 4639 | } |
| 4640 | if cmd.locations[i].Latitude, err = rd.ReadFloat(); err != nil { |
| 4641 | return err |
| 4642 | } |
| 4643 | } |
| 4644 | } |
| 4645 | |
| 4646 | return nil |
| 4647 | } |
| 4648 | |
| 4649 | func (cmd *GeoLocationCmd) Clone() Cmder { |
| 4650 | var q *GeoRadiusQuery |
nothing calls this directly
no test coverage detected