Sanitize input_interrupt output
authorSergio Durigan Junior <sergiodj@redhat.com>
Mon, 29 Dec 2014 19:22:20 +0000 (14:22 -0500)
committerSergio Durigan Junior <sergiodj@redhat.com>
Mon, 29 Dec 2014 19:23:54 +0000 (14:23 -0500)
commitfafcc06ab29fe98d2767234dc77062d08ea0d3c7
treeb788f21482f9808e1360d7d4e60bb65341fa273c
parentb35b02984b80ff231dd11dc4f3c7bdba6bef95a7
Sanitize input_interrupt output

Hi,

This patch is a follow-up of the following discussions:

  <https://sourceware.org/ml/gdb-patches/2014-12/msg00421.html>
  <https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01293.html>

input_interrupt is currently emiting non-printable characters, which
is confusing the dg-extract-results.sh script.  This is obviously not
a good thing, and, by following Pedro's advices here:

  <https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01320.html>

I adapted the function to print "client connection closed" when it
receives a NUL character, or use the "isprint" function to decide how
to print the received char.  I tested it by running the testcases that
were printing the non-printable chars before:

  gdb.base/gdb-sigterm.exp
  gdb.threads/non-ldr-exc-1.exp
  gdb.threads/non-ldr-exc-2.exp
  gdb.threads/non-ldr-exc-3.exp
  gdb.threads/non-ldr-exc-4.exp
  gdb.threads/thread-execl.exp

and confirming that they print the right message.  I tried a bit to
come up with a testcase for this, but failed, and since I did not want
to spend too much time on it, I'm sending the patch anyway.

Comments are welcome, as usual.

gdb/gdbserver/ChangeLog:
2014-12-29  Sergio Durigan Junior  <sergiodj@redhat.com>

* remote-utils.c: Include ctype.h.
(input_interrupt): Explicitly handle the case when the char
received is the NUL byte.  Improve the printing of non-ASCII
characters.
gdb/gdbserver/ChangeLog
gdb/gdbserver/remote-utils.c