qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] curses: fix garbling when chtype != long


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] curses: fix garbling when chtype != long
Date: Fri, 09 Sep 2011 13:34:56 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10

On 09/07/2011 02:44 PM, Devin J. Pohly wrote:
From: "Devin J. Pohly"<address@hidden>

Qemu currently assumes that chtype is typedef'd to unsigned long, but
this is not necessarily the case (ncurses, for instance, can configure
this at build-time).  This patch uses the predefined chtype if qemu is
configured for curses support and falls back to unsigned long otherwise.

Fixes bug 568614.

Signed-off-by: Devin J. Pohly<address@hidden>

Applied.  Thanks.

Regards,

Anthony Liguori

---
  console.c |    2 ++
  console.h |    5 +++++
  2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/console.c b/console.c
index 500b3fb..5c7a93b 100644
--- a/console.c
+++ b/console.c
@@ -343,6 +343,7 @@ static const uint32_t dmask4[4] = {

  static uint32_t color_table[2][8];

+#ifndef CONFIG_CURSES
  enum color_names {
      COLOR_BLACK   = 0,
      COLOR_RED     = 1,
@@ -353,6 +354,7 @@ enum color_names {
      COLOR_CYAN    = 6,
      COLOR_WHITE   = 7
  };
+#endif

  static const uint32_t color_table_rgb[2][8] = {
      {   /* dark */
diff --git a/console.h b/console.h
index 67d1373..9c1487e 100644
--- a/console.h
+++ b/console.h
@@ -328,7 +328,12 @@ static inline int ds_get_bytes_per_pixel(DisplayState *ds)
      return ds->surface->pf.bytes_per_pixel;
  }

+#ifdef CONFIG_CURSES
+#include<curses.h>
+typedef chtype console_ch_t;
+#else
  typedef unsigned long console_ch_t;
+#endif
  static inline void console_write_ch(console_ch_t *dest, uint32_t ch)
  {
      if (!(ch&  0xff))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]