* go32-nat.c (go32_handle_nonaligned_watchpoint): Use a
authorEli Zaretskii <eliz@gnu.org>
Mon, 3 Apr 2000 15:27:42 +0000 (15:27 +0000)
committerEli Zaretskii <eliz@gnu.org>
Mon, 3 Apr 2000 15:27:42 +0000 (15:27 +0000)
two-dimensional array instead of faking it with index
arithmetics.

gdb/ChangeLog
gdb/go32-nat.c

index a9f9a5a08c203a55bdbfb9be17d4cff18b018d09..2f1ac005dab0cea1608e49425cb1e1fabf8ec584 100644 (file)
@@ -1,3 +1,9 @@
+2000-04-03  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * go32-nat.c (go32_handle_nonaligned_watchpoint): Use a
+       two-dimensional array instead of faking it with index
+       arithmetics.
+
 2000-04-03  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * config/i386/xm-go32.h (HOST_LONG_DOUBLE_FORMAT): Define.
index 7d35d7b9eb0407fd4741d3046c737d1d18b87dec..c839d11b6d9b0815b03271183866dfe929e2fb0e 100644 (file)
@@ -859,20 +859,19 @@ go32_handle_nonaligned_watchpoint (wp_op what, CORE_ADDR waddr, CORE_ADDR addr,
   int size;
   int rv = 0, status = 0;
 
-  static int size_try_array[16] =
+  static int size_try_array[4][4] =
   {
-    1, 1, 1, 1,                        /* trying size one */
-    2, 1, 2, 1,                        /* trying size two */
-    2, 1, 2, 1,                        /* trying size three */
-    4, 1, 2, 1                 /* trying size four */
+    { 1, 1, 1, 1 },            /* trying size one */
+    { 2, 1, 2, 1 },            /* trying size two */
+    { 2, 1, 2, 1 },            /* trying size three */
+    { 4, 1, 2, 1 }             /* trying size four */
   };
 
   while (len > 0)
     {
       align = addr % 4;
-      /* Four is the maximum length for 386.  */
-      size = (len > 4) ? 3 : len - 1;
-      size = size_try_array[size * 4 + align];
+      /* Four is the maximum length a 386 debug register can watch.  */
+      size = size_try_array[len > 4 ? 3 : len - 1][align];
       if (what == wp_insert)
        status = go32_insert_aligned_watchpoint (waddr, addr, size, rw);
       else if (what == wp_remove)