On 02/16/12 10:39, Dave Anderson wrote:
----- Original Message -----
> $ cat> test-in<<_EOF_
> + mod | cat> test-out
> + _EOF_
> $ crash [....]
> crash> < test-in
> crash> quit
> $ cat test-out
> crash> mod | cat> test-out
> MODULE NAME SIZE OBJECT FILE
> [....]
>
> That first line does not belong in "test-out".
> It is very noticeable if "cat" were trying to parse the "mod"
output.
> WRT printf, you can always add another global: trace_fp
> and let that one be the fp for writing trace logs. But it should
> always be stdout. (Well, "stderr", actually, but you are already
> printing your command traces to stdout.)
What happens when the "silent" environment variable is set "on"?
(i.e., run "crash -s ..." or enter "set silent on" during runtime)
Obviously, that would not happen. The issue is that the behavior
is completely unanticipatable. When you type in:
crash> mod | cat > test-out
you get what you expect in "test-out". When you put that into
a sourced file, you get different results. That is wrong, without
regard to any silent settings. The cause is this command trace stuff
that gets inserted into the command output stream. It doesn't belong.
Would you fix it, please? Thank you.