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]
Other format: [Raw text]

Re: [PATCH: gdb/mi + doco] -var-update


On Sat, Mar 19, 2005 at 04:44:57PM +1300, Nick Roberts wrote:
> 
> I would like to commit this (source code) patch from last month. I accidently
> reverted some of changes last time I presented it so I attach it here in its
> proper form.
> 
> As Andrew doesn't appear to around is there any chance a global maintainer
> can look at it? Its pretty lightweight.

Hi Nick,

I have some spare time waiting for my patches to get reviewed, so I
figure'd I'd look at yours. If you care, I have just a few comments.

Bob Rossi

> *** /home/nick/src/gdb/mi/mi-cmd-var.c.~1.21.~	2005-02-13 00:36:20.000000000 +1300
> --- /home/nick/src/gdb/mi/mi-cmd-var.c	2005-03-01 14:03:45.000000000 +1300
> ***************
> *** 30,38 ****
>   #include <ctype.h>
>   #include "gdb_string.h"
>   
>   extern int varobjdebug;		/* defined in varobj.c */
>   
> ! static int varobj_update_one (struct varobj *var);
>   
>   /* VAROBJ operations */
>   
> --- 30,44 ----
>   #include <ctype.h>
>   #include "gdb_string.h"
>   
> + const char novalues[] = "\"--no-values\"";
> + const char withvalues[] = "\"--with-values\"";
> + const char simplevalues[] = "\"--simple-values\"";
> + const char allvalues[] = "\"--all-values\"";

These could be made static.

>   extern int varobjdebug;		/* defined in varobj.c */
>   
> ! static int varobj_update_one (struct varobj *var,
> ! 			      enum print_values print_values);
>   
>   /* VAROBJ operations */
>   
> ***************
> *** 262,284 ****
>       error (_("mi_cmd_var_list_children: Usage: [PRINT_VALUES] NAME"));
>   
>     /* Get varobj handle, if a valid var obj name was specified */
> !   if (argc == 1) var = varobj_get_handle (argv[0]);
> !   else var = varobj_get_handle (argv[1]);
>     if (var == NULL)
>       error (_("Variable object not found"));
>   
>     numchild = varobj_list_children (var, &childlist);
>     ui_out_field_int (uiout, "numchild", numchild);
>     if (argc == 2)
> !     if (strcmp (argv[0], "0") == 0
> ! 	|| strcmp (argv[0], "--no-values") == 0)
> !       print_values = PRINT_NO_VALUES;
> !     else if (strcmp (argv[0], "1") == 0
> ! 	     || strcmp (argv[0], "--all-values") == 0)
> !       print_values = PRINT_ALL_VALUES;
> !     else
> !      error (_("Unknown value for PRINT_VALUES: must be: 0 or \"--no-values\", 1 or \"--all-values\""));
> !   else print_values = PRINT_NO_VALUES;
>   
>     if (numchild <= 0)
>       return MI_CMD_DONE;
> --- 268,296 ----
>       error (_("mi_cmd_var_list_children: Usage: [PRINT_VALUES] NAME"));
>   
>     /* Get varobj handle, if a valid var obj name was specified */
> !   if (argc == 1)
> !     var = varobj_get_handle (argv[0]);
> !   else
> !     var = varobj_get_handle (argv[1]);
>     if (var == NULL)
>       error (_("Variable object not found"));
>   
>     numchild = varobj_list_children (var, &childlist);
>     ui_out_field_int (uiout, "numchild", numchild);
>     if (argc == 2)
> !     {
> !       if (strcmp (argv[0], "0") == 0
> ! 	  || strcmp (argv[0], "--no-values") == 0)
> ! 	print_values = PRINT_NO_VALUES;
> !       else if (strcmp (argv[0], "1") == 0
> ! 	       || strcmp (argv[0], "--with-values") == 0)

instead of using "--no-values" and "--with-values" you could use the
variable "novalues" and "withvalues".

> ! 	print_values = PRINT_ALL_VALUES;
> !       else
> ! 	error (_("Unknown value for PRINT_VALUES: must be: 0 or %s, 1 or %s"),
> ! 	       novalues, withvalues);
> !     }
> !   else
> !     print_values = PRINT_NO_VALUES;
>   
>     if (numchild <= 0)
>       return MI_CMD_DONE;
> ***************
> *** 426,436 ****
>     struct cleanup *cleanup;
>     char *name;
>     int nv;
>   
> !   if (argc != 1)
> !     error (_("mi_cmd_var_update: Usage: NAME."));
>   
> !   name = argv[0];
>   
>     /* Check if the parameter is a "*" which means that we want
>        to update all variables */
> --- 438,467 ----
>     struct cleanup *cleanup;
>     char *name;
>     int nv;
> +   enum print_values print_values;
>   
> !   if (argc != 1 && argc != 2)
> !     error (_("mi_cmd_var_update: Usage: [PRINT_VALUES] NAME."));
>   
> !   if (argc == 1)
> !     name = argv[0];
> !   else
> !     name = (argv[1]);
> ! 
> !   if (argc == 2)
> !     {
> !       if (strcmp (argv[0], "0") == 0
> ! 	  || strcmp (argv[0], "--no-values") == 0)
> ! 	print_values = PRINT_NO_VALUES;
> !       else if (strcmp (argv[0], "1") == 0
> ! 	       || strcmp (argv[0], "--with-values") == 0)

same as above with the --no-values and --with-values
> ! 	print_values = PRINT_ALL_VALUES;
> !       else
> ! 	error (_("Unknown value for PRINT_VALUES: must be: 0 or %s, 1 or %s"),
> ! 		 novalues, withvalues);
> !     }
> !   else
> !     print_values = PRINT_NO_VALUES;
>   
>     /* Check if the parameter is a "*" which means that we want
>        to update all variables */


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