An assignment yields the value that was assigned. That value is the
condition tested by the "while".
It's a bit terse for my own taste, but it's well defined and a common C
idiom.
*OH* *MY* *GOD*!! WHAT THE ****! Jesus merciful Christ! Wow! Talk about
the suprise factor. *Completely* sailed over my head. Really cool. Were
it not as beautiful as it is, I would call it an eldritch abomination.
But you know what is the funniest thing in all this?
I am actually well informed of the "assigment return value" (to use a bit
LISPy terminology), and have, infact, used it without thinking twice
about it, like in this function call...
fill_32field((recursion ? (listento = get_nbnsaddr(scope)) :
(listento = 0, brdcst_addr)),
(unsigned char *)&(addr.sin_addr.s_addr));
....it's just that that `while' up there confused me. I have developed a
reflex to never use a naked assigment operator in tests, in order to
avoid the notorious "assignment when you meant test equality" bug, and
that reflex kicked in when I saw the code snippet.