aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2018-12-28 02:16:46 -0800
committerChris Robinson <[email protected]>2018-12-28 12:29:05 -0800
commit983904bbdce5d0973c3cda143f499872e55013e3 (patch)
tree201052174329b177066707d683f9da085aa28af6 /Alc
parentaff58265cb458b2ac2c42fef96383e9751d094d1 (diff)
Add a method to prefix logged function names
Diffstat (limited to 'Alc')
-rw-r--r--Alc/helpers.cpp8
-rw-r--r--Alc/logging.h16
2 files changed, 9 insertions, 15 deletions
diff --git a/Alc/helpers.cpp b/Alc/helpers.cpp
index 2db544b8..4a80c7e5 100644
--- a/Alc/helpers.cpp
+++ b/Alc/helpers.cpp
@@ -361,7 +361,7 @@ void *GetSymbol(void *handle, const char *name)
}
-void al_print(const char *type, const char *func, const char *fmt, ...)
+void al_print(const char *type, const char *prefix, const char *func, const char *fmt, ...)
{
char str[1024];
va_list ap;
@@ -372,7 +372,7 @@ void al_print(const char *type, const char *func, const char *fmt, ...)
str[sizeof(str)-1] = 0;
std::wstring wstr{utf8_to_wstr(str)};
- fprintf(gLogFile, "AL lib: %s %s: %ls", type, func, wstr.c_str());
+ fprintf(gLogFile, "AL lib: %s %s%s: %ls", type, prefix, func, wstr.c_str());
fflush(gLogFile);
}
@@ -588,12 +588,12 @@ void *GetSymbol(void *handle, const char *name)
#endif /* HAVE_DLFCN_H */
-void al_print(const char *type, const char *func, const char *fmt, ...)
+void al_print(const char *type, const char *prefix, const char *func, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
- fprintf(gLogFile, "AL lib: %s %s: ", type, func);
+ fprintf(gLogFile, "AL lib: %s %s%s: ", type, prefix, func);
vfprintf(gLogFile, fmt, ap);
va_end(ap);
diff --git a/Alc/logging.h b/Alc/logging.h
index 41f64f77..ae70e598 100644
--- a/Alc/logging.h
+++ b/Alc/logging.h
@@ -18,22 +18,20 @@
#define DECL_FORMAT(x, y, z)
#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
extern FILE *gLogFile;
+constexpr inline const char *CurrentPrefix() noexcept { return ""; }
#if defined(__GNUC__) && !defined(_WIN32)
-#define AL_PRINT(T, MSG, ...) fprintf(gLogFile, "AL lib: %s %s: " MSG, T, __FUNCTION__ , ## __VA_ARGS__)
+#define AL_PRINT(T, MSG, ...) fprintf(gLogFile, "AL lib: %s %s%s: " MSG, T, CurrentPrefix(), __FUNCTION__ , ## __VA_ARGS__)
#else
-void al_print(const char *type, const char *func, const char *fmt, ...) DECL_FORMAT(printf, 3,4);
-#define AL_PRINT(T, ...) al_print((T), __FUNCTION__, __VA_ARGS__)
+void al_print(const char *type, const char *prefix, const char *func, const char *fmt, ...) DECL_FORMAT(printf, 4,5);
+#define AL_PRINT(T, ...) al_print((T), CurrentPrefix(), __FUNCTION__, __VA_ARGS__)
#endif
#ifdef __ANDROID__
#include <android/log.h>
-#define LOG_ANDROID(T, MSG, ...) __android_log_print(T, "openal", "AL lib: %s: " MSG, __FUNCTION__ , ## __VA_ARGS__)
+#define LOG_ANDROID(T, MSG, ...) __android_log_print(T, "openal", "AL lib: %s%s: " MSG, CurrentPrefix(), __FUNCTION__ , ## __VA_ARGS__)
#else
#define LOG_ANDROID(T, MSG, ...) ((void)0)
#endif
@@ -70,8 +68,4 @@ extern LogLevel gLogLevel;
LOG_ANDROID(ANDROID_LOG_ERROR, __VA_ARGS__); \
} while(0)
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
#endif /* LOGGING_H */