Move log_fp to g_extern.
Rework logger macros to use g_extern.log_file is it's non NULL. Otherwise, fallback to stderr.
This commit is contained in:
parent
4b3ac3c04e
commit
2c41fe7288
|
@ -590,6 +590,9 @@ struct global
|
||||||
#endif
|
#endif
|
||||||
} file_state;
|
} file_state;
|
||||||
|
|
||||||
|
// If this is non-NULL. RARCH_LOG and friends will write to this file.
|
||||||
|
FILE *log_file;
|
||||||
|
|
||||||
bool error_in_init;
|
bool error_in_init;
|
||||||
char error_string[1024];
|
char error_string[1024];
|
||||||
jmp_buf error_sjlj_context;
|
jmp_buf error_sjlj_context;
|
||||||
|
|
|
@ -146,7 +146,7 @@ int gx_logger_net(struct _reent *r, int fd, const char *ptr, size_t len)
|
||||||
#elif defined(HAVE_FILE_LOGGER)
|
#elif defined(HAVE_FILE_LOGGER)
|
||||||
int gx_logger_file(struct _reent *r, int fd, const char *ptr, size_t len)
|
int gx_logger_file(struct _reent *r, int fd, const char *ptr, size_t len)
|
||||||
{
|
{
|
||||||
fwrite(ptr, 1, len, log_fp);
|
fwrite(ptr, 1, len, g_extern.log_file);
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -489,7 +489,7 @@ int main(int argc, char *argv[])
|
||||||
dotab_stdout.write_r = gx_logger_net;
|
dotab_stdout.write_r = gx_logger_net;
|
||||||
#elif defined(HAVE_FILE_LOGGER)
|
#elif defined(HAVE_FILE_LOGGER)
|
||||||
g_extern.verbose = true;
|
g_extern.verbose = true;
|
||||||
log_fp = fopen("/retroarch-log.txt", "w");
|
g_extern.log_file = fopen("/retroarch-log.txt", "w");
|
||||||
devoptab_list[STD_OUT] = &dotab_stdout;
|
devoptab_list[STD_OUT] = &dotab_stdout;
|
||||||
devoptab_list[STD_ERR] = &dotab_stdout;
|
devoptab_list[STD_ERR] = &dotab_stdout;
|
||||||
dotab_stdout.write_r = gx_logger_file;
|
dotab_stdout.write_r = gx_logger_file;
|
||||||
|
@ -608,7 +608,9 @@ begin_shutdown:
|
||||||
#ifdef HAVE_LOGGER
|
#ifdef HAVE_LOGGER
|
||||||
logger_shutdown();
|
logger_shutdown();
|
||||||
#elif defined(HAVE_FILE_LOGGER)
|
#elif defined(HAVE_FILE_LOGGER)
|
||||||
fclose(log_fp);
|
if (g_extern.log_file)
|
||||||
|
fclose(g_extern.log_file);
|
||||||
|
g_extern.log_file = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(g_extern.console.external_launch.enable)
|
if(g_extern.console.external_launch.enable)
|
||||||
|
|
|
@ -111,7 +111,7 @@ int main(int argc, char *argv[])
|
||||||
g_extern.verbose = true;
|
g_extern.verbose = true;
|
||||||
|
|
||||||
#ifdef HAVE_FILE_LOGGER
|
#ifdef HAVE_FILE_LOGGER
|
||||||
log_fp = fopen("ms0:/retroarch-log.txt", "w");
|
g_extern.log_file = fopen("ms0:/retroarch-log.txt", "w");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
get_environment_settings(argc, argv);
|
get_environment_settings(argc, argv);
|
||||||
|
@ -185,7 +185,9 @@ begin_shutdown:
|
||||||
g_extern.verbose = false;
|
g_extern.verbose = false;
|
||||||
|
|
||||||
#ifdef HAVE_FILE_LOGGER
|
#ifdef HAVE_FILE_LOGGER
|
||||||
fclose(log_fp);
|
if (g_extern.log_file)
|
||||||
|
fclose(g_extern.log_file);
|
||||||
|
g_extern.log_file = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
sceKernelExitGame();
|
sceKernelExitGame();
|
||||||
|
|
17
retroarch.c
17
retroarch.c
|
@ -56,10 +56,6 @@
|
||||||
#define RARCH_PERFORMANCE_MODE
|
#define RARCH_PERFORMANCE_MODE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_FILE_LOGGER
|
|
||||||
FILE *log_fp;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// To avoid continous switching if we hold the button down, we require that the button must go from pressed, unpressed back to pressed to be able to toggle between then.
|
// To avoid continous switching if we hold the button down, we require that the button must go from pressed, unpressed back to pressed to be able to toggle between then.
|
||||||
static void set_fast_forward_button(bool new_button_state, bool new_hold_button_state)
|
static void set_fast_forward_button(bool new_button_state, bool new_hold_button_state)
|
||||||
{
|
{
|
||||||
|
@ -2555,11 +2551,6 @@ static void init_state(void)
|
||||||
g_extern.video_active = true;
|
g_extern.video_active = true;
|
||||||
g_extern.audio_active = true;
|
g_extern.audio_active = true;
|
||||||
g_extern.game_type = RARCH_CART_NORMAL;
|
g_extern.game_type = RARCH_CART_NORMAL;
|
||||||
|
|
||||||
#if defined(HAVE_FILE_LOGGER) && !defined(RARCH_CONSOLE)
|
|
||||||
snprintf(g_extern.default_log_file, sizeof(g_extern.default_log_file), "/retroarch-log.txt");
|
|
||||||
log_fp = fopen(g_extern.default_log_file, "w");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void rarch_main_clear_state(void)
|
void rarch_main_clear_state(void)
|
||||||
|
@ -2568,6 +2559,10 @@ void rarch_main_clear_state(void)
|
||||||
|
|
||||||
free(g_extern.system.environment);
|
free(g_extern.system.environment);
|
||||||
free(g_extern.system.environment_split);
|
free(g_extern.system.environment_split);
|
||||||
|
|
||||||
|
if (g_extern.log_file)
|
||||||
|
fclose(g_extern.log_file);
|
||||||
|
|
||||||
memset(&g_extern, 0, sizeof(g_extern));
|
memset(&g_extern, 0, sizeof(g_extern));
|
||||||
|
|
||||||
init_state();
|
init_state();
|
||||||
|
@ -2873,10 +2868,6 @@ int rarch_main(int argc, char *argv[])
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rarch_main_clear_state();
|
rarch_main_clear_state();
|
||||||
|
|
||||||
#if defined(HAVE_FILE_LOGGER) && !defined(RARCH_CONSOLE)
|
|
||||||
fclose(log_fp);
|
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,12 +21,7 @@
|
||||||
#include <android/log.h>
|
#include <android/log.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_FILE_LOGGER
|
#define LOG_FILE (g_extern.log_file ? g_extern.log_file : stderr)
|
||||||
extern FILE * log_fp;
|
|
||||||
#define STDERR_OUT (log_fp)
|
|
||||||
#else
|
|
||||||
#define STDERR_OUT (stderr)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(RARCH_CONSOLE) && (defined(HAVE_LOGGER) || defined(_XBOX1))
|
#if defined(RARCH_CONSOLE) && (defined(HAVE_LOGGER) || defined(_XBOX1))
|
||||||
#include <logger_override.h>
|
#include <logger_override.h>
|
||||||
|
@ -34,18 +29,18 @@ extern FILE * log_fp;
|
||||||
|
|
||||||
#ifndef RARCH_LOG
|
#ifndef RARCH_LOG
|
||||||
#if defined(ANDROID)
|
#if defined(ANDROID)
|
||||||
#define RARCH_LOG(...) __android_log_print(ANDROID_LOG_INFO,"RetroArch: ",__VA_ARGS__)
|
#define RARCH_LOG(...) __android_log_print(ANDROID_LOG_INFO, "RetroArch: ", __VA_ARGS__)
|
||||||
#elif defined(IS_SALAMANDER)
|
#elif defined(IS_SALAMANDER)
|
||||||
#define RARCH_LOG(...) do { \
|
#define RARCH_LOG(...) do { \
|
||||||
fprintf(STDERR_OUT, "RetroArch Salamander: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "RetroArch Salamander: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#else
|
#else
|
||||||
#define RARCH_LOG(...) do { \
|
#define RARCH_LOG(...) do { \
|
||||||
if (g_extern.verbose) \
|
if (g_extern.verbose) \
|
||||||
{ \
|
{ \
|
||||||
fprintf(STDERR_OUT, "RetroArch: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "RetroArch: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
#endif
|
#endif
|
||||||
|
@ -56,15 +51,15 @@ extern FILE * log_fp;
|
||||||
#define RARCH_LOG_OUTPUT(...) __android_log_print(ANDROID_LOG_INFO,"stderr: ",__VA_ARGS__)
|
#define RARCH_LOG_OUTPUT(...) __android_log_print(ANDROID_LOG_INFO,"stderr: ",__VA_ARGS__)
|
||||||
#elif defined(IS_SALAMANDER)
|
#elif defined(IS_SALAMANDER)
|
||||||
#define RARCH_LOG_OUTPUT(...) do { \
|
#define RARCH_LOG_OUTPUT(...) do { \
|
||||||
fprintf(STDERR_OUT, "stderr: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "stderr: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#else
|
#else
|
||||||
#define RARCH_LOG_OUTPUT(...) do { \
|
#define RARCH_LOG_OUTPUT(...) do { \
|
||||||
if (g_extern.verbose) \
|
if (g_extern.verbose) \
|
||||||
{ \
|
{ \
|
||||||
fprintf(STDERR_OUT, __VA_ARGS__); \
|
fprintf(LOG_FILE, __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
#endif
|
#endif
|
||||||
|
@ -72,64 +67,64 @@ extern FILE * log_fp;
|
||||||
|
|
||||||
#ifndef RARCH_ERR
|
#ifndef RARCH_ERR
|
||||||
#if defined(ANDROID)
|
#if defined(ANDROID)
|
||||||
#define RARCH_ERR(...) __android_log_print(ANDROID_LOG_INFO, "RetroArch [ERROR] :: ",__VA_ARGS__)
|
#define RARCH_ERR(...) __android_log_print(ANDROID_LOG_INFO, "RetroArch [ERROR] :: ", __VA_ARGS__)
|
||||||
#elif defined(IS_SALAMANDER)
|
#elif defined(IS_SALAMANDER)
|
||||||
#define RARCH_ERR(...) do { \
|
#define RARCH_ERR(...) do { \
|
||||||
fprintf(STDERR_OUT, "RetroArch Salamander [ERROR] :: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "RetroArch Salamander [ERROR] :: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#else
|
#else
|
||||||
#define RARCH_ERR(...) do { \
|
#define RARCH_ERR(...) do { \
|
||||||
fprintf(STDERR_OUT, "RetroArch [ERROR] :: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "RetroArch [ERROR] :: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef RARCH_ERR_OUTPUT
|
#ifndef RARCH_ERR_OUTPUT
|
||||||
#if defined(ANDROID)
|
#if defined(ANDROID)
|
||||||
#define RARCH_ERR_OUTPUT(...) __android_log_print(ANDROID_LOG_INFO, "stderr [ERROR] :: ",__VA_ARGS__)
|
#define RARCH_ERR_OUTPUT(...) __android_log_print(ANDROID_LOG_INFO, "stderr [ERROR] :: ", __VA_ARGS__)
|
||||||
#elif defined(IS_SALAMANDER)
|
#elif defined(IS_SALAMANDER)
|
||||||
#define RARCH_ERR_OUTPUT(...) do { \
|
#define RARCH_ERR_OUTPUT(...) do { \
|
||||||
fprintf(STDERR_OUT, "stderr [ERROR] :: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "stderr [ERROR] :: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#else
|
#else
|
||||||
#define RARCH_ERR_OUTPUT(...) do { \
|
#define RARCH_ERR_OUTPUT(...) do { \
|
||||||
fprintf(STDERR_OUT, "stderr [ERROR] :: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "stderr [ERROR] :: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef RARCH_WARN
|
#ifndef RARCH_WARN
|
||||||
#if defined(ANDROID)
|
#if defined(ANDROID)
|
||||||
#define RARCH_WARN(...) __android_log_print(ANDROID_LOG_INFO, "RetroArch [WARN] :: ",__VA_ARGS__)
|
#define RARCH_WARN(...) __android_log_print(ANDROID_LOG_INFO, "RetroArch [WARN] :: ", __VA_ARGS__)
|
||||||
#elif defined(IS_SALAMANDER)
|
#elif defined(IS_SALAMANDER)
|
||||||
#define RARCH_WARN(...) do { \
|
#define RARCH_WARN(...) do { \
|
||||||
fprintf(STDERR_OUT, "RetroArch Salamander [WARN] :: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "RetroArch Salamander [WARN] :: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#else
|
#else
|
||||||
#define RARCH_WARN(...) do { \
|
#define RARCH_WARN(...) do { \
|
||||||
fprintf(STDERR_OUT, "RetroArch [WARN] :: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "RetroArch [WARN] :: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef RARCH_WARN
|
#ifndef RARCH_WARN
|
||||||
#if defined(ANDROID)
|
#if defined(ANDROID)
|
||||||
#define RARCH_WARN_OUTPUT(...) __android_log_print(ANDROID_LOG_INFO, "stderr [WARN] :: ",__VA_ARGS__)
|
#define RARCH_WARN_OUTPUT(...) __android_log_print(ANDROID_LOG_INFO, "stderr [WARN] :: ", __VA_ARGS__)
|
||||||
#elif defined(IS_SALAMANDER)
|
#elif defined(IS_SALAMANDER)
|
||||||
#define RARCH_WARN_OUTPUT(...) do { \
|
#define RARCH_WARN_OUTPUT(...) do { \
|
||||||
fprintf(STDERR_OUT, "stderr [WARN] :: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "stderr [WARN] :: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#else
|
#else
|
||||||
#define RARCH_WARN_OUTPUT(...) do { \
|
#define RARCH_WARN_OUTPUT(...) do { \
|
||||||
fprintf(STDERR_OUT, "stderr [WARN] :: " __VA_ARGS__); \
|
fprintf(LOG_FILE, "stderr [WARN] :: " __VA_ARGS__); \
|
||||||
fflush(STDERR_OUT); \
|
fflush(LOG_FILE); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue