the receiving of a packet that we've kept in memory just incase the
packet needs to be retransmitted.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118562
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
(f.frametype != AST_FRAME_IAX))) {
unsigned char x;
int call_to_destroy;
- /* XXX This code is not very efficient. Surely there is a better way which still
- properly handles boundary conditions? XXX */
/* First we have to qualify that the ACKed value is within our window */
- for (x=iaxs[fr->callno]->rseqno; x != iaxs[fr->callno]->oseqno; x++)
- if (fr->iseqno == x)
- break;
+ if (iaxs[fr->callno]->rseqno >= iaxs[fr->callno]->oseqno || (fr->iseqno >= iaxs[fr->callno]->rseqno && fr->iseqno < iaxs[fr->callno]->oseqno))
+ x = fr->iseqno;
+ else
+ x = iaxs[fr->callno]->oseqno;
if ((x != iaxs[fr->callno]->oseqno) || (iaxs[fr->callno]->oseqno == fr->iseqno)) {
/* The acknowledgement is within our window. Time to acknowledge everything
that it says to */