> >I would say no. > > > >Where is h_errno implemented? > > > >It is defined as external to gethostnamadr.c and it is defined as > > > >extern int h_errno; > > > >not > >extern int * h_errno; > > If this were true the malloc() call wouldn't compile. h_errno is > actually #defined in netdb.h (i believe) as a pointer variable... Ouch!!! I thought that I fixed this long ago. There was a problem with the h_errno stuff. It is #defined to be a function _h_errnop() or so. On the other hand it is a pointer that to TLS memory (if I remember correctly...). To solve the problem you should try to put an #undef h_errno before every h_errno declaration extern int h_errno. Otherwise it gets replaced by _h_errnop() and you try to set the return value of that function instead of the variable itself. This of course fails. In compat.c I also made a mistake and put it AFTER the declaration! Sorry. h_errno is defined in res_query.c. IMHO, it should be moved into compat.c. What do you think? Waldemar