/*
 * Helpful wrapper functions around the raw logevent().
 *
 * This source file lives in 'utils' because it's conceptually a
 * convenience utility rather than core functionality. But it can't
 * live in the utils _library_, because then it might refer to
 * logevent() in an earlier library after Unix ld had already finished
 * searching that library, and cause a link failure. So it must live
 * alongside logging.c.
 */

#include "putty.h"

void logevent_and_free(LogContext *ctx, char *event)
{
    logevent(ctx, event);
    sfree(event);
}

void logeventvf(LogContext *ctx, const char *fmt, va_list ap)
{
    logevent_and_free(ctx, dupvprintf(fmt, ap));
}

void logeventf(LogContext *ctx, const char *fmt, ...)
{
    va_list ap;

    va_start(ap, fmt);
    logeventvf(ctx, fmt, ap);
    va_end(ap);
}