log: out-of-line __log_oom()

The callers' code gets smaller.
This commit is contained in:
Michal Schmidt 2012-07-26 14:23:49 +02:00
parent cd6f1c0f87
commit 6dc1e7e0ba
2 changed files with 7 additions and 5 deletions

View file

@ -658,6 +658,11 @@ _noreturn_ void log_assert_failed_unreachable(const char *text, const char *file
log_assert(text, file, line, func, "Code should not be reached '%s' at %s:%u, function %s(). Aborting.");
}
int __log_oom(const char *file, int line, const char *func) {
log_meta(LOG_ERR, file, line, func, "Out of memory.");
return -ENOMEM;
}
int log_set_target_from_string(const char *e) {
LogTarget t;

View file

@ -103,11 +103,8 @@ int log_dump_internal(
#define log_warning(...) log_meta(LOG_WARNING, __FILE__, __LINE__, __func__, __VA_ARGS__)
#define log_error(...) log_meta(LOG_ERR, __FILE__, __LINE__, __func__, __VA_ARGS__)
/* This must be a macro for __LINE__ etc. to work */
#define log_oom() ({ \
log_error("Out of memory."); \
-ENOMEM; \
})
int __log_oom(const char *file, int line, const char *func);
#define log_oom() __log_oom(__FILE__, __LINE__, __func__)
/* This modifies the buffer passed! */
#define log_dump(level, buffer) log_dump_internal(level, __FILE__, __LINE__, __func__, buffer)