188 |
va_list ap; |
va_list ap; |
189 |
|
|
190 |
va_start(ap, extra); |
va_start(ap, extra); |
191 |
logx(sender, 0, cmd, target, flags, extra, ap); |
logx(sender, 0, cmd, target, ap, flags, extra); |
192 |
va_end(ap); |
va_end(ap); |
193 |
|
|
194 |
va_start(ap, extra); |
va_start(ap, extra); |
195 |
logx(sender, 1, cmd, target, flags, extra, ap); |
logx(sender, 1, cmd, target, ap, flags, extra); |
196 |
va_end(ap); |
va_end(ap); |
197 |
} |
} |
198 |
|
|
207 |
va_list ap; |
va_list ap; |
208 |
|
|
209 |
va_start(ap, extra); |
va_start(ap, extra); |
210 |
logx(sender, 1, cmd, target, flags, extra, ap); |
logx(sender, 1, cmd, target, ap, flags, extra); |
211 |
va_end(ap); |
va_end(ap); |
212 |
} |
} |
213 |
|
|
214 |
void |
void |
215 |
SLogfile::logx(UserList *sender, int zb, |
SLogfile::logx(UserList *sender, int zb, |
216 |
interp::services_cmd_id cmd, |
interp::services_cmd_id cmd, |
217 |
const char *target, |
const char *target, va_list ap, |
218 |
u_int32_t flags, const char *extra, va_list ap) |
u_int32_t flags, const char *extra) |
219 |
{ |
{ |
220 |
static char buffer[IRCBUF * 2]; |
static char buffer[IRCBUF * 2]; |
221 |
char senderblock[IRCBUF]; |
char senderblock[IRCBUF]; |
222 |
|
|
223 |
if (extra && *extra && ap != NULL) { |
if (extra && *extra) { |
224 |
vsnprintf(buffer, IRCBUF, extra, ap); |
vsnprintf(buffer, IRCBUF, extra, ap); |
225 |
} else |
} else |
226 |
*buffer = '\0'; |
*buffer = '\0'; |