match_string() returns the index of an array for a matching string,
which can be used instead of open coded variant.

Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Michael Ellerman <m...@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Yisheng Xie <xieyishe...@huawei.com>
---
 arch/powerpc/xmon/xmon.c | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index a0842f1..872ac8c 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -3161,7 +3161,7 @@ static void proccall(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",
@@ -3196,18 +3196,17 @@ static void proccall(void)
                        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 */
-- 
1.7.12.4

Reply via email to