Completely rework this function to make it much clearer. Also rename
many of the surviving variables.
No functional change.
The following rune was helpful to me when preparing this patch:
diff -bu <(git-show HEAD:src/types.c | perl -pe 's/\bstoreto\b/out/g; s/\bmax\b/cbyte_max/g; s/\boaddr\b/use_addr/; s/\bsalen\b/out_salen/g; s/\bstep\b/in_addrlen/g; s/\baf\b/out_af/g; s/\brrsz\b/out_rrsz/g; s/\brrty\b/in_rrty/g') src/types.c |less +/pap_addr
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>