Mercurial > libavutil.hg
changeset 1017:fd2dd26fab8a libavutil
Limit av_log repeat detection to terminals so as to avoid filling files with
lots of mess.
author | michael |
---|---|
date | Tue, 14 Sep 2010 00:17:58 +0000 |
parents | 4c26dcb90bc6 |
children | 61cb1c0a6eb6 |
files | log.c |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/log.c Sun Sep 12 22:00:45 2010 +0000 +++ b/log.c Tue Sep 14 00:17:58 2010 +0000 @@ -85,6 +85,7 @@ static int print_prefix=1; static int count; static char line[1024], prev[1024]; + static int detect_repeats; AVClass* avc= ptr ? *(AVClass**)ptr : NULL; if(level>av_log_level) return; @@ -103,7 +104,12 @@ vsnprintf(line + strlen(line), sizeof(line) - strlen(line), fmt, vl); print_prefix= line[strlen(line)-1] == '\n'; - if(print_prefix && !strcmp(line, prev)){ + +#if HAVE_ISATTY + if(!detect_repeats) detect_repeats= isatty(2) ? 1 : -1; +#endif + + if(print_prefix && detect_repeats==1 && !strcmp(line, prev)){ count++; fprintf(stderr, " Last message repeated %d times\r", count); return;