mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	log: fix SOC_U::Accept LOG_DEBUG call, and ensure such mistakes get picked up at compile time (#7463)
* fix SOC_U::Accept invalid log function * make logging get checked at compile time - ensures log strings match the amount and type (if the format specifies an integer, for example) of the arguments - if at any later point a runtime-generated string is used as the log format, FmtLogMessage might require an overload taking a fmt::runtime_format_string<> as the format argument type, everything else being equal. wrap the generated string with fmt::runtime() before passing to the LOG_X function * formatting fix: aligning the arguments
This commit is contained in:
		
							parent
							
								
									4f9fc88bb3
								
							
						
					
					
						commit
						e0d2c1308e
					
				
					 3 changed files with 5 additions and 5 deletions
				
			
		|  | @ -451,7 +451,7 @@ void SetColorConsoleBackendEnabled(bool enabled) { | |||
| } | ||||
| 
 | ||||
| void FmtLogMessageImpl(Class log_class, Level log_level, const char* filename, | ||||
|                        unsigned int line_num, const char* function, const char* format, | ||||
|                        unsigned int line_num, const char* function, fmt::string_view format, | ||||
|                        const fmt::format_args& args) { | ||||
|     if (!initialization_in_progress_suppress_logging) { | ||||
|         Impl::Instance().PushEntry(log_class, log_level, filename, line_num, function, | ||||
|  |  | |||
|  | @ -24,12 +24,12 @@ constexpr const char* TrimSourcePath(std::string_view source) { | |||
| 
 | ||||
| /// Logs a message to the global logger, using fmt
 | ||||
| void FmtLogMessageImpl(Class log_class, Level log_level, const char* filename, | ||||
|                        unsigned int line_num, const char* function, const char* format, | ||||
|                        unsigned int line_num, const char* function, fmt::string_view format, | ||||
|                        const fmt::format_args& args); | ||||
| 
 | ||||
| template <typename... Args> | ||||
| void FmtLogMessage(Class log_class, Level log_level, const char* filename, unsigned int line_num, | ||||
|                    const char* function, const char* format, const Args&... args) { | ||||
|                    const char* function, fmt::format_string<Args...> format, const Args&... args) { | ||||
|     FmtLogMessageImpl(log_class, log_level, filename, line_num, function, format, | ||||
|                       fmt::make_format_args(args...)); | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue