Re: ¿Es esto normal con la llamada 'gethostbyname()'?
El vie, 21 abr 2000, Francisco José Avila Bermejo escribió:
> Estoy haciendo un programa chorra para redireccionar correo y me he encontrado
> con una curiosidad del gethostbyname(). El caso es que siempre devuelve un
> puntero a la misma dirección, por lo que en dos llamada sucesivas a la función
> para resolver dos nombre, pues el segundo pisa al primero. Por lo visto no hace
> un malloc() para reservar memoria o yo qué sé:
¿Es esta la solución al problema?
#include <stdio.h>
#include <stdlib.h>
#include <netdb.h>
int main(int argc, char *argv[]) {
struct hostent *a, *b, *c, *h;
printf("a: %p, b: %p, c:%p\n", a, b, c);
h = gethostbyname("antares");
a = malloc(sizeof(h));
memcpy(a, h, sizeof(h));
h = gethostbyname("javi");
b = malloc(sizeof(h));
memcpy(b, h, sizeof(h));
h = gethostbyname("apolo");
c = malloc(sizeof(h));
memcpy(c, h, sizeof(h));
printf("a: %p, b: %p, c:%p\n", a, b, c);
return 0;
}
Me parece algo chapuzas :-P
-----------------------------------------------------------------------------
* Hay miles de Pentiums 75 bajo su Pentium 100. Siga raspando!!.
-------------
Registered Linux user number 134.596
E-mail: monkiki@teleline.es Powered by Debian 2.1 slink
-----------------------------------------------------------------------------
Reply to: