ucx/logging.c

changeset 152
3238f65db163
parent 138
7800811078b8
child 153
2d3d1313862a
     1.1 --- a/ucx/logging.c	Thu Sep 05 13:55:04 2013 +0200
     1.2 +++ b/ucx/logging.c	Fri Sep 06 13:20:20 2013 +0200
     1.3 @@ -61,11 +61,13 @@
     1.4      free(logger);
     1.5  }
     1.6  
     1.7 +// estimated max. message length (documented)
     1.8 +#define UCX_LOGGER_MSGMAX 4096
     1.9 +
    1.10  void ucx_logger_logf(UcxLogger *logger, unsigned int level, const char* file,
    1.11          const unsigned int line, const char *format, ...) {
    1.12      if (level <= logger->level) {
    1.13 -        const size_t max = 4096; // estimated max. message length (documented)
    1.14 -        char msg[max];
    1.15 +        char msg[UCX_LOGGER_MSGMAX];
    1.16          char *text;
    1.17          size_t k = 0;
    1.18          size_t n;
    1.19 @@ -85,14 +87,14 @@
    1.20              n = strlen(file);
    1.21              memcpy(msg+k, file, n);
    1.22              k += n;
    1.23 -            k += sprintf(msg+k, ":%d ", line);
    1.24 +            k += snprintf(msg+k, UCX_LOGGER_MSGMAX-k, ":%d ", line);
    1.25          }
    1.26          
    1.27          msg[k++] = '-'; msg[k++] = ' ';
    1.28          
    1.29          va_list args;
    1.30          va_start (args, format);
    1.31 -        k += vsnprintf(msg+k, max-k-1, format, args);
    1.32 +        k += vsnprintf(msg+k, UCX_LOGGER_MSGMAX-k-1, format, args);
    1.33          va_end (args);        
    1.34          
    1.35          msg[k++] = '\n';

mercurial