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?
On 2007-05-29, Nick Garnett <nickg@ecoscentric.com> wrote:
> Grant Edwards <grante@visi.com> writes:
>
>>> Ah, the diag_printf() for me always did mean the diagnostic (read debug)
>>> output function, but it didn't mean for me any type of the printf+send.
>>> IMHO, those diag_*() functions should be the light weight things.
>>
>> Then adding extra code to reject strings with escape character
>> in them seems to be the wrong way to go then.
>
> diag_printf() is expressly designed to generate diagnostic
> output. This often happens after memory has been corrupted, or during
> development, when it would be easy to try and print a string that has
> been overwritten, or has not yet been initialized. This has the
> potential of making a total mess of the diagnostic output,
> particularly if minicom/Hyperterm interprets escape sequences.
>
> After suffering this one too many times, we added code to check all
> strings for printable characters and reject those that don't. This
> greatly improved the quality of diagnostics during development and the
> dying moments of a system.
I completely agree. I don't think the check should be removed,
though I think perhaps ESC should be allowed as a "printable"
character. I don't currently have a need for it, so this is
all just moot court as far as I'm concerned.
I was pointing out that not "supporting" escape sequences has
nothing to do with keeping diag_printf light weight, because
checking for non-printable characters is actually negligiably
counter-productive when viewed with that goal in mind.
--
Grant Edwards grante Yow! My CODE of ETHICS
at is vacationing at famed
visi.com SCHROON LAKE in upstate
New York!!
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss