| 331 |
|
sendto_one_numeric(struct Client *to, struct Client *from, enum irc_numerics numeric, ...) |
| 332 |
|
{ |
| 333 |
|
struct dbuf_block *buffer = NULL; |
| 334 |
< |
const char *dest = NULL; |
| 334 |
> |
const char *dest = NULL, *numstr = NULL; |
| 335 |
|
va_list args; |
| 336 |
|
|
| 337 |
|
if (IsDead(to->from)) |
| 344 |
|
|
| 345 |
|
buffer = dbuf_alloc(); |
| 346 |
|
|
| 347 |
< |
dbuf_put_fmt(buffer, ":%s %03d %s ", ID_or_name(from, to), numeric, dest); |
| 347 |
> |
dbuf_put_fmt(buffer, ":%s %03d %s ", ID_or_name(from, to), numeric & ~SND_EXPLICIT, dest); |
| 348 |
|
|
| 349 |
|
va_start(args, numeric); |
| 350 |
< |
send_format(buffer, numeric_form(numeric), args); |
| 350 |
> |
|
| 351 |
> |
if (numeric & SND_EXPLICIT) |
| 352 |
> |
numstr = va_arg(args, const char *); |
| 353 |
> |
else |
| 354 |
> |
numstr = numeric_form(numeric); |
| 355 |
> |
send_format(buffer, numstr, args); |
| 356 |
|
va_end(args); |
| 357 |
|
|
| 358 |
|
send_message(to->from, buffer); |