K 10
svn:author
V 6
rfalke
K 8
svn:date
V 27
2003-10-29T07:32:58.000000Z
K 7
svn:log
V 1089
Clean up the packet which is used to send goto routes to the
server. The new code only cleans up some of the problems with the old
code:

1.  The use of goto chunks.  This is intended to allow arbitrary long
routes. It doesn't do much and takes a lot of code.  The new code
limits the route to 2000 steps.

2.  Some values that only the server needs are initialized by the
client and sent over the network, which is nonsensical.  This includes
first_index and last_index values.  The server should just initialize
these when it receives the packet.

3.  The unit's path (punit->pgr->pos) is actually allocated by the
network code, then subverted for use by the core server code.  The
result is that there is no clear sequence of allocs and frees.

4.  The server currently uses a circular buffer to store the goto
route. This circular buffer method requires that the buffer have an
extra, unfilled position.  So you'd think the server would just create
the buffer one size larger than needed - but no, it's the client that
does this!

Patch by Jason Short in PR#6627 with changes from me.

END
