diff options
| author | Daniel M. Pelt <D.M.Pelt@cwi.nl> | 2015-10-13 17:02:09 +0200 | 
|---|---|---|
| committer | Daniel M. Pelt <D.M.Pelt@cwi.nl> | 2015-10-13 17:07:26 +0200 | 
| commit | 21d08656ead6f974f83b0a02b03b105a7cd617a8 (patch) | |
| tree | f926d3a43379708fe6fd61fa636ac51d3c1b9dc5 /src | |
| parent | 026aa46c5db24ddd687cec0fa6e056a2ee3790c5 (diff) | |
| download | astra-21d08656ead6f974f83b0a02b03b105a7cd617a8.tar.gz astra-21d08656ead6f974f83b0a02b03b105a7cd617a8.tar.bz2 astra-21d08656ead6f974f83b0a02b03b105a7cd617a8.tar.xz astra-21d08656ead6f974f83b0a02b03b105a7cd617a8.zip | |
Do not reuse va_list when logging both to screen and file
Diffstat (limited to 'src')
| -rw-r--r-- | src/Logging.cpp | 60 | 
1 files changed, 44 insertions, 16 deletions
| diff --git a/src/Logging.cpp b/src/Logging.cpp index 8290ca0..cd7e3f0 100644 --- a/src/Logging.cpp +++ b/src/Logging.cpp @@ -70,37 +70,65 @@ void CLogger::disable()  void CLogger::debug(const char *sfile, int sline, const char *fmt, ...)  {  	_assureIsInitialized(); -	va_list ap; -	va_start(ap, fmt); -	if(m_bEnabledScreen) clog_debug(sfile,sline,0,fmt,ap); -	if(m_bEnabledFile && m_bFileProvided) clog_debug(sfile,sline,1,fmt,ap); +	va_list ap, apf; +	if(m_bEnabledScreen){ +        va_start(ap, fmt); +        clog_debug(sfile,sline,0,fmt,ap); +        va_end(ap); +    } +	if(m_bEnabledFile && m_bFileProvided){ +        va_start(apf, fmt); +        clog_debug(sfile,sline,1,fmt,apf); +        va_end(apf); +    }  }  void CLogger::info(const char *sfile, int sline, const char *fmt, ...)  {  	_assureIsInitialized(); -	va_list ap; -	va_start(ap, fmt); -	if(m_bEnabledScreen) clog_info(sfile,sline,0,fmt,ap); -	if(m_bEnabledFile && m_bFileProvided) clog_info(sfile,sline,1,fmt,ap); +	va_list ap, apf; +	if(m_bEnabledScreen){ +        va_start(ap, fmt); +        clog_info(sfile,sline,0,fmt,ap); +        va_end(ap); +    } +	if(m_bEnabledFile && m_bFileProvided){ +        va_start(apf, fmt); +        clog_info(sfile,sline,1,fmt,apf); +        va_end(apf); +    }  }  void CLogger::warn(const char *sfile, int sline, const char *fmt, ...)  {  	_assureIsInitialized(); -	va_list ap; -	va_start(ap, fmt); -	if(m_bEnabledScreen) clog_warn(sfile,sline,0,fmt,ap); -	if(m_bEnabledFile && m_bFileProvided) clog_warn(sfile,sline,1,fmt,ap); +	va_list ap, apf; +	if(m_bEnabledScreen){ +        va_start(ap, fmt); +        clog_warn(sfile,sline,0,fmt,ap); +        va_end(ap); +    } +	if(m_bEnabledFile && m_bFileProvided){ +        va_start(apf, fmt); +        clog_warn(sfile,sline,1,fmt,apf); +        va_end(apf); +    }  }  void CLogger::error(const char *sfile, int sline, const char *fmt, ...)  {  	_assureIsInitialized(); -	va_list ap; -	va_start(ap, fmt); -	if(m_bEnabledScreen) clog_error(sfile,sline,0,fmt,ap); -	if(m_bEnabledFile && m_bFileProvided) clog_error(sfile,sline,1,fmt,ap); +	va_list ap, apf; +	if(m_bEnabledScreen){ +        va_start(ap, fmt); +        clog_error(sfile,sline,0,fmt,ap); +        va_end(ap); +    } +	if(m_bEnabledFile && m_bFileProvided){ +        va_start(apf, fmt); +        clog_error(sfile,sline,1,fmt,apf); +        va_end(apf); +    }  }  void CLogger::_setLevel(int id, log_level m_eLevel) | 
