--- channel.c.orig 2005-01-16 13:05:59.000000000 +0330 +++ channel.c 2005-01-16 15:47:49.000000000 +0330 @@ -3033,13 +3033,13 @@ return 0; } -unsigned int ast_get_group(char *s) +unsigned long long ast_get_group(char *s) { char *copy; char *piece; char *c=NULL; int start=0, finish=0,x; - unsigned int group = 0; + unsigned long long group = 0; copy = ast_strdupa(s); if (!copy) { ast_log(LOG_ERROR, "Out of memory\n"); @@ -3058,8 +3058,8 @@ continue; } for (x=start;x<=finish;x++) { - if ((x > 31) || (x < 0)) { - ast_log(LOG_WARNING, "Ignoring invalid group %d (maximum group is 31)\n", x); + if ((x > 63) || (x < 0)) { + ast_log(LOG_WARNING, "Ignoring invalid group %d (maximum group is 63)\n", x); } else group |= (1 << x); } --- channel.h.orig 2005-01-12 11:51:19.000000000 +0330 +++ channel.h 2005-01-16 15:30:42.000000000 +0330 @@ -211,8 +211,8 @@ /* A linked list for variables */ AST_LIST_HEAD(varshead,ast_var_t) varshead; - unsigned int callgroup; - unsigned int pickupgroup; + unsigned long long callgroup; + unsigned long long pickupgroup; /*! channel flags of AST_FLAG_ type */ unsigned int flags; @@ -887,7 +887,7 @@ ast_set_flag(c, AST_FLAG_BLOCKING); \ } } -extern unsigned int ast_get_group(char *s); +extern unsigned long long ast_get_group(char *s); #if defined(__cplusplus) || defined(c_plusplus) } --- utils.c.orig 2005-01-10 14:02:55.000000000 +0330 +++ utils.c 2005-01-16 15:33:17.000000000 +0330 @@ -433,7 +433,7 @@ /*--- ast_print_group: Print call group and pickup group ---*/ -char *ast_print_group(char *buf, int buflen, unsigned int group) +char *ast_print_group(char *buf, int buflen, unsigned long long group) { unsigned int i; int first=1; @@ -444,7 +444,7 @@ if (!group) /* Return empty string if no group */ return(buf); - for (i=0; i<=31; i++) { /* Max group is 31 */ + for (i=0; i<=63; i++) { /* Max group is 31 */ if (group & (1 << i)) { if (!first) { strncat(buf, ", ", buflen); --- utils.h.orig 2005-01-12 11:51:21.000000000 +0330 +++ utils.h 2005-01-16 15:32:10.000000000 +0330 @@ -155,4 +155,4 @@ #endif /* print call- and pickup groups into buffer */ -char *ast_print_group(char *buf, int buflen, unsigned int group); +char *ast_print_group(char *buf, int buflen, unsigned long long group); --- chan_agent.c.orig 2005-01-02 12:58:54.000000000 +0330 +++ chan_agent.c 2005-01-16 13:59:33.000000000 +0330 @@ -115,7 +115,7 @@ static int capability = -1; -static unsigned int group; +static unsigned long long group; static int autologoff; static int wrapuptime; static int ackcall; @@ -151,7 +151,7 @@ time_t start; /* When call started */ struct timeval lastdisc; /* When last disconnected */ int wrapuptime; /* Wrapup time in ms */ - unsigned int group; /* Group memberships */ + unsigned long long group; /* Group memberships */ int acknowledged; /* Acknowledged */ char moh[80]; /* Which music on hold */ char agent[AST_MAX_AGENT]; /* Agent ID */ @@ -1110,7 +1110,7 @@ struct agent_pvt *p; struct ast_channel *chan = NULL; char *s; - unsigned int groupmatch; + unsigned long long groupmatch; int waitforagent=0; int hasagent = 0; struct timeval tv; @@ -1957,7 +1957,7 @@ { struct agent_pvt *p; char *s; - unsigned int groupmatch; + unsigned long long groupmatch; int waitforagent=0; int res = AST_DEVICE_INVALID; --- chan_mgcp.c.orig 2005-01-11 13:29:05.000000000 +0330 +++ chan_mgcp.c 2005-01-16 13:56:10.000000000 +0330 @@ -172,8 +172,8 @@ /*static int cur_signalling = -1;*/ /*static unsigned int cur_group = 0;*/ -static unsigned int cur_callergroup = 0; -static unsigned int cur_pickupgroup = 0; +static unsigned long long cur_callergroup = 0; +static unsigned long long cur_pickupgroup = 0; /* XXX Is this needed? */ /* Doesn't look like the dsp stuff for */ @@ -373,8 +373,8 @@ char mailbox[AST_MAX_EXTENSION]; char musicclass[MAX_LANGUAGE]; char curtone[80]; /* Current tone */ - unsigned int callgroup; - unsigned int pickupgroup; + unsigned long long callgroup; + unsigned long long pickupgroup; int callwaiting; int transfer; int threewaycalling; --- chan_modem.c.orig 2004-12-15 03:06:29.000000000 +0330 +++ chan_modem.c 2005-01-16 14:00:50.000000000 +0330 @@ -74,7 +74,7 @@ static char outgoingmsn[AST_MAX_EXTENSION]=""; /* Default group */ -static unsigned int cur_group = 0; +static unsigned long long cur_group = 0; static int usecnt =0; @@ -790,7 +790,7 @@ struct ast_modem_pvt *p; struct ast_channel *tmp = NULL; char dev[80]; - unsigned int group = 0; + unsigned long long group = 0; char *stringp=NULL; strncpy(dev, (char *)data, sizeof(dev)-1); stringp=dev; @@ -848,11 +848,11 @@ return tmp; } -static unsigned int get_group(char *s) +static unsigned long long get_group(char *s) { char *piece; int start, finish,x; - unsigned int group = 0; + unsigned long long group = 0; char *copy = ast_strdupa(s); char *stringp=NULL; if (!copy) { @@ -874,7 +874,7 @@ piece = strsep(&stringp, ","); for (x=start;x<=finish;x++) { - if ((x > 31) || (x < 0)) { + if ((x > 63) || (x < 0)) { ast_log(LOG_WARNING, "Ignoring invalid group %d\n", x); break; } --- chan_sip.c.orig 2005-01-16 13:08:44.000000000 +0330 +++ chan_sip.c 2005-01-16 13:53:07.000000000 +0330 @@ -312,8 +312,8 @@ struct ast_codec_pref prefs; /* codec prefs */ unsigned int ocseq; /* Current outgoing seqno */ unsigned int icseq; /* Current incoming seqno */ - unsigned int callgroup; /* Call group */ - unsigned int pickupgroup; /* Pickup group */ + unsigned long long callgroup; /* Call group */ + unsigned long long pickupgroup; /* Pickup group */ int lastinvite; /* Last Cseq of invite */ unsigned int flags; /* SIP_ flags */ int capability; /* Special capability (codec) */ @@ -433,8 +433,8 @@ char musicclass[MAX_LANGUAGE]; /* Music on Hold class */ char useragent[256]; /* User agent in SIP request */ struct ast_codec_pref prefs; /* codec prefs */ - unsigned int callgroup; /* Call group */ - unsigned int pickupgroup; /* Pickup Group */ + unsigned long long callgroup; /* Call group */ + unsigned long long pickupgroup; /* Pickup Group */ unsigned int flags; /* SIP_ flags */ int amaflags; /* AMA flags for billing */ int callingpres; /* Calling id presentation */ @@ -475,8 +475,8 @@ int rtptimeout; int rtpholdtimeout; int rtpkeepalive; /* Send RTP packets for keepalive */ - unsigned int callgroup; /* Call group */ - unsigned int pickupgroup; /* Pickup group */ + unsigned long long callgroup; /* Call group */ + unsigned long long pickupgroup; /* Pickup group */ struct sockaddr_in addr; /* IP address of peer */ struct in_addr mask; --- chan_skinny.c.orig 2004-12-20 00:43:41.000000000 +0330 +++ chan_skinny.c 2005-01-16 13:55:07.000000000 +0330 @@ -492,8 +492,8 @@ static char cid_name[AST_MAX_EXTENSION] = ""; static char linelabel[AST_MAX_EXTENSION] =""; static int nat = 0; -static unsigned int cur_callergroup = 0; -static unsigned int cur_pickupgroup = 0; +static unsigned long long cur_callergroup = 0; +static unsigned long long cur_pickupgroup = 0; static int immediate = 0; static int callwaiting = 0; static int callreturn = 0; @@ -642,8 +642,8 @@ char mailbox[AST_MAX_EXTENSION]; char musicclass[MAX_LANGUAGE]; int curtone; /* Current tone being played */ - unsigned int callgroup; - unsigned int pickupgroup; + unsigned long long callgroup; + unsigned long long pickupgroup; int callwaiting; int transfer; int threewaycalling; --- chan_zap.c.orig 2005-01-13 14:39:51.000000000 +0330 +++ chan_zap.c 2005-01-16 13:54:18.000000000 +0330 @@ -172,9 +172,9 @@ static int zaptrcallerid = 0; static int cur_signalling = -1; -static unsigned int cur_group = 0; -static unsigned int cur_callergroup = 0; -static unsigned int cur_pickupgroup = 0; +static unsigned long long cur_group = 0; +static unsigned long long cur_callergroup = 0; +static unsigned long long cur_pickupgroup = 0; static int relaxdtmf = 0; static int immediate = 0; @@ -489,8 +489,8 @@ int confno; /* Our conference */ int confusers; /* Who is using our conference */ int propconfno; /* Propagated conference number */ - unsigned int callgroup; - unsigned int pickupgroup; + unsigned long long callgroup; + unsigned long long pickupgroup; int immediate; /* Answer before getting digits? */ int channel; /* Channel Number or CRV */ int span; /* Span number */ --- vmodem.h.orig 2004-10-02 04:28:31.000000000 +0330 +++ vmodem.h 2005-01-16 15:31:24.000000000 +0330 @@ -116,7 +116,7 @@ /*! Multiple Subscriber Number we accept for outgoing calls (; seperated list) */ char outgoingmsn[AST_MAX_EXTENSION]; /*! Group(s) we belong to if available */ - unsigned int group; + unsigned long long group; /*! Caller ID if available */ char cid_name[AST_MAX_EXTENSION]; /*! Caller ID if available */