dahdi_cfg: Make -S option based on spannumber instead of order in config file.

If the config file has two spans defined:

  span=1,1,0,esf,b8zs
  bchan=1-23
  dchan=24
  echocanceller=mg2,1-23
  span=2,2,0,esf,b8zs
  bchan=25-47
  dchan=48

And you only want to configure span-2, you would need to pass -S 1 to
dahdi_cfg. Now make the -S option take the span number as assigned in the
config file.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
This commit is contained in:
Shaun Ruffell 2013-05-09 14:03:46 -05:00 committed by Russ Meyerriecks
parent 7939579d9e
commit 2889d6afee

View File

@ -1271,7 +1271,7 @@ static void printconfig(int fd)
"Configuration\n" "Configuration\n"
"======================\n\n", vi.version, vi.echo_canceller); "======================\n\n", vi.version, vi.echo_canceller);
for (x = 0; x < spans; x++) { for (x = 0; x < spans; x++) {
if (only_span && only_span != x) if (only_span && only_span != lc[x].span)
continue; continue;
printf("SPAN %d: %3s/%4s Build-out: %s\n", printf("SPAN %d: %3s/%4s Build-out: %s\n",
lc[x].span, lc[x].span,
@ -1564,7 +1564,7 @@ finish:
} }
if (stopmode) { if (stopmode) {
for (x=0;x<spans;x++) { for (x=0;x<spans;x++) {
if (only_span && x != only_span) if (only_span && lc[x].span != only_span)
continue; continue;
if (ioctl(fd, DAHDI_SHUTDOWN, &lc[x].span)) { if (ioctl(fd, DAHDI_SHUTDOWN, &lc[x].span)) {
fprintf(stderr, "DAHDI shutdown failed: %s\n", strerror(errno)); fprintf(stderr, "DAHDI shutdown failed: %s\n", strerror(errno));
@ -1575,7 +1575,7 @@ finish:
exit(1); exit(1);
} }
for (x=0;x<spans;x++) { for (x=0;x<spans;x++) {
if (only_span && x != only_span) if (only_span && lc[x].span != only_span)
continue; continue;
if (ioctl(fd, DAHDI_SPANCONFIG, lc + x)) { if (ioctl(fd, DAHDI_SPANCONFIG, lc + x)) {
fprintf(stderr, "DAHDI_SPANCONFIG failed on span %d: %s (%d)\n", lc[x].span, strerror(errno), errno); fprintf(stderr, "DAHDI_SPANCONFIG failed on span %d: %s (%d)\n", lc[x].span, strerror(errno), errno);
@ -1754,7 +1754,7 @@ finish:
} }
} }
for (x=0;x<spans;x++) { for (x=0;x<spans;x++) {
if (only_span && x != only_span) if (only_span && lc[x].span != only_span)
continue; continue;
if (ioctl(fd, DAHDI_STARTUP, &lc[x].span)) { if (ioctl(fd, DAHDI_STARTUP, &lc[x].span)) {
fprintf(stderr, "DAHDI startup failed: %s\n", strerror(errno)); fprintf(stderr, "DAHDI startup failed: %s\n", strerror(errno));