Mercurial > repos > blastem
changeset 879:a77670cd178d
Send info/warning/fatal messages to logcat on Android
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 09 Nov 2015 21:26:25 -0800 |
parents | 9f1c76714f87 |
children | 0e4e9ea2d18d |
files | util.c |
diffstat | 1 files changed, 25 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/util.c Mon Nov 09 20:58:45 2015 -0800 +++ b/util.c Mon Nov 09 21:26:25 2015 -0800 @@ -9,6 +9,25 @@ #include <sys/stat.h> #include <unistd.h> +#ifdef __ANDROID__ +#include <android/log.h> +#define info_puts(msg) __android_log_write(ANDROID_LOG_INFO, "BlastEm", msg) +#define warning_puts(msg) __android_log_write(ANDROID_LOG_WARN, "BlastEm", msg) +#define fatal_puts(msg) __android_log_write(ANDROID_LOG_FATAL, "BlastEm", msg) + +#define info_printf(msg, args) __android_log_vprint(ANDROID_LOG_INFO, "BlastEm", msg, args) +#define warning_printf(msg, args) __android_log_vprint(ANDROID_LOG_WARN, "BlastEm", msg, args) +#define fatal_printf(msg, args) __android_log_vprint(ANDROID_LOG_FATAL, "BlastEm", msg, args) +#else +#define info_puts(msg) fputs(stdout, msg); +#define warning_puts(msg) fputs(stderr, msg); +#define fatal_puts(msg) fputs(stderr, msg); + +#define info_printf(msg, args vprintf(msg, args) +#define warning_printf(msg, args vfprintf(stderr, msg, args) +#define fatal_printf(msg, args vfprintf(stderr, msg, args) +#endif + #include "blastem.h" //for headless global #include "render.h" //for render_errorbox #include "util.h" @@ -108,11 +127,11 @@ va_start(args, format); vsnprintf(buf, actual, format, args); } - fputs(buf, stderr); + fatal_puts(buf); render_errorbox("Fatal Error", buf); free(buf); } else { - vfprintf(stderr, format, args); + fatal_printf(format, args); } va_end(args); exit(1); @@ -124,7 +143,7 @@ va_start(args, format); #ifndef _WIN32 if (headless || (isatty(STDERR_FILENO) && isatty(STDIN_FILENO))) { - vfprintf(stderr, format, args); + warning_printf(format, args); } else { #endif size_t size = strlen(format) * 2; @@ -138,7 +157,7 @@ va_start(args, format); vsnprintf(buf, actual, format, args); } - fputs(buf, stderr); + warning_puts(buf); render_infobox("BlastEm Info", buf); free(buf); #ifndef _WIN32 @@ -153,7 +172,7 @@ va_start(args, format); #ifndef _WIN32 if (headless || (isatty(STDOUT_FILENO) && isatty(STDIN_FILENO))) { - vprintf(format, args); + info_printf(format, args); } else { #endif size_t size = strlen(format) * 2; @@ -167,7 +186,7 @@ va_start(args, format); vsnprintf(buf, actual, format, args); } - fputs(buf, stdout); + info_puts(buf); render_infobox("BlastEm Info", buf); free(buf); #ifndef _WIN32