avoid usage of snprintf()

We have a nice little abstraction for snprintf with covering the case
that a string is too big for the target buffer – let's use that!
This commit is contained in:
Christian Kruse
2014-03-06 18:11:04 +01:00
parent 164cf9d08f
commit 9eba986833
3 changed files with 11 additions and 15 deletions

12
log.c
View File

@@ -40,10 +40,8 @@
/* #define REPMGR_DEBUG */
void
stderr_log_with_level(const char *level_name, int level, const char *fmt,...)
stderr_log_with_level(const char *level_name, int level, const char *fmt, ...)
{
size_t len = strlen(fmt);
char fmt1[len + 150];
time_t t;
struct tm *tm;
char buff[100];
@@ -53,13 +51,11 @@ stderr_log_with_level(const char *level_name, int level, const char *fmt,...)
{
time(&t);
tm = localtime(&t);
strftime(buff, 100, "[%Y-%m-%d %H:%M:%S]", tm);
fprintf(stderr, "%s [%s] ", buff, level_name);
va_start(ap, fmt);
strftime(buff, 100, "[%Y-%m-%d %H:%M:%S]", tm);
snprintf(fmt1, len + 150, "%s [%s] %s", buff, level_name, fmt);
vfprintf(stderr, fmt1, ap);
vfprintf(stderr, fmt, ap);
va_end(ap);
fflush(stderr);