From: Christopher Faylor Date: Sun, 29 Jul 2012 19:18:05 +0000 (+0000) Subject: * fhandler_termios.cc (fhandler_termios::line_edit): Use special case '%0c' X-Git-Tag: cygwin-1_7_10-release~57 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=7ea2ecec23fb3614b490d729cc834617b2dadc78;p=newlib-cygwin.git * fhandler_termios.cc (fhandler_termios::line_edit): Use special case '%0c' handling to print non-printable characters using hex notation. * smallprint.cc (__small_vsprintf): Semi-reimplement printing of non-printable characters in hex but only when padding is specified. * dcrt0.cc (dll_crt0_0): Remove tty_list initialization. * shared.cc (memory_init): Initialize tty_list here. * path.cc (path_conv::check): Remove unneeded parentheses from if check. --- diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index f862a52e1..b66434600 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,16 @@ +2012-07-29 Christopher Faylor + + * fhandler_termios.cc (fhandler_termios::line_edit): Use special case + '%0c' handling to print non-printable characters using hex notation. + * smallprint.cc (__small_vsprintf): Semi-reimplement printing of + non-printable characters in hex but only when padding is specified. + + * dcrt0.cc (dll_crt0_0): Remove tty_list initialization. + * shared.cc (memory_init): Initialize tty_list here. + + * path.cc (path_conv::check): Remove unneeded parentheses from if + check. + 2012-07-28 Corinna Vinschen * include/inttypes.h: Add x86_64 target considerations throughout. diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index c1df0a2f6..7e32de0ef 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -774,7 +774,6 @@ dll_crt0_0 () user_data->threadinterface->Init (); _cygtls::init (); - tty_list::init_session (); _main_tls = &_my_tls; diff --git a/winsup/cygwin/fhandler_termios.cc b/winsup/cygwin/fhandler_termios.cc index 690f08fa2..18afacf1d 100644 --- a/winsup/cygwin/fhandler_termios.cc +++ b/winsup/cygwin/fhandler_termios.cc @@ -237,7 +237,7 @@ fhandler_termios::line_edit (const char *rptr, int nread, termios& ti) { c = *rptr++; - termios_printf ("char %c", c); + paranoid_printf ("char %0c", c); /* Check for special chars */ diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 0a6cad76c..e67c91f17 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1153,7 +1153,7 @@ out: if (opt & PC_CTTY) path_flags |= PATH_CTTY; - if ((opt & PC_POSIX)) + if (opt & PC_POSIX) { if (tail < path_end && tail > path_copy + 1) *tail = '/'; diff --git a/winsup/cygwin/shared.cc b/winsup/cygwin/shared.cc index 7a0b2510b..83402a2c8 100644 --- a/winsup/cygwin/shared.cc +++ b/winsup/cygwin/shared.cc @@ -377,4 +377,8 @@ memory_init (bool init_cygheap) shared_info::create (); /* Initialize global shared memory */ user_info::create (false); /* Initialize per-user shared memory */ + /* Initialize tty list session stuff. Doesn't really belong here but + this needs to be initialized before any tty or console manipulation + happens and it is a common location. */ + tty_list::init_session (); }