dereferencing pointer to incomplete type

Fórumok

Egy kis halozati programon dolgozok, de elakadtam az egyik fuggvenynel. Ennek az lenne a celja, hogy hostnevbol ip-cimet allitson elo (char * tipusut persze)

struct hostent *h;
h=(struct hostent *)gethostbyname(host);

Ezek a sorok teljesen rendben vannak, viszont ha h-nak megprobalom valamelyik fieldjet elerni, akkor jon ez a hiba.
Pl. h->h_length, h->h_name stb...
Probalkoztam mindenfele tipuskonverzioval, de mindig ez az eredmeny :(

Szoval segitseg...

Ja, es:
zati@zati ~ $ gcc --version
gcc (GCC) 3.4.5 (Gentoo 3.4.5, ssp-3.4.5-1.0, pie-8.7.9)

Hozzászólások

Elfeljtetted volna:


#include <netdb.h>

------
gentóhuszár


#include <netdb.h>
#include <stdio.h>

int main()
{
    struct hostent *h;
    h=gethostbyname("www.hup.hu");

    if (h)
        printf("%s\n",h->h_name);
    else
        printf("Gethostbyname failed!\n");

    return 0;
}

Nekem ez így megy. Tuti érvényes, létező hostnevet adsz meg?
Mert ha nem akkor null pointert kapsz h-ba.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

minap írtam meg, és felfedeztem az inet_pton és inet_ntop fveket. mind1 tegyél be 1 switchet az errno-ra. egyébiránt a host ugye char* ??? amúgy meg ott van tr3w megoldása.