Mercurial > mplayer.hg
diff mp_msg.c @ 17106:05af35012e4f
new -msglevel option, constrols msg level for every msg module
author | ods15 |
---|---|
date | Tue, 06 Dec 2005 08:42:48 +0000 |
parents | bad73cd81b23 |
children | f9a03e3c8e23 |
line wrap: on
line diff
--- a/mp_msg.c Tue Dec 06 00:45:15 2005 +0000 +++ b/mp_msg.c Tue Dec 06 08:42:48 2005 +0000 @@ -1,5 +1,5 @@ -//#define MSG_USE_COLORS +#define MSG_USE_COLORS #include <stdio.h> #include <stdlib.h> @@ -20,9 +20,12 @@ /* maximum message length of mp_msg */ #define MSGSIZE_MAX 3072 -static int mp_msg_levels[MSGT_MAX]; // verbose level of this module +extern int mp_msg_levels[MSGT_MAX]; // verbose level of this module +extern int mp_msg_level_all; +extern int verbose; void mp_msg_init(){ + int i; #ifdef USE_I18N #ifdef MP_DEBUG fprintf(stdout, "Using GNU internationalization\n"); @@ -36,26 +39,19 @@ fprintf(stdout, "Current dirname: %s\n\n", bindtextdomain(textdomain(NULL),NULL)); #endif #endif - mp_msg_set_level(MSGL_STATUS); -} - -void mp_msg_set_level(int verbose){ - int i; - for(i=0;i<MSGT_MAX;i++){ - mp_msg_levels[i]=verbose; - } + for(i=0;i<MSGT_MAX;i++) mp_msg_levels[i] = -2; } int mp_msg_test(int mod, int lev) { - return lev <= mp_msg_levels[mod]; + return lev <= (mp_msg_levels[mod] == -2 ? mp_msg_level_all + verbose : mp_msg_levels[mod]); } void mp_msg(int mod, int lev, const char *format, ... ){ va_list va; char tmp[MSGSIZE_MAX]; - if (lev > mp_msg_levels[mod]) return; // do not display + if (!mp_msg_test(mod, lev)) return; // do not display va_start(va, format); vsnprintf(tmp, MSGSIZE_MAX, mp_gettext(format), va); va_end(va); @@ -141,7 +137,7 @@ } fprintf(stream, "\033[%d;3%dm",c>>3,c&7); header= tmp[strlen(tmp)-1] == '\n' - /*||tmp[strlen(tmp)-1] == '\r'*/; + ||tmp[strlen(tmp)-1] == '\r'; } #endif if (lev <= MSGL_WARN){