Accept responses from 1..n when choosing from multiple symbols to
match the input labels.
diff --git a/debugger/hash.c b/debugger/hash.c
index 204b531..86c809a 100644
--- a/debugger/hash.c
+++ b/debugger/hash.c
@@ -402,7 +402,12 @@
ptr = readline("=> ");
if (!*ptr) return FALSE;
i = atoi(ptr);
- } while (i < 0 || i >= num);
+ if (i < 1 || i > num)
+ DEBUG_Printf(DBG_CHN_MESG, "Invalid choice %d\n", i);
+ } while (i < 1 || i > num);
+
+ /* The array is 0-based, but the choices are 1..n, so we have to subtract one before returning. */
+ i--;
}
*rtn = value[i];
return TRUE;