forked from github/server
logging has a debug/info option now
fixed a bug in the umluaut_test, was not initializing the tnode.
This commit is contained in:
parent
77110158f9
commit
64f1ceecf5
5 changed files with 52 additions and 7 deletions
|
@ -205,7 +205,7 @@ int fix_demand(region * rd)
|
||||||
for (rl = rlist; rl; rl = rl->next) {
|
for (rl = rlist; rl; rl = rl->next) {
|
||||||
region *r = rl->data;
|
region *r = rl->data;
|
||||||
if (!fval(r, RF_CHAOTIC)) {
|
if (!fval(r, RF_CHAOTIC)) {
|
||||||
log_info((LOG_INFO1, "fixing demand in %s\n", regionname(r, NULL)));
|
log_debug("fixing demand in %s\n", regionname(r, NULL));
|
||||||
}
|
}
|
||||||
sale = mlux[rng_int() % maxlux];
|
sale = mlux[rng_int() % maxlux];
|
||||||
if (sale)
|
if (sale)
|
||||||
|
|
|
@ -20,7 +20,7 @@ without prior permission by the authors of Eressea.
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
/* TODO: set from external function */
|
/* TODO: set from external function */
|
||||||
int log_flags = LOG_FLUSH | LOG_CPERROR | LOG_CPWARNING;
|
int log_flags = LOG_FLUSH | LOG_CPERROR | LOG_CPWARNING | LOG_CPDEBUG;
|
||||||
#ifdef STDIO_CP
|
#ifdef STDIO_CP
|
||||||
static int stdio_codepage = STDIO_CP;
|
static int stdio_codepage = STDIO_CP;
|
||||||
#else
|
#else
|
||||||
|
@ -157,6 +157,49 @@ static int check_dupe(const char *format, const char *type)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _log_debug(const char *format, ...)
|
||||||
|
{
|
||||||
|
if (log_flags & LOG_CPDEBUG) {
|
||||||
|
int dupe = check_dupe(format, "DEBUG");
|
||||||
|
|
||||||
|
fflush(stdout);
|
||||||
|
if (!logfile)
|
||||||
|
logfile = stderr;
|
||||||
|
if (logfile != stderr) {
|
||||||
|
va_list marker;
|
||||||
|
fputs("DEBUG: ", logfile);
|
||||||
|
va_start(marker, format);
|
||||||
|
vfprintf(logfile, format, marker);
|
||||||
|
va_end(marker);
|
||||||
|
}
|
||||||
|
if (!dupe) {
|
||||||
|
va_list marker;
|
||||||
|
fputs("DEBUG: ", stderr);
|
||||||
|
va_start(marker, format);
|
||||||
|
if (stdio_codepage) {
|
||||||
|
char buffer[MAXLENGTH];
|
||||||
|
char converted[MAXLENGTH];
|
||||||
|
|
||||||
|
vsnprintf(buffer, sizeof(buffer), format, marker);
|
||||||
|
if (cp_convert(buffer, converted, MAXLENGTH, stdio_codepage) == 0) {
|
||||||
|
fputs(converted, stderr);
|
||||||
|
} else {
|
||||||
|
/* fall back to non-converted output */
|
||||||
|
va_end(marker);
|
||||||
|
va_start(marker, format);
|
||||||
|
vfprintf(stderr, format, marker);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
vfprintf(stderr, format, marker);
|
||||||
|
}
|
||||||
|
va_end(marker);
|
||||||
|
}
|
||||||
|
if (log_flags & LOG_FLUSH) {
|
||||||
|
log_flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void _log_warn(const char *format, ...)
|
void _log_warn(const char *format, ...)
|
||||||
{
|
{
|
||||||
if (log_flags & LOG_CPWARNING) {
|
if (log_flags & LOG_CPWARNING) {
|
||||||
|
|
|
@ -25,18 +25,19 @@ extern "C" {
|
||||||
#define log_warning(x) _log_warn x
|
#define log_warning(x) _log_warn x
|
||||||
#define log_error(x) _log_error x
|
#define log_error(x) _log_error x
|
||||||
#define log_info(x) _log_info x
|
#define log_info(x) _log_info x
|
||||||
|
#define log_debug _log_debug
|
||||||
|
|
||||||
/* use macros above instead of these: */
|
/* use macros above instead of these: */
|
||||||
extern void _log_warn(const char *format, ...);
|
extern void _log_warn(const char *format, ...);
|
||||||
extern void _log_error(const char *format, ...);
|
extern void _log_error(const char *format, ...);
|
||||||
|
extern void _log_debug(const char *format, ...);
|
||||||
extern void _log_info(unsigned int flag, const char *format, ...);
|
extern void _log_info(unsigned int flag, const char *format, ...);
|
||||||
|
|
||||||
#define LOG_FLUSH 0x01
|
#define LOG_FLUSH 0x01
|
||||||
#define LOG_CPWARNING 0x02
|
#define LOG_CPWARNING 0x02
|
||||||
#define LOG_CPERROR 0x04
|
#define LOG_CPERROR 0x04
|
||||||
#define LOG_INFO1 0x08
|
#define LOG_CPDEBUG 0x08
|
||||||
#define LOG_INFO2 0x10
|
#define LOG_CPINFO 0x10
|
||||||
#define LOG_INFO3 0x20
|
|
||||||
|
|
||||||
extern int log_flags;
|
extern int log_flags;
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -168,7 +168,7 @@ void add_function(const char *symbol, evalfun parse)
|
||||||
|
|
||||||
static evalfun find_function(const char *symbol)
|
static evalfun find_function(const char *symbol)
|
||||||
{
|
{
|
||||||
void * matches;
|
const void * matches;
|
||||||
if (cb_find_prefix(&functions, symbol, strlen(symbol)+1, &matches, 1, 0)) {
|
if (cb_find_prefix(&functions, symbol, strlen(symbol)+1, &matches, 1, 0)) {
|
||||||
evalfun result;
|
evalfun result;
|
||||||
cb_get_kv(matches, &result, sizeof(result));
|
cb_get_kv(matches, &result, sizeof(result));
|
||||||
|
|
|
@ -22,10 +22,11 @@ static void test_transliterate(CuTest * tc)
|
||||||
static void test_umlaut(CuTest * tc)
|
static void test_umlaut(CuTest * tc)
|
||||||
{
|
{
|
||||||
const char * umlauts = "\xc3\xa4\xc3\xb6\xc3\xbc\xc3\x9f"; /* auml ouml uuml szlig nul */
|
const char * umlauts = "\xc3\xa4\xc3\xb6\xc3\xbc\xc3\x9f"; /* auml ouml uuml szlig nul */
|
||||||
tnode tokens = { 0 };
|
tnode tokens;
|
||||||
variant id;
|
variant id;
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
|
memset(&tokens, 0, sizeof(tokens));
|
||||||
/* don't crash on an empty set */
|
/* don't crash on an empty set */
|
||||||
result = findtoken(&tokens, "herpderp", &id);
|
result = findtoken(&tokens, "herpderp", &id);
|
||||||
CuAssertIntEquals(tc, E_TOK_NOMATCH, result);
|
CuAssertIntEquals(tc, E_TOK_NOMATCH, result);
|
||||||
|
|
Loading…
Reference in a new issue