[Crash-utility] bug in cmdline.c
Dave Anderson
anderson at redhat.com
Thu Feb 16 18:39:42 UTC 2012
----- 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)
Dave
> On Thu, Feb 16, 2012 at 7:59 AM, Dave Anderson <anderson at redhat.com>
> wrote:
> >
> > I'm not sure I agree...
> >
> >> $ diff -u *~ cmdline.c
> >> --- cmdline.c~ 2012-02-03 11:22:33.000000000 -0800
> >> +++ cmdline.c 2012-02-15 16:51:07.209524248 -0800
> >> @@ -1372,10 +1372,8 @@
> >> if (!(argcnt = parse_line(pc->command_line,
> >> args)))
> >> continue;
> >>
> >> - if (!(pc->flags & SILENT)) {
> >> - fprintf(fp, "%s%s", pc->prompt, buf);
> >> - fflush(fp);
> >> - }
> >> + if (!(pc->flags & SILENT))
> >> + printf("%s%s", pc->prompt, buf);
> >>
> >> exec_command();
> >> }
> >
> > Can you show an example of the problem that you're trying
> > to handle?
> >
> > Also, printf() is never used by the crash utility. (well, except
> > by some dead va_server.c code, some dead remote.c debug code,
> > and a couple places in s390dbf.c which I don't control...)
> >
> > Dave
>
More information about the Crash-utility
mailing list