mirror of
https://github.com/libretro/RetroArch
synced 2025-04-17 02:43:03 +00:00
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
|
||||
} file_state;
|
||||
|
||||
// If this is non-NULL. RARCH_LOG and friends will write to this file.
|
||||
FILE *log_file;
|
||||
|
||||
bool error_in_init;
|
||||
char error_string[1024];
|
||||
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)
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
@ -489,7 +489,7 @@ int main(int argc, char *argv[])
|
||||
dotab_stdout.write_r = gx_logger_net;
|
||||
#elif defined(HAVE_FILE_LOGGER)
|
||||
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_ERR] = &dotab_stdout;
|
||||
dotab_stdout.write_r = gx_logger_file;
|
||||
@ -608,7 +608,9 @@ begin_shutdown:
|
||||
#ifdef HAVE_LOGGER
|
||||
logger_shutdown();
|
||||
#elif defined(HAVE_FILE_LOGGER)
|
||||
fclose(log_fp);
|
||||
if (g_extern.log_file)
|
||||
fclose(g_extern.log_file);
|
||||
g_extern.log_file = NULL;
|
||||
#endif
|
||||
|
||||
if(g_extern.console.external_launch.enable)
|
||||
|
@ -111,7 +111,7 @@ int main(int argc, char *argv[])
|
||||
g_extern.verbose = true;
|
||||
|
||||
#ifdef HAVE_FILE_LOGGER
|
||||
log_fp = fopen("ms0:/retroarch-log.txt", "w");
|
||||
g_extern.log_file = fopen("ms0:/retroarch-log.txt", "w");
|
||||
#endif
|
||||
|
||||
get_environment_settings(argc, argv);
|
||||
@ -185,7 +185,9 @@ begin_shutdown:
|
||||
g_extern.verbose = false;
|
||||
|
||||
#ifdef HAVE_FILE_LOGGER
|
||||
fclose(log_fp);
|
||||
if (g_extern.log_file)
|
||||
fclose(g_extern.log_file);
|
||||
g_extern.log_file = NULL;
|
||||
#endif
|
||||
|
||||
sceKernelExitGame();
|
||||
|
17
retroarch.c
17
retroarch.c
@ -56,10 +56,6 @@
|
||||
#define RARCH_PERFORMANCE_MODE
|
||||
#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.
|
||||
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.audio_active = true;
|
||||
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)
|
||||
@ -2568,6 +2559,10 @@ void rarch_main_clear_state(void)
|
||||
|
||||
free(g_extern.system.environment);
|
||||
free(g_extern.system.environment_split);
|
||||
|
||||
if (g_extern.log_file)
|
||||
fclose(g_extern.log_file);
|
||||
|
||||
memset(&g_extern, 0, sizeof(g_extern));
|
||||
|
||||
init_state();
|
||||
@ -2873,10 +2868,6 @@ int rarch_main(int argc, char *argv[])
|
||||
#endif
|
||||
|
||||
rarch_main_clear_state();
|
||||
|
||||
#if defined(HAVE_FILE_LOGGER) && !defined(RARCH_CONSOLE)
|
||||
fclose(log_fp);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -21,12 +21,7 @@
|
||||
#include <android/log.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_FILE_LOGGER
|
||||
extern FILE * log_fp;
|
||||
#define STDERR_OUT (log_fp)
|
||||
#else
|
||||
#define STDERR_OUT (stderr)
|
||||
#endif
|
||||
#define LOG_FILE (g_extern.log_file ? g_extern.log_file : stderr)
|
||||
|
||||
#if defined(RARCH_CONSOLE) && (defined(HAVE_LOGGER) || defined(_XBOX1))
|
||||
#include <logger_override.h>
|
||||
@ -34,18 +29,18 @@ extern FILE * log_fp;
|
||||
|
||||
#ifndef RARCH_LOG
|
||||
#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)
|
||||
#define RARCH_LOG(...) do { \
|
||||
fprintf(STDERR_OUT, "RetroArch Salamander: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "RetroArch Salamander: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#else
|
||||
#define RARCH_LOG(...) do { \
|
||||
if (g_extern.verbose) \
|
||||
{ \
|
||||
fprintf(STDERR_OUT, "RetroArch: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "RetroArch: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} \
|
||||
} while (0)
|
||||
#endif
|
||||
@ -56,15 +51,15 @@ extern FILE * log_fp;
|
||||
#define RARCH_LOG_OUTPUT(...) __android_log_print(ANDROID_LOG_INFO,"stderr: ",__VA_ARGS__)
|
||||
#elif defined(IS_SALAMANDER)
|
||||
#define RARCH_LOG_OUTPUT(...) do { \
|
||||
fprintf(STDERR_OUT, "stderr: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "stderr: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#else
|
||||
#define RARCH_LOG_OUTPUT(...) do { \
|
||||
if (g_extern.verbose) \
|
||||
{ \
|
||||
fprintf(STDERR_OUT, __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} \
|
||||
} while (0)
|
||||
#endif
|
||||
@ -72,64 +67,64 @@ extern FILE * log_fp;
|
||||
|
||||
#ifndef RARCH_ERR
|
||||
#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)
|
||||
#define RARCH_ERR(...) do { \
|
||||
fprintf(STDERR_OUT, "RetroArch Salamander [ERROR] :: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "RetroArch Salamander [ERROR] :: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#else
|
||||
#define RARCH_ERR(...) do { \
|
||||
fprintf(STDERR_OUT, "RetroArch [ERROR] :: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "RetroArch [ERROR] :: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef RARCH_ERR_OUTPUT
|
||||
#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)
|
||||
#define RARCH_ERR_OUTPUT(...) do { \
|
||||
fprintf(STDERR_OUT, "stderr [ERROR] :: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "stderr [ERROR] :: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#else
|
||||
#define RARCH_ERR_OUTPUT(...) do { \
|
||||
fprintf(STDERR_OUT, "stderr [ERROR] :: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "stderr [ERROR] :: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef RARCH_WARN
|
||||
#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)
|
||||
#define RARCH_WARN(...) do { \
|
||||
fprintf(STDERR_OUT, "RetroArch Salamander [WARN] :: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "RetroArch Salamander [WARN] :: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#else
|
||||
#define RARCH_WARN(...) do { \
|
||||
fprintf(STDERR_OUT, "RetroArch [WARN] :: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "RetroArch [WARN] :: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef RARCH_WARN
|
||||
#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)
|
||||
#define RARCH_WARN_OUTPUT(...) do { \
|
||||
fprintf(STDERR_OUT, "stderr [WARN] :: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "stderr [WARN] :: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#else
|
||||
#define RARCH_WARN_OUTPUT(...) do { \
|
||||
fprintf(STDERR_OUT, "stderr [WARN] :: " __VA_ARGS__); \
|
||||
fflush(STDERR_OUT); \
|
||||
fprintf(LOG_FILE, "stderr [WARN] :: " __VA_ARGS__); \
|
||||
fflush(LOG_FILE); \
|
||||
} while (0)
|
||||
#endif
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user