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�:
Este programa de ejemplo demuestra tan curioso hecho:
#include <stdio.h>
#include <netdb.h>
int main(int argc, char *argv[]) {
struct hostent *a, *b, *c;
printf("a: %p, b: %p, c:%p\n", a, b, c);
a = gethostbyname("antares");
b = gethostbyname("javi");
c = gethostbyname("apolo");
printf("a: %p, b: %p, c:%p\n", a, b, c);
return 0;
}
�Hay algo mal en mi m�quina? Supongo que la soluci�n es hacer un
malloc() y un memcpy() de lo que devuelve cada vez para que no me pise, pero no
lo veo l�gico.
Gracias.
--
-----------------------------------------------------------------------------
* Hay miles de Pentiums 75 bajo su Pentium 100. Siga raspando!!.
-------------
Registered Linux user number 134.596
E-mail: [EMAIL PROTECTED] Powered by Debian 2.1 slink
-----------------------------------------------------------------------------