]> git.kernelconcepts.de Git - metawatch.git/blobdiff - mw_main.c
Implement streaming protocol (mw_feed_...)
[metawatch.git] / mw_main.c
index dd4e4a418854697272b400113a153aa2888350c8..a5c108327cd3743b97a426305b575b2cea548184 100644 (file)
--- a/mw_main.c
+++ b/mw_main.c
@@ -448,7 +448,7 @@ gboolean handle_mw_io(GIOChannel *mw_io, GIOCondition condition, gpointer udata)
        mwdata_t *mdata = (mwdata_t *)udata;
        int rcvd;
 
-       rcvd = read(mdata->mwdevice.mw_fd, mdata->rcvbuf+mdata->rcvbuf_pos, 64);
+       rcvd = read(mdata->mwdevice.mw_fd, mdata->rcvbuf, 64);
 #ifdef DEBUG
        fprintf(stderr, "read %d bytes:\n", rcvd);
 #endif
@@ -456,8 +456,7 @@ gboolean handle_mw_io(GIOChannel *mw_io, GIOCondition condition, gpointer udata)
 #ifdef DEBUG
                dump_frame(mdata->rcvbuf, rcvd);
 #endif
-               decode_frame(&mdata->mwdevice, mdata->rcvbuf, rcvd);
-               mdata->rcvbuf_pos = 0;
+               mw_feed_msg_buffer(&mdata->mwdevice, mdata->rcvbuf, rcvd);
        }
 
        return TRUE;