gdb/
authorYao Qi <yao@codesourcery.com>
Tue, 24 Jul 2012 12:49:22 +0000 (12:49 +0000)
committerYao Qi <yao@codesourcery.com>
Tue, 24 Jul 2012 12:49:22 +0000 (12:49 +0000)
* cli/cli-setshow.c (do_setshow_command): Handle case 'var_uinteger'
and 'var_zuninteger' together.  Handle case 'var_integer' and
'var_zinteger' together.

gdb/ChangeLog
gdb/cli/cli-setshow.c

index 4f756ad611e74782a0890e2ea3e7132f6f74660c..414bafd5ca5e4c23042c310fa1456dc5ee638445 100644 (file)
@@ -1,3 +1,9 @@
+2012-07-24  Yao Qi  <yao@codesourcery.com>
+
+       * cli/cli-setshow.c: Handle case 'var_uinteger'
+       and 'var_zuninteger' together.  Handle case 'var_integer' and
+       'var_zinteger' together.
+
 2012-07-23  Keith Seitz  <keiths@redhat.com>
 
        * linespec.c (convert_linespec_to_sal): Don't add
index 5ec7b55881ff212833c0fd352328b902e9d15fb5..7ffb89e3eeeca0d620a7f24a9550812f976ac90b 100644 (file)
@@ -208,20 +208,22 @@ do_setshow_command (char *arg, int from_tty, struct cmd_list_element *c)
          *(enum auto_boolean *) c->var = parse_auto_binary_operation (arg);
          break;
        case var_uinteger:
+       case var_zuinteger:
          if (arg == NULL)
            error_no_arg (_("integer to set it to."));
          *(unsigned int *) c->var = parse_and_eval_long (arg);
-         if (*(unsigned int *) c->var == 0)
+         if (c->var_type == var_uinteger && *(unsigned int *) c->var == 0)
            *(unsigned int *) c->var = UINT_MAX;
          break;
        case var_integer:
+       case var_zinteger:
          {
            unsigned int val;
 
            if (arg == NULL)
              error_no_arg (_("integer to set it to."));
            val = parse_and_eval_long (arg);
-           if (val == 0)
+           if (val == 0 && c->var_type == var_integer)
              *(int *) c->var = INT_MAX;
            else if (val >= INT_MAX)
              error (_("integer %u out of range"), val);
@@ -229,16 +231,6 @@ do_setshow_command (char *arg, int from_tty, struct cmd_list_element *c)
              *(int *) c->var = val;
            break;
          }
-       case var_zinteger:
-         if (arg == NULL)
-           error_no_arg (_("integer to set it to."));
-         *(int *) c->var = parse_and_eval_long (arg);
-         break;
-       case var_zuinteger:
-         if (arg == NULL)
-           error_no_arg (_("integer to set it to."));
-         *(unsigned int *) c->var = parse_and_eval_long (arg);
-         break;
        case var_enum:
          {
            int i;