From 086891e5c119abb9854237fc32e736fe2d67234c Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 27 Nov 2014 19:48:02 +0100 Subject: log: add an "error" parameter to all low-level logging calls and intrdouce log_error_errno() as log calls that take error numbers This change has two benefits: - The format string %m will now resolve to the specified error (or to errno if the specified error is 0. This allows getting rid of a ton of strerror() invocations, a function that is not thread-safe. - The specified error can be passed to the journal in the ERRNO= field. Now of course, we just need somebody to convert all cases of this: log_error("Something happened: %s", strerror(-r)); into thus: log_error_errno(-r, "Something happened: %m"); --- src/shared/conf-parser.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/shared/conf-parser.h') diff --git a/src/shared/conf-parser.h b/src/shared/conf-parser.h index 69d32711b7..2507a44444 100644 --- a/src/shared/conf-parser.h +++ b/src/shared/conf-parser.h @@ -119,10 +119,16 @@ int config_parse_mode(const char *unit, const char *filename, unsigned line, con int config_parse_log_facility(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); int config_parse_log_level(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); -int log_syntax_internal(const char *unit, int level, - const char *file, unsigned line, const char *func, - const char *config_file, unsigned config_line, - int error, const char *format, ...) _printf_(9, 10); +int log_syntax_internal( + const char *unit, + int level, + const char *file, + int line, + const char *func, + const char *config_file, + unsigned config_line, + int error, + const char *format, ...) _printf_(9, 10); #define log_syntax(unit, level, config_file, config_line, error, ...) \ log_syntax_internal(unit, level, \ -- cgit v1.2.3-54-g00ecf