[Crash-utility] bug in cmdline.c

Bruce Korb bruce.korb at gmail.com
Thu Feb 16 14:11:36 UTC 2012


In exec_input_file():

1375                 if (!(pc->flags & SILENT)) {
1376                         fprintf(fp, "%s%s", pc->prompt, buf);

This "fp" variable needs to be "stdout".
The prompting and echoing of input commands needs to go there,
not whereever "fp" is currently pointing (crash command output).

$ 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();
          }




More information about the Crash-utility mailing list