mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-25 07:01:09 +00:00
chan_dahdi: Fix "dahdi show channels group" for groups greater than 31.
The variable type used was not large enough to hold a group bit field. ........ Merged revisions 380572 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 380575 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -15543,7 +15543,7 @@ static char *dahdi_show_channels(struct ast_cli_entry *e, int cmd, struct ast_cl
|
|||||||
{
|
{
|
||||||
#define FORMAT "%7s %-10.10s %-15.15s %-10.10s %-20.20s %-10.10s %-10.10s %-32.32s\n"
|
#define FORMAT "%7s %-10.10s %-15.15s %-10.10s %-20.20s %-10.10s %-10.10s %-32.32s\n"
|
||||||
#define FORMAT2 "%7s %-10.10s %-15.15s %-10.10s %-20.20s %-10.10s %-10.10s %-32.32s\n"
|
#define FORMAT2 "%7s %-10.10s %-15.15s %-10.10s %-20.20s %-10.10s %-10.10s %-32.32s\n"
|
||||||
int targetnum = 0;
|
ast_group_t targetnum = 0;
|
||||||
int filtertype = 0;
|
int filtertype = 0;
|
||||||
struct dahdi_pvt *tmp = NULL;
|
struct dahdi_pvt *tmp = NULL;
|
||||||
char tmps[20] = "";
|
char tmps[20] = "";
|
||||||
@@ -15570,9 +15570,10 @@ static char *dahdi_show_channels(struct ast_cli_entry *e, int cmd, struct ast_cl
|
|||||||
if (a->argc == 5) {
|
if (a->argc == 5) {
|
||||||
if (!strcasecmp(a->argv[3], "group")) {
|
if (!strcasecmp(a->argv[3], "group")) {
|
||||||
targetnum = atoi(a->argv[4]);
|
targetnum = atoi(a->argv[4]);
|
||||||
if ((targetnum < 0) || (targetnum > 63))
|
if (63 < targetnum) {
|
||||||
return CLI_SHOWUSAGE;
|
return CLI_SHOWUSAGE;
|
||||||
targetnum = 1 << targetnum;
|
}
|
||||||
|
targetnum = ((ast_group_t) 1) << targetnum;
|
||||||
filtertype = 1;
|
filtertype = 1;
|
||||||
} else if (!strcasecmp(a->argv[3], "context")) {
|
} else if (!strcasecmp(a->argv[3], "context")) {
|
||||||
filtertype = 2;
|
filtertype = 2;
|
||||||
|
Reference in New Issue
Block a user