aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/vty_interface.c
diff options
context:
space:
mode:
authorHarald Welte (local) <laflocal@hanuman.gnumonks.org>2009-08-14 16:01:20 +0200
committerHarald Welte (local) <laflocal@hanuman.gnumonks.org>2009-08-14 16:01:20 +0200
commit05e676356fee431b80901b6de6ac4000a903808c (patch)
tree71c60c8de9a16f77e1979c928b15afa4b4a475ce /openbsc/src/vty_interface.c
parent86b17172fd533fa6588e6beab9782fc4e2193810 (diff)
sms send pending now sends _all_ pending at the same time
Diffstat (limited to 'openbsc/src/vty_interface.c')
-rw-r--r--openbsc/src/vty_interface.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/openbsc/src/vty_interface.c b/openbsc/src/vty_interface.c
index 4933bb4e9..0dcf0577e 100644
--- a/openbsc/src/vty_interface.c
+++ b/openbsc/src/vty_interface.c
@@ -1176,17 +1176,20 @@ DEFUN(sms_send_pend,
"Send all pending SMS starting from MIN_ID")
{
struct gsm_sms *sms;
+ int id = atoi(argv[0]);
- sms = db_sms_get_unsent(gsmnet, atoi(argv[0]));
- if (!sms)
- return CMD_WARNING;
+ while (1) {
+ sms = db_sms_get_unsent(gsmnet, id++);
+ if (!sms)
+ return CMD_WARNING;
- if (!sms->receiver) {
- sms_free(sms);
- return CMD_WARNING;
- }
+ if (!sms->receiver) {
+ sms_free(sms);
+ continue;
+ }
- gsm411_send_sms_subscr(sms->receiver, sms);
+ gsm411_send_sms_subscr(sms->receiver, sms);
+ }
return CMD_SUCCESS;
}