aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-13 20:21:33 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-13 20:21:33 +0000
commitbbd7578ad232eb90b9e9a8de2a8072c798c3fc1b (patch)
tree32c5baf35bcd2334f4f5a27e656652ade80028c6 /channels/chan_sip.c
parent61fb405acd0501468cd3ffb59e89e647513bc568 (diff)
Merged revisions 47581 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r47581 | tilghman | 2006-11-13 14:20:01 -0600 (Mon, 13 Nov 2006) | 10 lines Merged revisions 47580 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r47580 | tilghman | 2006-11-13 14:18:30 -0600 (Mon, 13 Nov 2006) | 2 lines Having more than 255 old messages caused corruption in the new/old count ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47582 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r--channels/chan_sip.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index e8ae70197..f9bb70179 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -10073,7 +10073,7 @@ static int _sip_show_peer(int type, int fd, struct mansession *s, struct message
print_group(fd, peer->pickupgroup, 0);
ast_cli(fd, " Mailbox : %s\n", peer->mailbox);
ast_cli(fd, " VM Extension : %s\n", peer->vmexten);
- ast_cli(fd, " LastMsgsSent : %d\n", peer->lastmsgssent);
+ ast_cli(fd, " LastMsgsSent : %d/%d\n", (peer->lastmsgssent & 0x7fff0000) >> 16, peer->lastmsgssent & 0xffff);
ast_cli(fd, " Call limit : %d\n", peer->call_limit);
ast_cli(fd, " Dynamic : %s\n", (ast_test_flag(&peer->flags[1], SIP_PAGE2_DYNAMIC)?"Yes":"No"));
ast_cli(fd, " Callerid : %s\n", ast_callerid_merge(cbuf, sizeof(cbuf), peer->cid_name, peer->cid_num, "<unspecified>"));
@@ -14766,12 +14766,12 @@ static int sip_send_mwi_to_peer(struct sip_peer *peer)
peer->lastmsgcheck = time(NULL);
/* Return now if it's the same thing we told them last time */
- if (((newmsgs << 8) | (oldmsgs)) == peer->lastmsgssent) {
+ if (((newmsgs > 0x7fff ? 0x7fff0000 : (newmsgs << 16)) | (oldmsgs > 0xffff ? 0xffff : oldmsgs)) == peer->lastmsgssent) {
return 0;
}
- peer->lastmsgssent = ((newmsgs << 8) | (oldmsgs));
+ peer->lastmsgssent = ((newmsgs > 0x7fff ? 0x7fff0000 : (newmsgs << 16)) | (oldmsgs > 0xffff ? 0xffff : oldmsgs));
if (peer->mwipvt) {
/* Base message on subscription */