test/getcanon.c: exit(3) with 0 or 1, not -1 or symbolic error code.
gethostname(3) returns -1 on failure and that was being returned from
main; use 1 instead. getaddrinfo(3) returns EAI_ADDRFAMILY et al on
failure, but here they're defined as small negative integers, unsuitable
for main()'s return value; again, use 1 instead. Along the way, flip
the logic so the end is nigh when possible, avoiding the cognitive
overhead of tracking state when continuing to read through the source.