This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: diag_printf refuses to print ANSI escape sequences?
- From: Grant Edwards <grante at visi dot com>
- To: ecos-discuss at sources dot redhat dot com
- Date: Sat, 26 May 2007 20:19:40 +0000 (UTC)
- Subject: [ECOS] Re: diag_printf refuses to print ANSI escape sequences?
- References: <f39j6e$9bk$1@sea.gmane.org> <20070526163810.GA13155@ubuntu>
On 2007-05-26, Sergei Gavrikov <w3sg@SoftHome.net> wrote:
> On Sat, May 26, 2007 at 03:19:42PM +0000, Grant Edwards wrote:
>> In the "not a big deal" department...
>>
>> I'm trying to send ANSI escape sequences using diag_printf, and
>> diag_printf refuses. If I put the escape character in the format
>> string it says
>>
>> <Bad format string: 8055F18 : 0 0 2 807F0D8 DDD9BFFD FB93FFDC 8055758
>> FB93FFDC>
>>
>> If there's an escape character in a string that is to be printed using
>> the "%s" format, it says:
>>
>> <Not a string: 0x8055F20>
>>
>> I understand that it's useful to attempt to avoid printing random
>> binary garbage, but I would think that ASCII ESC might be allowed in
>> strings.
>>
>> I've found that insterting the escape characters using %c works, but
>> that's a bit awkward.
>
> There are nice diag_dump_buf* functions in the eCos infra layer
> (cyg/infra/diag.h). I do use that.
I'm aware of the daig_dump_buf fuctions, but I don't see how
they solve my problem. AFAIR, they dump out buffer contents in
hex. What I'm trying to do is:
diag_printf("\033[34mBlue Text \033[31mRed Text \033[mNormal Text\n");
diag_printf refuses to do that, so I have to do something like
this instead:
diag_printf("%c[34mBlue Text %c[31mRed Text %c[mNormal Text\n",033,033,033);
and that seems awkward to me.
One could argue that embedding escape seqences in strings is a
bit hackish...
--
Grant Edwards grante Yow! NEWARK has been
at REZONED!! DES MOINES has
visi.com been REZONED!!
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss