chiark / gitweb /
log: out-of-line __log_oom()
[elogind.git] / src / shared / log.h
index 7c3376c31e5efdda0ecc2eb7106294635c6a6eff..ab894df172ef724776cce154847684e681336fbb 100644 (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)