Feature #356 ยป 0048-Delta-protocol-Make-array-index-16bit-value.patch
common/generate_packets.py | ||
---|---|---|
field_addr.sub_location = plocation_elem_new(0);
|
||
#endif /* FREECIV_JSON_CONNECTION */
|
||
fc_assert({self.size.real} < 255);
|
||
fc_assert({self.size.real} < MAX_UINT16);
|
||
for ({location.index} = 0; {location.index} < {self.size.real}; {location.index}++) {{
|
||
{inner_cmp}\
|
||
... | ... | |
field_addr.sub_location->number = count_{location.index}++;
|
||
field_addr.sub_location->sub_location = plocation_elem_new(0);
|
||
#endif /* FREECIV_JSON_CONNECTION */
|
||
e |= DIO_PUT(uint8, &dout, &field_addr, {location.index});
|
||
e |= DIO_PUT(uint16, &dout, &field_addr, {location.index});
|
||
#ifdef FREECIV_JSON_CONNECTION
|
||
/* Content address. */
|
||
... | ... | |
field_addr.sub_location->number = count_{location.index};
|
||
field_addr.sub_location->sub_location = plocation_elem_new(0);
|
||
#endif /* FREECIV_JSON_CONNECTION */
|
||
e |= DIO_PUT(uint8, &dout, &field_addr, 255);
|
||
e |= DIO_PUT(uint16, &dout, &field_addr, MAX_UINT16);
|
||
#ifdef FREECIV_JSON_CONNECTION
|
||
/* Exit diff array element. */
|
||
... | ... | |
int {location.index};
|
||
#endif /* FREECIV_JSON_CONNECTION */
|
||
if (!DIO_GET(uint8, &din, &field_addr, &{location.index})) {{
|
||
if (!DIO_GET(uint16, &din, &field_addr, &{location.index})) {{
|
||
RECEIVE_PACKET_FIELD_ERROR({location.name});
|
||
}}
|
||
if ({location.index} == 255) {{
|
||
if ({location.index} == MAX_UINT16) {{
|
||
#ifdef FREECIV_JSON_CONNECTION
|
||
/* Exit diff array element. */
|
||
FC_FREE(field_addr.sub_location->sub_location);
|