--- deliantra/server/socket/lowlevel.C 2007/09/30 20:22:25 1.59 +++ deliantra/server/socket/lowlevel.C 2007/10/05 23:03:49 1.61 @@ -218,10 +218,11 @@ len -= 6; } - if (len > 4 && !strncmp (data, "say " , 4)) - return true; - if (len > 5 && !strncmp (data, "chat ", 5)) - return true; + if (len > 4 && data [3] == ' ' && !strncmp (data, "say " , 4)) return true; + if (len > 5 && data [4] == ' ' && !strncmp (data, "chat " , 5)) return true; + if (len > 6 && data [5] == ' ' && !strncmp (data, "shout ", 6)) return true; + + if (len == 7 && !strcmp (data, "suicide")) return true; return false; } @@ -353,21 +354,17 @@ { inbuf_len += amount; - cmd_ev.start (); + if (handle_packet ()) + { + while (handle_packet ()) + ; + + flush (); + } } } } -// called whenever we have additional commands to process -void -client::cmd_cb (iw &w) -{ - if (handle_packet ()) - w.start (); - else - flush (); -} - /******************************************************************************* * * Start of write related routines.