mirror of https://github.com/mpv-player/mpv
options: remove unneeded hack from command line parser
This was traditionally needed to silence terminal output from errors during command line parsing preparsing. Preparsing is done so that options controlling the terminal and config files are parsed and applied first, with a second command line parsing pass applying all other options, _and_ printing error messages for the preparsed ones. But the hack silencing log output during the preparse pass is actually not needed anymore, since the terminal is enabled only after preparsing is finished. update_logging() in main.c does this. So as long as update_logging() is called before m_config_preparse_command_line(), this will work.
This commit is contained in:
parent
b98949c72c
commit
91f6f2bf11
11
common/msg.c
11
common/msg.c
|
@ -61,8 +61,6 @@ struct mp_log_root {
|
||||||
int num_buffers;
|
int num_buffers;
|
||||||
FILE *log_file;
|
FILE *log_file;
|
||||||
FILE *stats_file;
|
FILE *stats_file;
|
||||||
// --- semi-atomic access
|
|
||||||
bool mute;
|
|
||||||
// --- must be accessed atomically
|
// --- must be accessed atomically
|
||||||
/* This is incremented every time the msglevels must be reloaded.
|
/* This is incremented every time the msglevels must be reloaded.
|
||||||
* (This is perhaps better than maintaining a globally accessible and
|
* (This is perhaps better than maintaining a globally accessible and
|
||||||
|
@ -133,7 +131,7 @@ static void update_loglevel(struct mp_log *log)
|
||||||
bool mp_msg_test(struct mp_log *log, int lev)
|
bool mp_msg_test(struct mp_log *log, int lev)
|
||||||
{
|
{
|
||||||
struct mp_log_root *root = log->root;
|
struct mp_log_root *root = log->root;
|
||||||
if (!root || root->mute)
|
if (!root)
|
||||||
return false;
|
return false;
|
||||||
if (atomic_load_explicit(&log->reload_counter, memory_order_relaxed) !=
|
if (atomic_load_explicit(&log->reload_counter, memory_order_relaxed) !=
|
||||||
atomic_load_explicit(&root->reload_counter, memory_order_relaxed))
|
atomic_load_explicit(&root->reload_counter, memory_order_relaxed))
|
||||||
|
@ -486,13 +484,6 @@ void mp_msg_update_msglevels(struct mpv_global *global)
|
||||||
pthread_mutex_unlock(&mp_msg_lock);
|
pthread_mutex_unlock(&mp_msg_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
void mp_msg_mute(struct mpv_global *global, bool mute)
|
|
||||||
{
|
|
||||||
struct mp_log_root *root = global->log->root;
|
|
||||||
|
|
||||||
root->mute = mute;
|
|
||||||
}
|
|
||||||
|
|
||||||
void mp_msg_force_stderr(struct mpv_global *global, bool force_stderr)
|
void mp_msg_force_stderr(struct mpv_global *global, bool force_stderr)
|
||||||
{
|
{
|
||||||
struct mp_log_root *root = global->log->root;
|
struct mp_log_root *root = global->log->root;
|
||||||
|
|
|
@ -7,7 +7,6 @@ struct mpv_global;
|
||||||
void mp_msg_init(struct mpv_global *global);
|
void mp_msg_init(struct mpv_global *global);
|
||||||
void mp_msg_uninit(struct mpv_global *global);
|
void mp_msg_uninit(struct mpv_global *global);
|
||||||
void mp_msg_update_msglevels(struct mpv_global *global);
|
void mp_msg_update_msglevels(struct mpv_global *global);
|
||||||
void mp_msg_mute(struct mpv_global *global, bool mute);
|
|
||||||
void mp_msg_force_stderr(struct mpv_global *global, bool force_stderr);
|
void mp_msg_force_stderr(struct mpv_global *global, bool force_stderr);
|
||||||
bool mp_msg_has_status_line(struct mpv_global *global);
|
bool mp_msg_has_status_line(struct mpv_global *global);
|
||||||
|
|
||||||
|
|
|
@ -285,9 +285,6 @@ void m_config_preparse_command_line(m_config_t *config, struct mpv_global *globa
|
||||||
{
|
{
|
||||||
struct MPOpts *opts = global->opts;
|
struct MPOpts *opts = global->opts;
|
||||||
|
|
||||||
// Hack to shut up parser error messages
|
|
||||||
mp_msg_mute(global, true);
|
|
||||||
|
|
||||||
struct parse_state p = {config, argv};
|
struct parse_state p = {config, argv};
|
||||||
while (split_opt_silent(&p) == 0) {
|
while (split_opt_silent(&p) == 0) {
|
||||||
if (p.is_opt) {
|
if (p.is_opt) {
|
||||||
|
@ -300,8 +297,6 @@ void m_config_preparse_command_line(m_config_t *config, struct mpv_global *globa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mp_msg_mute(global, false);
|
|
||||||
|
|
||||||
for (int n = 0; n < config->num_opts; n++)
|
for (int n = 0; n < config->num_opts; n++)
|
||||||
config->opts[n].warning_was_printed = false;
|
config->opts[n].warning_was_printed = false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue