[Crash-utility] sial output redirection

Denman, Robert Robert.Denman at Teradata.Com
Tue Nov 13 14:56:33 UTC 2007


Thanks Dave.  You're absolutely right.  I tested using the global fp and
the redirections work.  The only change needed is to sial.c.

Generated By: Teradata Corporation  (Tue Nov 13 06:50:50 PST 2007)

 extensions/sial.c |   11
++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

Index: crash-4.0-4.8/extensions/sial.c
===================================================================
--- crash-4.0-4.8-orig/extensions/sial.c        2007-11-12
21:15:36.000000000 -0800
+++ crash-4.0-4.8/extensions/sial.c     2007-11-13 06:50:44.000000000
-0800
@@ -638,7 +638,18 @@
 run_callback(void)
 {
 extern char *crash_global_cmd();
+
+       FILE *ofp = NULL;
+
+       if (fp != NULL) {
+               ofp = sial_getofile();
+               sial_setofile(fp);
+       }
+
        sial_cmd(crash_global_cmd(), args, argcnt);
+       if (ofp) {
+               sial_setofile(ofp);
+       }
 }

-----Original Message-----
From: Dave Anderson [mailto:anderson at redhat.com] 
Sent: Tuesday, November 13, 2007 5:44 AM
To: Discussion list for crash utility usage, maintenance and development
Cc: Luc.Chouinard at trueposition.com; Denman, Robert
Subject: Re: [Crash-utility] sial output redirection

Chouinard, Luc wrote:
> Very useful thing to have. Looks good. Dave can you queue it?
> 
>    Luc
> 
> -----Original Message-----
> From: crash-utility-bounces at redhat.com on behalf of Denman, Robert
> Sent: Mon 11/12/2007 6:43 PM
> To: crash-utility at redhat.com
> Subject: [Crash-utility] sial output redirection
> 
> Luc,
> The following patch will allow the output of SIAL commands to be
> redirected to a file or pipe.  I did not handle all cases supported by
> crash (e.g. multi-pipes), only simple output redirection.  Would you
> please consider this change or something like it in the next release?
> Thanks.
> 
> - Robert -

I don't see the need for crash_cmd_filep()?

Since sial.c has the global "fp" #extern'd, it should
just be able to call sial_setofile(fp), and then all
redirection types should be covered.

Dave


> 
> Generated By: Teradata Corporation  (Mon Nov 12 15:29:56 PST 2007)
> 
>  extensions.c      |   12
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  extensions/sial.c |    7 +++++++++++++++++++++++++++++++
>  2 files changed, 19 insertions(+), 0 deletions(-)
> 
> Index: crash-4.0-4.8/extensions/sial.c
> ===================================================================
> --- crash-4.0-4.8-orig/extensions/sial.c        2007-10-30
> 08:51:54.000000000 -0
> 700
> +++ crash-4.0-4.8/extensions/sial.c     2007-11-12 15:28:55.000000000
> -0800
> @@ -638,6 +638,13 @@
>  run_callback(void)
>  {
>  extern char *crash_global_cmd();
> +extern FILE *crash_cmd_filep();
> +
> +       FILE *fp;
> +
> +       if ((fp = crash_cmd_filep()) != NULL) {
> +               sial_setofile(fp);
> +       }
>         sial_cmd(crash_global_cmd(), args, argcnt);
>  }
> 
> Index: crash-4.0-4.8/extensions.c
> ===================================================================
> --- crash-4.0-4.8-orig/extensions.c     2007-10-30 08:51:54.000000000
> -0700
> +++ crash-4.0-4.8/extensions.c  2007-11-12 15:27:21.000000000 -0800
> @@ -374,3 +374,15 @@
>  {
>         return pc->cmd_table;
>  }
> +
> +FILE *
> +crash_cmd_filep(void)
> +{
> +       if (pc->redirect & REDIRECT_TO_FILE) {
> +               return pc->ofile;
> +       } else if (pc->redirect & REDIRECT_TO_PIPE) {
> +               return pc->pipe;
> +       } else {
> +               return NULL;
> +       }
> +}





More information about the Crash-utility mailing list