This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH: gdb/mi + doco] -var-update
- From: Bob Rossi <bob at brasko dot net>
- To: Nick Roberts <nickrob at snap dot net dot nz>
- Cc: Andrew Cagney <cagney at gnu dot org>, gdb-patches at sources dot redhat dot com
- Date: Thu, 31 Mar 2005 21:49:42 -0500
- Subject: Re: [PATCH: gdb/mi + doco] -var-update
- References: <16919.7660.144228.334687@farnswood.snap.net.nz> <01c5167f$Blat.v2.4$9a7a6f60@zahav.net.il> <16919.53411.753668.336933@farnswood.snap.net.nz> <01c51709$Blat.v2.4$4a3292a0@zahav.net.il> <16921.18627.457594.938060@farnswood.snap.net.nz> <01c517d0$Blat.v2.4$09a26040@zahav.net.il> <16922.43915.346792.973282@farnswood.snap.net.nz> <01c51898$Blat.v2.4$f6fd05c0@zahav.net.il> <16929.8147.933720.246602@farnswood.snap.net.nz> <16955.41017.161288.832646@farnswood.snap.net.nz>
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 */