aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-05-27 15:52:58 +0200
committerHarald Welte <laforge@gnumonks.org>2017-05-27 15:54:39 +0200
commit645eb622832671a2256987f1857da86cd50a9eea (patch)
tree31c0c10036b8fff65a5ff278b4dc6b75bc123ced /openbsc
parent7fe00fb9be1dddbaee175be0217fddd8858c7aad (diff)
bsc_vty.c: Further simplify vty_get_ts()
We can also move the string-to-numeric conversion inside vty_get_ts() to reduce the amount of work required in the caller. Change-Id: I2a74ed06e90e39d39f53fff39bb96df172728c0e
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/libbsc/bsc_vty.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index 6c6b4bc86..b5ea8d173 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -3852,8 +3852,12 @@ DEFUN(smscb_cmd, smscb_cmd_cmd,
}
/* resolve a gsm_bts_trx_ts basd on the given numeric identifiers */
-struct gsm_bts_trx_ts *vty_get_ts(struct vty *vty, int bts_nr, int trx_nr, int ts_nr, int ss_nr)
+static struct gsm_bts_trx_ts *vty_get_ts(struct vty *vty, const char *bts_str, const char *trx_str,
+ const char *ts_str)
{
+ int bts_nr = atoi(bts_str);
+ int trx_nr = atoi(trx_str);
+ int ts_nr = atoi(ts_str);
struct gsm_bts *bts;
struct gsm_bts_trx *trx;
struct gsm_bts_trx_ts *ts;
@@ -3883,12 +3887,9 @@ DEFUN(pdch_act, pdch_act_cmd,
"Deactivate Dynamic PDCH/TCH (-> TCH mode)\n")
{
struct gsm_bts_trx_ts *ts;
- int bts_nr = atoi(argv[0]);
- int trx_nr = atoi(argv[1]);
- int ts_nr = atoi(argv[2]);
int activate;
- ts = vty_get_ts(vty, bts_nr, trx_nr, ts_nr, 0);
+ ts = vty_get_ts(vty, argv[0], argv[1], argv[2]);
if (!ts)
return CMD_WARNING;
@@ -3900,7 +3901,7 @@ DEFUN(pdch_act, pdch_act_cmd,
if (ts->pchan != GSM_PCHAN_TCH_F_PDCH) {
vty_out(vty, "%% Timeslot %u is not in dynamic TCH_F/PDCH "
- "mode%s", ts_nr, VTY_NEWLINE);
+ "mode%s", ts->nr, VTY_NEWLINE);
return CMD_WARNING;
}