mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-10 13:04:23 -04:00
optimize by removing a variable
svn:r433
This commit is contained in:
parent
bfd27f58da
commit
7b7742fce7
@ -155,26 +155,25 @@ decode_int_internal(uint32_t *pnumber, struct evbuffer *evbuf, int dodrain)
|
|||||||
uint32_t number = 0;
|
uint32_t number = 0;
|
||||||
uint8_t *data = EVBUFFER_DATA(evbuf);
|
uint8_t *data = EVBUFFER_DATA(evbuf);
|
||||||
int len = EVBUFFER_LENGTH(evbuf);
|
int len = EVBUFFER_LENGTH(evbuf);
|
||||||
int nibbles = 0, off;
|
int nibbles = 0;
|
||||||
|
|
||||||
if (!len)
|
if (!len)
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
nibbles = ((data[0] & 0xf0) >> 4) + 1;
|
nibbles = ((data[0] & 0xf0) >> 4) + 1;
|
||||||
if (nibbles > 8 || (nibbles >> 1) > len - 1)
|
if (nibbles > 8 || (nibbles >> 1) + 1 > len)
|
||||||
return (-1);
|
return (-1);
|
||||||
|
len = (nibbles >> 1) + 1;
|
||||||
|
|
||||||
off = nibbles;
|
while (nibbles > 0) {
|
||||||
while (off > 0) {
|
|
||||||
number <<= 4;
|
number <<= 4;
|
||||||
if (off & 0x1)
|
if (nibbles & 0x1)
|
||||||
number |= data[off >> 1] & 0x0f;
|
number |= data[nibbles >> 1] & 0x0f;
|
||||||
else
|
else
|
||||||
number |= (data[off >> 1] & 0xf0) >> 4;
|
number |= (data[nibbles >> 1] & 0xf0) >> 4;
|
||||||
off--;
|
nibbles--;
|
||||||
}
|
}
|
||||||
|
|
||||||
len = (nibbles >> 1) + 1;
|
|
||||||
if (dodrain)
|
if (dodrain)
|
||||||
evbuffer_drain(evbuf, len);
|
evbuffer_drain(evbuf, len);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user