aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-10-25 08:18:26 +0200
committerHarald Welte <laforge@osmocom.org>2021-10-25 08:20:00 +0200
commit065b23ae5b38a986e8fe4309bfc03dc979c62c41 (patch)
treed7cedc5d2b201d5c727cd72ff99545dfb620b854 /src
parent30811f865c62ffa899579e4b6c8640235800af09 (diff)
smpp_mirror: Factor-out reset of SMPP read state
Diffstat (limited to 'src')
-rw-r--r--src/utils/smpp_mirror.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/utils/smpp_mirror.c b/src/utils/smpp_mirror.c
index 30535535b..883c498d7 100644
--- a/src/utils/smpp_mirror.c
+++ b/src/utils/smpp_mirror.c
@@ -214,6 +214,14 @@ static int smpp_pdu_rx(struct esme *esme, struct msgb *msg)
return rc;
}
+static void esme_read_state_reset(struct esme *esme)
+{
+ esme->read_msg = NULL;
+ esme->read_idx = 0;
+ esme->read_len = 0;
+ esme->read_state = READ_ST_IN_LEN;
+}
+
/* FIXME: merge with smpp_smsc.c */
static int esme_read_cb(struct osmo_fd *ofd)
{
@@ -264,10 +272,7 @@ static int esme_read_cb(struct osmo_fd *ofd)
if (esme->read_idx >= esme->read_len) {
rc = smpp_pdu_rx(esme, esme->read_msg);
- esme->read_msg = NULL;
- esme->read_idx = 0;
- esme->read_len = 0;
- esme->read_state = READ_ST_IN_LEN;
+ esme_read_state_reset(esme);
}
break;
}