Use ARRAY_SIZE in ax-general.c
authorTom Tromey <tom@tromey.com>
Tue, 20 Jun 2023 17:11:06 +0000 (11:11 -0600)
committerTom Tromey <tom@tromey.com>
Tue, 20 Jun 2023 17:21:51 +0000 (11:21 -0600)
This changes a couple of spots in ax-general.c to use ARRAY_SIZE.
While making this change, I noticed that one of the bounds checks was
incorrect.

Reviewed-by: John Baldwin <jhb@FreeBSD.org>
gdb/ax-general.c

index 4ace2b490c0331278fabc96b0198b0227a4611d2..3c724a0e38ba24178038fcbc29903fa4ad1f985f 100644 (file)
@@ -353,8 +353,7 @@ ax_print (struct ui_file *f, struct agent_expr *x)
     {
       enum agent_op op = (enum agent_op) x->buf[i];
 
-      if (op >= (sizeof (aop_map) / sizeof (aop_map[0]))
-         || !aop_map[op].name)
+      if (op >= ARRAY_SIZE (aop_map) || aop_map[op].name == nullptr)
        {
          gdb_printf (f, _("%3d  <bad opcode %02x>\n"), i, op);
          i++;
@@ -454,7 +453,7 @@ ax_reqs (struct agent_expr *ax)
 
   for (i = 0; i < ax->buf.size (); i += 1 + op->op_size)
     {
-      if (ax->buf[i] > (sizeof (aop_map) / sizeof (aop_map[0])))
+      if (ax->buf[i] >= ARRAY_SIZE (aop_map))
        {
          ax->flaw = agent_flaw_bad_instruction;
          return;