From: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
To: "'gdb-patches'" <gdb-patches@sourceware.org>
Subject: [RFC 1/6] Fix display of tabulation character for mingw hosts.
Date: Thu, 26 Sep 2013 19:57:00 -0000 [thread overview]
Message-ID: <002c01cebaf2$89798ea0$9c6cabe0$@muller@ics-cnrs.unistra.fr> (raw)
In-Reply-To: <002901cebaf2$35ec65a0$a1c530e0$@muller@ics-cnrs.unistra.fr>
Tabulation characters are sent out to stdout as real tabs
inside mingw compiled GDB.
This is due to the fact that, contrery to other systems,
msvcrt DLL version of iswprint function returns 1
for tab character.
This patch solves the issue by implementing a mingw-hdep
specific gdb_iswprint version, which returns 0 for tab char.
Another possiblity would have been to change the implementation
of print_wchar to handle LCST('\t') before calling gdb_isprint.
Pierre Muller
GDB pascal language maintainer
2013-09-26 Pierre Muller <muller@sourceware.org>
Fix display of tabulation character for mingw hosts.
* gdb_wchar.h (gdb_iswprint): Declare as external function
if __MINGW32__ macro is set.
* mingw-hdep.c (gdb_iswprint): New function.
From a06acf167fde7fb8502028f83cdfaf64fc2c307b Mon Sep 17 00:00:00 2001
From: Pierre Muller <muller@ics.u-strasbg.fr>
Date: Thu, 26 Sep 2013 16:20:38 +0200
---
gdb/gdb_wchar.h | 4 ++++
gdb/mingw-hdep.c | 9 +++++++++
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/gdb/gdb_wchar.h b/gdb/gdb_wchar.h
index 0e785e8..2d85b5e 100644
--- a/gdb/gdb_wchar.h
+++ b/gdb/gdb_wchar.h
@@ -65,7 +65,11 @@ typedef wchar_t gdb_wchar_t;
typedef wint_t gdb_wint_t;
#define gdb_wcslen wcslen
+#ifdef __MINGW32__
+extern int gdb_iswprint (gdb_wint_t);
+#else
#define gdb_iswprint iswprint
+#endif
#define gdb_iswdigit iswdigit
#define gdb_btowc btowc
#define gdb_WEOF WEOF
diff --git a/gdb/mingw-hdep.c b/gdb/mingw-hdep.c
index efc9848..976e9e8 100644
--- a/gdb/mingw-hdep.c
+++ b/gdb/mingw-hdep.c
@@ -80,6 +80,15 @@ safe_strerror (int errnum)
return buffer;
}
+/* Mingw specific version of iswprint to correct
+ difference concerning the tabulation character:
+ msvcrt dll iswprint returns 1 for '\t' while
+ UNIX uiswprint function returns 0 for '\t'. */
+
+int gdb_iswprint (gdb_wint_t wc)
+{
+ return wc == LCST ('\t') ? 0 : iswprint (wc);
+}
/* Return an absolute file name of the running GDB, if possible, or
ARGV0 if not. The return value is in malloc'ed storage. */
--
1.7.9
next prev parent reply other threads:[~2013-09-26 19:57 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-26 19:54 [RFC 0/6] Handle several character priniting problems (mainly related to mingw hosts) Pierre Muller
2013-09-26 19:57 ` [RFC 2/6] Avoid missing char before incomplete sequence in wchar_iterate Pierre Muller
2013-10-01 1:19 ` Keith Seitz
2013-10-01 12:48 ` Pierre Muller
2013-10-22 18:25 ` Keith Seitz
[not found] ` <33559.6669152894$1380631692@news.gmane.org>
2013-11-06 21:38 ` Tom Tromey
2013-11-08 11:21 ` Pierre Muller
[not found] ` <"007201cedc72$46a78810$d3f69830$@muller"@ics-cnrs.unistra.fr>
2013-11-08 11:43 ` Eli Zaretskii
2013-09-26 19:57 ` Pierre Muller [this message]
2013-10-01 1:19 ` [RFC 1/6] Fix display of tabulation character for mingw hosts Keith Seitz
2013-10-01 8:02 ` [RFC 1/6 -V2] " Pierre Muller
2013-10-22 18:24 ` Keith Seitz
[not found] ` <10182.1932978512$1380614580@news.gmane.org>
2013-11-06 21:24 ` Tom Tromey
2013-11-08 10:26 ` Pierre Muller
2013-09-26 20:01 ` [RFC 3/6] mingw-hdep: Add "maint set testuite-mode on/off" command Pierre Muller
2013-09-26 20:03 ` [RFC 4/6] Always set testsuite mode and interactive mode for mingw hosts Pierre Muller
2013-09-26 20:04 ` [RFC 5/6] Handle "set print sevenbit-strings on" in print_wchar Pierre Muller
2013-10-01 1:19 ` Keith Seitz
2013-10-01 13:23 ` Pierre Muller
2013-10-22 18:25 ` Keith Seitz
2013-11-06 21:43 ` Tom Tromey
2013-09-26 20:05 ` [RFC 6/6] Fix remaining failures in gdb.base/printcmds.exp for mingw hosts Pierre Muller
2013-10-01 1:19 ` Keith Seitz
2013-10-01 13:39 ` Pierre Muller
2013-10-22 18:26 ` Keith Seitz
2013-11-06 21:53 ` Tom Tromey
[not found] ` <33207.6293569573$1380225714@news.gmane.org>
2013-09-27 8:07 ` [RFC 3/6] mingw-hdep: Add "maint set testuite-mode on/off" command asmwarrior
2013-09-27 8:11 ` asmwarrior
2013-09-27 12:12 ` Pierre Muller
2013-09-27 15:07 ` Tom Tromey
2013-09-27 17:42 ` Pierre Muller
[not found] ` <5245c3a0.a3e2440a.4b98.ffffd279SMTPIN_ADDED_BROKEN@mx.google.com>
2013-09-27 19:36 ` Pedro Alves
2013-09-27 19:40 ` Pedro Alves
2013-09-27 21:12 ` Pierre Muller
2013-09-29 13:45 ` Yao Qi
2013-09-29 18:51 ` Pedro Alves
2013-09-29 23:00 ` Pierre Muller
2013-09-30 9:38 ` Pedro Alves
2013-09-30 12:33 ` Yao Qi
2013-10-01 19:42 ` Keith Seitz
[not found] ` <10148.9390749068$1380495630@news.gmane.org>
2013-09-29 23:54 ` asmwarrior
2013-09-30 19:23 ` Tom Tromey
2013-09-30 19:34 ` Eli Zaretskii
2013-09-30 19:45 ` Pedro Alves
2013-09-30 22:41 ` Pierre Muller
[not found] ` <11813.6176527061$1380225854@news.gmane.org>
2013-09-27 15:13 ` [RFC 5/6] Handle "set print sevenbit-strings on" in print_wchar Tom Tromey
2013-09-27 15:23 ` Pierre Muller
[not found] ` <9177.88728042996$1380225912@news.gmane.org>
2013-11-06 21:50 ` [RFC 6/6] Fix remaining failures in gdb.base/printcmds.exp for mingw hosts Tom Tromey
[not found] <"002901cebaf2$35ec65a0$a1c530e0$@muller"@ics-cnrs.unistra.fr>
[not found] ` <"003201cebaf3$338a8b60$9a9fa220$@muller"@ics-cnrs.unistra.fr>
2013-09-26 20:08 ` [RFC 3/6] mingw-hdep: Add "maint set testuite-mode on/off" command Eli Zaretskii
2013-09-26 20:13 ` Pierre Muller
[not found] ` <"003e01cebaf4$e97923e0$bc6b6ba0$@muller"@ics-cnrs.unistra.fr>
2013-09-27 5:52 ` Eli Zaretskii
2013-09-27 6:53 ` Pierre Muller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='002c01cebaf2$89798ea0$9c6cabe0$@muller@ics-cnrs.unistra.fr' \
--to=pierre.muller@ics-cnrs.unistra.fr \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox