diff --git a/worldsrv/friendmgr.go b/worldsrv/friendmgr.go index 9a18df5..c10caea 100644 --- a/worldsrv/friendmgr.go +++ b/worldsrv/friendmgr.go @@ -621,11 +621,13 @@ func (this *FriendMgr) FriendAgree(p *Player, destP *model.BindFriend) { return friend.OpResultCode_OPRC_Error } if list1 != nil { - for k, v := range list1.ApplySnids { - if v.SnId == applySnid { + k := 0 + for k < len(list1.ApplySnids) { + if list1.ApplySnids[k].SnId == applySnid { list1.ApplySnids = append(list1.ApplySnids[:k], list1.ApplySnids[k+1:]...) model.UpsertFriendApply(plt, snid, list1) - break + } else { + k++ } } } @@ -636,11 +638,13 @@ func (this *FriendMgr) FriendAgree(p *Player, destP *model.BindFriend) { return friend.OpResultCode_OPRC_Error } if list2 != nil { - for k, v := range list2.List { - if v == snid { + k := 0 + for k < len(list2.List) { + if list2.List[k] == snid { list2.List = append(list2.List[:k], list2.List[k+1:]...) model.UpsertApplyList(plt, list2) - break + } else { + k++ } } }