bon j ai deja trouve un debut de reponse : ma fonction error utilise perror, et il fo utiliser WSAGetLastError() (ca marche bien mieux!!)
mais le pb now, c est que lorsque j ai le prompt irc, je peux po ecrire, si j ecris et fait Ctrl-C, alors ce que j ai tappe apparait sur le prompt de windows!!
que faire, c est un pb de select ca???
voila la fin du code :
int main (int ac, char **av)
...
MY_WRITE(1, PROMPT);
while (1)
{
FD_ZERO(&fd_read);
FD_SET(0, &fd_read);
FD_SET(fd_sock, &fd_read);
if (-1 == select(fd_sock + 1, &fd_read, 0, 0, 0))
WSAGetLastError();
//error("select" );
else
check(&fd_read, fd_sock, buf);
}
return (0);
}
int loop(int fd_sock)
{
char buf[1024];
int lu;
lu = read(0, buf, 1024);
if (lu > 1)
write(fd_sock, buf, lu);
else
MY_WRITE(1, PROMPT);
return (0);
}
void check(fd_set *fd_read, int fd_sock, char *buf)
{
if (FD_ISSET(0, fd_read))
loop(fd_sock);
if (FD_ISSET(fd_sock, fd_read))
{
memset(buf, 0, 1024);
if (0 > read(fd_sock, buf, 1024))
{
printf("%s\n", ENDCON);
exit(0);
}
MY_WRITE(1, buf);
}
}