All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] qemu console.c
@ 2007-01-16 23:02 Thiemo Seufer
  2007-01-27 18:30 ` [Qemu-devel][Patch] " Stefan Weil
  0 siblings, 1 reply; 4+ messages in thread
From: Thiemo Seufer @ 2007-01-16 23:02 UTC (permalink / raw)
  To: qemu-devel

CVSROOT:	/sources/qemu
Module name:	qemu
Changes by:	Thiemo Seufer <ths>	07/01/16 23:02:36

Modified files:
	.              : console.c 

Log message:
	Improved console handling, thanks Stefan Weil.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/console.c?cvsroot=qemu&r1=1.9&r2=1.10

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel][Patch] qemu console.c
  2007-01-16 23:02 [Qemu-devel] qemu console.c Thiemo Seufer
@ 2007-01-27 18:30 ` Stefan Weil
  2007-02-03  2:12   ` Thiemo Seufer
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Weil @ 2007-01-27 18:30 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 352 bytes --]


> CVSROOT: /sources/qemu
> Module name: qemu
> Changes by: Thiemo Seufer <ths> 07/01/16 23:02:36
>
> Modified files:
> . : console.c
>
> Log message:
> Improved console handling, thanks Stefan Weil.
Here are two additional smaller changes for console.c.
They fix cursor display at end of line and line wrapping.

Please add them to CVS HEAD.

Stefan


[-- Attachment #2: console.patch --]
[-- Type: text/plain, Size: 2155 bytes --]

Index: console.c
===================================================================
RCS file: /sources/qemu/qemu/console.c,v
retrieving revision 1.10
diff -u -b -B -w -u -r1.10 console.c
--- console.c	16 Jan 2007 23:02:36 -0000	1.10
+++ console.c	27 Jan 2007 15:41:01 -0000
@@ -536,21 +536,24 @@
     int y, y1;
 
     if (s == active_console) {
+        int x = s->x;
+        if (x >= s->width) {
+            x = s->width - 1;
+        }
         y1 = (s->y_base + s->y) % s->total_height;
         y = y1 - s->y_displayed;
         if (y < 0)
             y += s->total_height;
         if (y < s->height) {
-            c = &s->cells[y1 * s->width + s->x];
+            c = &s->cells[y1 * s->width + x];
             if (show) {
                 TextAttributes t_attrib = s->t_attrib_default;
                 t_attrib.invers = !(t_attrib.invers); /* invert fg and bg */
-                vga_putcharxy(s->ds, s->x, y, c->ch, &t_attrib);
+                vga_putcharxy(s->ds, x, y, c->ch, &t_attrib);
             } else {
-                vga_putcharxy(s->ds, s->x, y, c->ch, 
-                              &(c->t_attrib));
+                vga_putcharxy(s->ds, x, y, c->ch, &(c->t_attrib));
             }
-            dpy_update(s->ds, s->x * FONT_WIDTH, y * FONT_HEIGHT, 
+            dpy_update(s->ds, x * FONT_WIDTH, y * FONT_HEIGHT, 
                        FONT_WIDTH, FONT_HEIGHT);
         }
     }
@@ -799,8 +802,10 @@
             s->state = TTY_STATE_ESC;
             break;
         default:
-            if (s->x >= s->width - 1) {
-                break;
+            if (s->x >= s->width) {
+                /* line wrap */
+                s->x = 0;
+                console_put_lf(s);
             }
             y1 = (s->y_base + s->y) % s->total_height;
             c = &s->cells[y1 * s->width + s->x];
@@ -808,12 +813,6 @@
             c->t_attrib = s->t_attrib;
             update_xy(s, s->x, s->y);
             s->x++;
-#if 0 /* line wrap disabled */
-            if (s->x >= s->width) {
-                s->x = 0;
-                console_put_lf(s);
-            }
-#endif
             break;
         }
         break;

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel][Patch] qemu console.c
  2007-01-27 18:30 ` [Qemu-devel][Patch] " Stefan Weil
@ 2007-02-03  2:12   ` Thiemo Seufer
  2007-02-06 19:14     ` Stefan Weil
  0 siblings, 1 reply; 4+ messages in thread
From: Thiemo Seufer @ 2007-02-03  2:12 UTC (permalink / raw)
  To: Stefan Weil; +Cc: qemu-devel

Stefan Weil wrote:
> 
> > CVSROOT: /sources/qemu
> > Module name: qemu
> > Changes by: Thiemo Seufer <ths> 07/01/16 23:02:36
> >
> > Modified files:
> > . : console.c
> >
> > Log message:
> > Improved console handling, thanks Stefan Weil.
> Here are two additional smaller changes for console.c.
> They fix cursor display at end of line and line wrapping.
> 
> Please add them to CVS HEAD.

Something isn't ok with it. Try running e.g. mutt in a emulated
Linux system, it appears garbled.


Thiemo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel][Patch] qemu console.c
  2007-02-03  2:12   ` Thiemo Seufer
@ 2007-02-06 19:14     ` Stefan Weil
  0 siblings, 0 replies; 4+ messages in thread
From: Stefan Weil @ 2007-02-06 19:14 UTC (permalink / raw)
  To: QEMU Developers

Thiemo Seufer schrieb:
> Stefan Weil wrote:
>>> CVSROOT: /sources/qemu
>>> Module name: qemu
>>> Changes by: Thiemo Seufer <ths> 07/01/16 23:02:36
>>>
>>> Modified files:
>>> . : console.c
>>>
>>> Log message:
>>> Improved console handling, thanks Stefan Weil.
>> Here are two additional smaller changes for console.c.
>> They fix cursor display at end of line and line wrapping.
>>
>> Please add them to CVS HEAD.
> Something isn't ok with it. Try running e.g. mutt in a emulated
> Linux system, it appears garbled.
>
> Thiemo
I tried. These are my results:

Mutt does not work with ANSI escape sequences.
It needs VT100 emulation or better. Try
                TERM=ansi mutt
in any terminal (xterm, Linux VGA text console, ...) - you
will get the same garbled output, so QEMU is compatible :-)

My patch improves QEMU's ANSI emulation
(so please add it to CVS HEAD), but it does not
add VT100 capabilities.

Stefan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-02-06 19:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-16 23:02 [Qemu-devel] qemu console.c Thiemo Seufer
2007-01-27 18:30 ` [Qemu-devel][Patch] " Stefan Weil
2007-02-03  2:12   ` Thiemo Seufer
2007-02-06 19:14     ` Stefan Weil

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.