X-Git-Url: http://sigaev.ru/git/gitweb.cgi?p=remotetop.git;a=blobdiff_plain;f=td_lmsg.c;fp=td_lmsg.c;h=22cd925c0e0ef48c4b2e7ebced55679a0a3d4009;hp=cd6e6ad395af99cab8cdc712ee2d95975eeef99e;hb=09bd0186c6a568b8a1028d119e5289cb3ec88083;hpb=1c7a7aabdec64880fb511e0c059fd96a06475d30 diff --git a/td_lmsg.c b/td_lmsg.c index cd6e6ad..22cd925 100644 --- a/td_lmsg.c +++ b/td_lmsg.c @@ -37,23 +37,25 @@ static void getTopData(TC_Connection *conn) { TCMsg *pmsg; + conn->len = TCMSGHDRSZ + MUHDRSZ + cfg.mu->number * sizeof(UnitInfo); conn->buf = trealloc( conn->buf, conn->len ); - pmsg = (TCMsg*) conn->buf; - + pmsg = conn->buf; + pmsg->len = conn->len; pmsg->type = TOPGETTYPE; memcpy( pmsg->data, cfg.mu, pmsg->len - TCMSGHDRSZ ); ((MassiveUnit*)pmsg->data)->maxnumber = cfg.mu->number; + TC_Send(conn); } static void gotLongMessage( TC_Connection *conn ) { - TCMsg *pmsg = (TCMsg*) conn->buf; + TCMsg *pmsg = conn->buf; - if ( conn->ptr - conn->buf < TCMSGHDRSZ ) { - tlog(TL_ALARM,"Wrong size of long message (%d bytes)", conn->ptr - conn->buf); + if ( conn->ptr -(char*) conn->buf < TCMSGHDRSZ ) { + tlog(TL_ALARM,"Wrong size of long message (%d bytes)", conn->ptr - (char*)conn->buf); conn->state = CS_ERROR; return; } @@ -63,20 +65,20 @@ gotLongMessage( TC_Connection *conn ) { getTopData(conn); break; default: - tlog(TL_ALARM,"Got unknown packet type: %d", pmsg->type); + tlog(TL_ALARM,"Got unknown packet type: %u (%08x)", pmsg->type, pmsg->type); conn->state = CS_ERROR; } } static void sendedLongMessage( TC_Connection *conn ) { - TCMsg *pmsg = (TCMsg*) conn->buf; + TCMsg *pmsg = conn->buf; switch(pmsg->type) { case TOPGETTYPE: conn->state = CS_FINISH; break; default: - tlog(TL_ALARM,"Send unknown packet type: %d", pmsg->type); + tlog(TL_ALARM,"Send unknown packet type: %u(0x%08x)", pmsg->type, pmsg->type); conn->state = CS_ERROR; } }