File: log.c

package info (click to toggle)
tsdecrypt 10.0-5
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,288 kB
  • sloc: ansic: 14,377; makefile: 245; sh: 166
file content (32 lines) | stat: -rw-r--r-- 665 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
 * Logger function
 * Copyright (C) 2010-2011 Unix Solutions Ltd.
 *
 * Released under MIT license.
 * See LICENSE-MIT.txt for license terms.
 */
#include <stdio.h>
#include <stdarg.h>

#include "log.h"

void ts_LOG_default(const char *msg) {
	fprintf(stdout, "%s", msg);
}

static void (*ts_LOG_callback)(const char *msg) = ts_LOG_default;

void ts_LOGf(const char *fmt, ...) {
	char msg[1024];
	va_list args;
	va_start(args, fmt);
	vsnprintf(msg, sizeof(msg)-1, fmt, args);
	va_end(args);
	msg[sizeof(msg)-2] = '\n';
	msg[sizeof(msg)-1] = '\0';
	ts_LOG_callback(msg);
}

void ts_set_log_func(void (*LOG_func)(const char *msg)) {
	ts_LOG_callback = LOG_func;
}