shithub: ircd

ref: 4161df5fd7487feaf4758b93a8d8371bec433471
dir: /reply.c/

View raw version
#include <u.h>
#include <libc.h>
#include <String.h>
#include "dat.h"
#include "fns.h"

char*
getreplies(User *u)
{
	return u->replies.reply;
}

void
flushreplies(User *u)
{
	if (!u->replies.reply)
		return;
	free(u->replies.reply);
	u->replies.reply = nil;
}

void
reply(User *u, Reply repl, ...)
{
	char buf[511];
	va_list arg;
	String *s = u->replies.reply;
	
	snprint(buf, sizeof buf, "%s %03d ", sysnameb, repl.nr);
	s_append(s, buf);
	
	va_start(arg, repl);
	vsnprint(buf, sizeof buf, repl.msg, arg);
	va_end(arg);
	
	s_append(s, buf);
	s_append(s, "\r\n");
	
	fprint(2, ":%s %03d %s\r\n", sysnameb, repl.nr, buf);
}