Mercurial > hg > nnchat
diff util.c @ 541:44f67ec5e945
Improve logging facilities. Private chats in query windows are now logged
separately. A log file directory can be set in configuration. Room log files
are always of format room_%d.ext. Log file extension can be set, default is
".log".
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 11 Nov 2012 18:32:42 +0200 |
parents | 8a52651bb88d |
children | 97a49a6cc959 |
line wrap: on
line diff
--- a/util.c Sun Nov 11 07:33:31 2012 +0200 +++ b/util.c Sun Nov 11 18:32:42 2012 +0200 @@ -715,59 +715,3 @@ th_free(tuple->str); th_free(tuple); } - - -#define VPUTCH(CH) th_vputch(&bufData, &bufSize, &bufLen, CH) -#define VPUTS(STR) th_vputs(&bufData, &bufSize, &bufLen, STR) - -char *nn_log_parse_filename(const char *fmt, int id) -{ - size_t bufSize = strlen(fmt) + TH_BUFGROW, bufLen = 0, pos = 0; - char *bufData = th_malloc(bufSize); - char *copy = th_strdup(fmt); - - while (fmt[pos]) - { - if (fmt[pos] == '%') - { - char tmpBuf[64]; - size_t start = pos++; - - if (fmt[pos] == '-') - pos++; - - while (isdigit(fmt[pos])) pos++; - - switch (fmt[pos]) - { - case 'i': - case 'd': - copy[pos + 1] = 0; - snprintf(tmpBuf, sizeof(tmpBuf), ©[start], id); - VPUTS(tmpBuf); - break; - - case 's': - copy[pos + 1] = 0; -// snprintf(tmpBuf, sizeof(tmpBuf), ©[start], ); - VPUTS(tmpBuf); - break; - - case '%': - VPUTCH('%'); - break; - - default: - goto error; - } - } - else - VPUTCH(fmt[pos]); - pos++; - } - -error: - VPUTCH(0); - th_free(copy); - return bufData; -}