Uhh, I've seen several other windows programs that did not rely on the NULL feature, perhaps because it is documented poorly. These programs do gethostname() and then gethostbyname(). We will probably need a check in the gethostbyname path to catch those programs as well.
Correct, NULL and gethostname passed into gethostbyname are supposed to operate identically. Hence either way is supposed to be valid. Yes, it is documented poorly. Regardless, the correct thing to do is check if the string passed into gethostbyname matches the result from gethostname OR the string passed is NULL - if it does match or is NULL - then return a list of local IP addresses. This will ensure applications running under WINE, using either the NULL or gethostname method operate as expected, even if native *nix applications can't rely on that behaviour.
-Rob