diff options
author | mattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-11-28 22:45:20 +0000 |
---|---|---|
committer | mattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-11-28 22:45:20 +0000 |
commit | 7ce8ef156d2953d9597c58626ab0aac2f150aab9 (patch) | |
tree | 877bc7d944e07029497b20bd3006eefe47301554 | |
parent | e5a014e85c009ade772d20eb787bea0e4719e710 (diff) |
Fix for (#8300)
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@1656 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rw-r--r-- | zttool.c | 46 |
1 files changed, 29 insertions, 17 deletions
@@ -47,6 +47,7 @@ #endif static int ctl = -1; +static int span_max_chan_pos; static ZT_SPANINFO s[ZT_MAX_SPANS]; @@ -199,14 +200,14 @@ static void show_bits(int span, newtComponent bitbox, newtComponent inuse, newtC memset(tdbits,0, sizeof(tdbits)); memset(rcbits,0, sizeof(rcbits)); memset(rdbits,0, sizeof(rdbits)); - memset(tabits,32, s[span].totalchans); - memset(tbbits,32, s[span].totalchans); - memset(rabits,32, s[span].totalchans); - memset(rbbits,32, s[span].totalchans); - memset(tcbits,32, s[span].totalchans); - memset(tdbits,32, s[span].totalchans); - memset(rcbits,32, s[span].totalchans); - memset(rdbits,32, s[span].totalchans); + memset(tabits,32, span_max_chan_pos); + memset(tbbits,32, span_max_chan_pos); + memset(rabits,32, span_max_chan_pos); + memset(rbbits,32, span_max_chan_pos); + memset(tcbits,32, span_max_chan_pos); + memset(tdbits,32, span_max_chan_pos); + memset(rcbits,32, span_max_chan_pos); + memset(rdbits,32, span_max_chan_pos); for (x=0;x<ZT_MAX_CHANNELS;x++) { memset(&zp, 0, sizeof(zp)); @@ -337,9 +338,9 @@ static void show_span(int span) newtComponent syncsrc; newtComponent irqmisses; - char s1[] = " 1111111111222222222333"; - char s2[] = "1234567890123456789012345789012"; - int max; + char s1[] = " 1111111111222222222233"; + char s2[] = "1234567890123456789012345678901"; + int x; int looped = 0; struct newtExitStruct es; @@ -364,14 +365,24 @@ static void show_span(int span) newtFormAddComponents(form, back, loop, NULL); - max = s[span].totalchans; - if (max > 32) - max = 32; + span_max_chan_pos = s[span].totalchans; + for (x=0;x<ZT_MAX_CHANNELS;x++) { + ZT_PARAMS zp; + int res; + memset(&zp, 0, sizeof(zp)); + zp.channo = x; + res = ioctl(ctl, ZT_GET_PARAMS, &zp); + if (!res && zp.spanno == span && zp.chanpos > span_max_chan_pos ) + span_max_chan_pos = zp.chanpos; + } + + if (span_max_chan_pos > 32) + span_max_chan_pos = 32; - s1[max] = '\0'; - s2[max] = '\0'; + s1[span_max_chan_pos] = '\0'; + s2[span_max_chan_pos] = '\0'; - bitbox = newtTextbox(8,10,max,9,0); + bitbox = newtTextbox(8,10,span_max_chan_pos,9,0); newtFormAddComponent(form, bitbox); label = newtLabel(8,8,s1); @@ -482,6 +493,7 @@ out: newtFormDestroy(form); newtPopWindow(); newtPopHelpLine(); + span_max_chan_pos = 0; } static void show_spans(void) |