aboutsummaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2012-07-29 19:18:05 +0000
committerChristopher Faylor <me@cgf.cx>2012-07-29 19:18:05 +0000
commit7ea2ecec23fb3614b490d729cc834617b2dadc78 (patch)
treeb635daa2c60e481e49e4d1b26bd2e56a72e371cd /winsup
parenta2b7f569715640f97f6761f2cf49b455ef71fb29 (diff)
downloadnewlib-7ea2ecec23fb3614b490d729cc834617b2dadc78.zip
newlib-7ea2ecec23fb3614b490d729cc834617b2dadc78.tar.gz
newlib-7ea2ecec23fb3614b490d729cc834617b2dadc78.tar.bz2
* 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.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog13
-rw-r--r--winsup/cygwin/dcrt0.cc1
-rw-r--r--winsup/cygwin/fhandler_termios.cc2
-rw-r--r--winsup/cygwin/path.cc2
-rw-r--r--winsup/cygwin/shared.cc4
5 files changed, 19 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index f862a52..b664346 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,16 @@
+2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx>
+
+ * 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 <corinna@vinschen.de>
* include/inttypes.h: Add x86_64 target considerations throughout.
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index c1df0a2..7e32de0 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 690f08f..18afacf 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 0a6cad7..e67c91f 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 7a0b251..83402a2 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 ();
}