Bonjour,
Je débute en C, pouvez vous m'aider à résoudre ce problème svp :
En erreur j'ai :(gdb) BT
#0 vsprintf_irc (str=0x64c525 "#!Accueil!\r\n", format=0x438b6d "", vl=0x7fff48d252a0) at sprintf_irc.c:291
#1 0x00000000004332c7 in vsendto_prefix_one (to=0x65cfe0, from=<value optimized out>, pattern=0x438b62 ":%s PART %s", vl=0x7fff48d252a0) at send.c:324
#2 0x0000000000433979 in sendto_channel_butserv (chptr=<value optimized out>, from=0x65ed40, pattern=0x438b62 ":%s PART %s") at send.c:571
#3 0x000000000040be52 in m_part (cptr=0x65ed40, sptr=<value optimized out>, parc=<value optimized out>, parv=0x568de0) at channel.c:3547
#4 0x00000000004171c6 in dopacket (cptr=0x65ed40, buffer=<value optimized out>, length=0) at packet.c:104
#5 0x000000000041f1d3 in read_message (delay=<value optimized out>) at s_bsd.c:1563
#6 0x000000000041062d in main (argc=1219822525, argv=<value optimized out>) at ircd.c:979
Voila la fonction vsprintf_irc :Program terminated with signal 11, Segmentation fault.
#0 vsprintf_irc (str=0x64c525 "#!Accueil!\r\n", format=0x438b6d "", vl=0x7fff48d252a0) at sprintf_irc.c:291 (NB : ligne f ((*str = *p1)))
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 char *vsprintf_irc(register char *str, register const char *format, register va_list vl) { register char c; while ((c = *format++)) { if (c == '%') { c = *format++; /* May never be '\0' ! */ if (c == 'c') { *str++ = (char)va_arg(vl, int); continue; } if (c == 's') { register const char *p1 = va_arg(vl, const char *); if ((*str = *p1)) // ligne 291 while ((*++str = *++p1)); continue; }
Cdt,
MC
Partager