diff options
Diffstat (limited to 'examples/stream-server.c')
-rw-r--r-- | examples/stream-server.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/examples/stream-server.c b/examples/stream-server.c index 82fb20a..c1bfd66 100644 --- a/examples/stream-server.c +++ b/examples/stream-server.c @@ -93,6 +93,8 @@ static int kbd_cb(struct osmo_fd *fd, unsigned int what) int ret; ret = read(STDIN_FILENO, buf, sizeof(buf)); + if (ret < 1) + return 0; LOGP(DSTREAMTEST, LOGL_NOTICE, "read %d byte from keyboard\n", ret); @@ -106,8 +108,8 @@ static int kbd_cb(struct osmo_fd *fd, unsigned int what) LOGP(DSTREAMTEST, LOGL_ERROR, "cannot allocate message\n"); return 0; } - ptr = msgb_put(msg, strlen(buf)); - memcpy(ptr, buf, strlen(buf)); + ptr = msgb_put(msg, ret); + memcpy(ptr, buf, ret); osmo_stream_srv_send(conn, msg); LOGP(DSTREAMTEST, LOGL_NOTICE, "message of %d bytes sent\n", msg->len); |