# HG changeset patch # User ods15 # Date 1135855642 0 # Node ID 3d02f6e2a43293308761ef583e230feb2873efd0 # Parent 1188874fd68bd8489bbe63d7eb6e7c5bd4076e8d change erase to end of line, fall back to old behavior if no termcap found diff -r 1188874fd68b -r 3d02f6e2a432 mplayer.c --- a/mplayer.c Wed Dec 28 12:34:20 2005 +0000 +++ b/mplayer.c Thu Dec 29 11:27:22 2005 +0000 @@ -962,8 +962,14 @@ saddf(line, &pos, width, "%4.2fx ", playback_speed); // end - line[pos] = 0; - mp_msg(MSGT_AVSYNC, MSGL_STATUS, "%s%s\r", erase_to_end_of_line, line); + if (erase_to_end_of_line) { + line[pos] = 0; + mp_msg(MSGT_AVSYNC, MSGL_STATUS, "%s%s\r", line, erase_to_end_of_line); + } else { + memset(&line[pos], ' ', width - pos); + line[width] = 0; + mp_msg(MSGT_AVSYNC, MSGL_STATUS, "%s\r", line); + } free(line); } diff -r 1188874fd68b -r 3d02f6e2a432 osdep/getch2-win.c --- a/osdep/getch2-win.c Wed Dec 28 12:34:20 2005 +0000 +++ b/osdep/getch2-win.c Thu Dec 29 11:27:22 2005 +0000 @@ -22,7 +22,7 @@ int screen_width=80; int screen_height=24; -char * erase_to_end_of_line = " \r"; +char * erase_to_end_of_line = NULL; void get_screen_size(){ } diff -r 1188874fd68b -r 3d02f6e2a432 osdep/getch2.c --- a/osdep/getch2.c Wed Dec 28 12:34:20 2005 +0000 +++ b/osdep/getch2.c Thu Dec 29 11:27:22 2005 +0000 @@ -40,7 +40,7 @@ int screen_width=80; int screen_height=24; -char * erase_to_end_of_line = "\033[J"; +char * erase_to_end_of_line = NULL; typedef struct { int len; @@ -79,7 +79,6 @@ static int success=0; int load_termcap(char *termtype){ - char * p; if(!termtype) termtype=getenv("TERM"); if(!termtype) termtype="unknown"; success=tgetent(term_buffer, termtype); @@ -90,7 +89,7 @@ screen_height=tgetnum("li"); if(screen_width<1 || screen_width>255) screen_width=80; if(screen_height<1 || screen_height>255) screen_height=24; - if ((p = tgetstr("cd",&term_p))) erase_to_end_of_line=p; + erase_to_end_of_line= tgetstr("cd",&term_p); termcap_add("kP",KEY_PGUP); termcap_add("kN",KEY_PGDWN);