aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2017-06-14 11:11:27 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-07-12 23:42:47 +0200
commit5ba9c291f1709f415943449dec5e7461d15acd75 (patch)
tree3a5fc34c8adc95971165d95ba8f285110c668ef4
parent5dfa825b22b2071121d3eea9c7f96852e6c52255 (diff)
mgcp: fix line-break problem in log
When the mgcp_client prints MGCP strings in the log text, it does not remove the line break before printing. This will mess up the log text. This patch removes the line break characters before printing properly. Change-Id: I7fce23a50371ce94a8f2d8aef2fe9d2001d41b8c
-rw-r--r--src/libmgcp/mgcpgw_client.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libmgcp/mgcpgw_client.c b/src/libmgcp/mgcpgw_client.c
index 12880dd4f..f21983ed6 100644
--- a/src/libmgcp/mgcpgw_client.c
+++ b/src/libmgcp/mgcpgw_client.c
@@ -304,9 +304,16 @@ static int mgcp_do_write(struct osmo_fd *fd, struct msgb *msg)
{
int ret;
static char strbuf[4096];
- unsigned int l = msg->len < sizeof(strbuf)-1 ? msg->len : sizeof(strbuf)-1;
+ unsigned int l = msg->len < sizeof(strbuf) ? msg->len : sizeof(strbuf);
+ unsigned int i;
+
strncpy(strbuf, (const char*)msg->data, l);
- strbuf[l] = '\0';
+ for (i = 0; i < sizeof(strbuf); i++) {
+ if (strbuf[i] == '\n' || strbuf[i] == '\r') {
+ strbuf[i] = '\0';
+ break;
+ }
+ }
DEBUGP(DMGCP, "Tx MGCP msg to MGCP GW: '%s'\n", strbuf);
LOGP(DMGCP, LOGL_DEBUG, "Sending msg to MGCP GW size: %u\n", msg->len);