This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: RFA: Patch: make `inferior_args' visible to gdbtk (3rd try)


I just realized that this change only affects CLI code, so I am
waiting for an approval from myself!

I guess the only objection was that that savestring() was removed,
so I am checking it in.

Fernando


Fernando Nasser wrote:
> 
> I posted this patch in Dec 8, 2000.  The only comment I got (on Dec 14, 2000)
> was that I should replace the (previously existent) savestring() call with
> a call to xstrdup() when changing the line that had that call.
> 
> I have already made the required change.  I have also eliminated the calls
> to the cli code (execute_command) as they are not any longer necessary.
> 
> OK to commit?
> 
>         * infcmd.c (get_inferior_args, set_inferior_args): Accessor functions
>         for the inferior program arguments.
>         (run_command, run_no_args_command, init_infcmd)): Use accessor
>         functions to set the inferior program arguments.
>         * inferior.h: Add definitions to the accessor functions above.
> 
> --
> Fernando Nasser
> Red Hat Canada Ltd.                     E-Mail:  fnasser@redhat.com
> 2323 Yonge Street, Suite #300
> Toronto, Ontario   M4P 2C9
> 
> Index: inferior.h
> ===================================================================
> RCS file: /cvs/src/src/gdb/inferior.h,v
> retrieving revision 1.12
> diff -c -p -r1.12 inferior.h
> *** inferior.h  2000/11/10 19:27:45     1.12
> --- inferior.h  2001/01/22 22:24:31
> *************** extern void tty_command (char *, int);
> *** 285,290 ****
> --- 285,294 ----
> 
>   extern void attach_command (char *, int);
> 
> + extern char *get_inferior_arg (void);
> +
> + extern char *set_inferior_arg (char *);
> +
>   /* Last signal that the inferior received (why it stopped).  */
> 
>   extern enum target_signal stop_signal;
> Index: infcmd.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/infcmd.c,v
> retrieving revision 1.16
> diff -c -p -r1.16 infcmd.c
> *** infcmd.c    2001/01/18 16:11:22     1.16
> --- infcmd.c    2001/01/22 22:24:32
> *************** int step_multi;
> *** 191,197 ****
> --- 191,214 ----
> 
>   struct environ *inferior_environ;
> 
> + /* Accessor routines. */
> 
> + char *
> + get_inferior_args (void)
> + {
> +   return inferior_args;
> + }
> +
> + char *
> + set_inferior_args (char *newargs)
> + {
> +   char *saved_args = inferior_args;
> +
> +   inferior_args = newargs;
> +
> +   return saved_args;
> + }
> +
>   /* This function detects whether or not a '&' character (indicating
>      background execution) has been added as *the last* of the arguments ARGS
>      of a command. If it has, it removes it and returns 1. Otherwise it
> *************** Start it from the beginning? "))
> *** 280,286 ****
>       }
>     else
>       {
> -       char *cmd;
>         int async_exec = strip_bg_char (&args);
> 
>         /* If we get a request for running in the bg but the target
> --- 297,302 ----
> *************** Start it from the beginning? "))
> *** 299,307 ****
>         /* If there were other args, beside '&', process them. */
>         if (args)
>         {
> !         cmd = concat ("set args ", args, NULL);
> !         make_cleanup (xfree, cmd);
> !         execute_command (cmd, from_tty);
>         }
>       }
> 
> --- 315,322 ----
>         /* If there were other args, beside '&', process them. */
>         if (args)
>         {
> !           char *old_args = set_inferior_args (xstrdup (args));
> !           xfree (old_args);
>         }
>       }
> 
> *************** Start it from the beginning? "))
> *** 335,342 ****
>   static void
>   run_no_args_command (char *args, int from_tty)
>   {
> !   execute_command ("set args", from_tty);
> !   run_command ((char *) NULL, from_tty);
>   }
> 
> 
> --- 350,357 ----
>   static void
>   run_no_args_command (char *args, int from_tty)
>   {
> !   char *old_args = set_inferior_args (xstrdup (""));
> !   xfree (old_args);
>   }
> 
> 
> *************** Register name as argument means describe
> *** 1944,1950 ****
>     add_info ("float", float_info,
>             "Print the status of the floating point unit\n");
> 
> !   inferior_args = savestring ("", 1); /* Initially no args */
>     inferior_environ = make_environ ();
>     init_environ (inferior_environ);
>   }
> --- 1959,1965 ----
>     add_info ("float", float_info,
>             "Print the status of the floating point unit\n");
> 
> !   set_inferior_args (xstrdup (""));   /* Initially no args */
>     inferior_environ = make_environ ();
>     init_environ (inferior_environ);
>   }

-- 
Fernando Nasser
Red Hat Canada Ltd.                     E-Mail:  fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]