Variable length integer, from the bitcoin protocol.
It states very clearly
in the wiki:
<= 0xffff 3 0xfd + uint16_t
Here it makes sense.
But the problem is, when I do
getblocks with hash_stop set to zero, I get back
inv where the count field is "fd f4 01"
Now, if I parse it according to the spec, it give me value
753 (0xfd + 0x01f4). While in fact the proper value is
500 (0x01f4)
So which one is wrong; the spec or the value inside the message?
Or am I wrong somewhere?