|
@@ -3173,7 +3173,7 @@ skipbl(void)
|
|
|
}
|
|
|
|
|
|
#define N_PTREGS 44
|
|
|
-static char *regnames[N_PTREGS] = {
|
|
|
+static const char *regnames[N_PTREGS] = {
|
|
|
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
|
|
|
"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
|
|
|
"r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
|
|
@@ -3208,18 +3208,17 @@ scanhex(unsigned long *vp)
|
|
|
regname[i] = c;
|
|
|
}
|
|
|
regname[i] = 0;
|
|
|
- for (i = 0; i < N_PTREGS; ++i) {
|
|
|
- if (strcmp(regnames[i], regname) == 0) {
|
|
|
- if (xmon_regs == NULL) {
|
|
|
- printf("regs not available\n");
|
|
|
- return 0;
|
|
|
- }
|
|
|
- *vp = ((unsigned long *)xmon_regs)[i];
|
|
|
- return 1;
|
|
|
- }
|
|
|
+ i = match_string(regnames, N_PTREGS, regname);
|
|
|
+ if (i < 0) {
|
|
|
+ printf("invalid register name '%%%s'\n", regname);
|
|
|
+ return 0;
|
|
|
}
|
|
|
- printf("invalid register name '%%%s'\n", regname);
|
|
|
- return 0;
|
|
|
+ if (xmon_regs == NULL) {
|
|
|
+ printf("regs not available\n");
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ *vp = ((unsigned long *)xmon_regs)[i];
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
/* skip leading "0x" if any */
|