From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mvnzh-0002s1-De for qemu-devel@nongnu.org; Thu, 08 Oct 2009 04:05:01 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mvnzf-0002qh-6B for qemu-devel@nongnu.org; Thu, 08 Oct 2009 04:05:00 -0400 Received: from [199.232.76.173] (port=60874 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mvnze-0002qe-U9 for qemu-devel@nongnu.org; Thu, 08 Oct 2009 04:04:58 -0400 Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5]:53986 helo=grelber.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mvnze-0003Oo-G6 for qemu-devel@nongnu.org; Thu, 08 Oct 2009 04:04:58 -0400 Received: from landley.net (localhost [127.0.0.1]) by grelber.thyrsus.com (Postfix) with ESMTP id 67A229F01E4 for ; Thu, 8 Oct 2009 04:10:02 -0400 (EDT) From: Rob Landley Date: Thu, 8 Oct 2009 03:03:25 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200910080303.26027.rob@landley.net> Subject: [Qemu-devel] How do I disable -curses mode? List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org I'm running qemu -nographic from a script, booting up a linux -kernel with a serial console and driving it via "expect" to feed data to its stdin and parse its output. This worked fine under 0.10.0, but under 0.11.0 it craps curses escape sequences all over the place, ala: Type exit when done. / # # ^[[24;5R/ # # Show free space / # df ^[[24;13R^[[24;5RFilesystem 1K-blocks Used Available Use% Mounted on This confuses "expect" because it doesn't get the lines it's looking for, those escape sequences can show up in the middle of a line. I'm already saying -nographic, which vl.c seems to imply is a different code path from -curses, yet it's spitting all this extra stuff to the output anyway. If I recompile telling ./configure to --disable-curses the problem goes away, but I can't tell distro maintainers to do that and I can't always build qemu from source. In this instance neither qemu's stdin nor its stdout is a tty, so you'd think the curses code would NOTICE. (It's not that hard to call ttyname() on stdin and see if you get a null pointer, is it?) Rob -- Latency is more important than throughput. It's that simple. - Linus Torvalds