mirror of https://github.com/OpenTTD/OpenTTD
(svn r4292) - CodeChange: sprinkle some holy water on l'ugly code (braces, and pos is PacketSize not int)
parent
a39f69b9bd
commit
558ecb1631
|
@ -270,24 +270,23 @@ uint64 NetworkRecv_uint64(NetworkClientState *cs, Packet *packet)
|
|||
}
|
||||
|
||||
// Reads a string till it finds a '\0' in the stream
|
||||
void NetworkRecv_string(NetworkClientState *cs, Packet *p, char* buffer, size_t size)
|
||||
void NetworkRecv_string(NetworkClientState *cs, Packet *p, char *buffer, size_t size)
|
||||
{
|
||||
int pos;
|
||||
PacketSize pos;
|
||||
char *bufp = buffer;
|
||||
|
||||
/* Don't allow reading from a closed socket */
|
||||
if (cs->quited)
|
||||
return;
|
||||
if (cs->quited) return;
|
||||
|
||||
pos = p->pos;
|
||||
while (--size > 0 && pos < p->size && (*buffer++ = p->buffer[pos++]) != '\0') {}
|
||||
if (size == 0 || pos == p->size)
|
||||
{
|
||||
|
||||
if (size == 0 || pos == p->size) {
|
||||
*buffer = '\0';
|
||||
// If size was sooner to zero then the string in the stream
|
||||
// skip till the \0, so the packet can be read out correctly for the rest
|
||||
while (pos < p->size && p->buffer[pos] != '\0') ++pos;
|
||||
++pos;
|
||||
while (pos < p->size && p->buffer[pos] != '\0') pos++;
|
||||
pos++;
|
||||
}
|
||||
p->pos = pos;
|
||||
|
||||
|
|
Loading…
Reference in New Issue