]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
s390/disassembler: Use proper format specifiers for operand values
authorJens Remus <jremus@linux.ibm.com>
Fri, 23 Aug 2024 10:05:14 +0000 (12:05 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Thu, 29 Aug 2024 20:56:33 +0000 (22:56 +0200)
Treat register numbers as unsigned. Treat signed operand values as
signed.

This resolves multiple instances of the Cppcheck warning:

warning: %i in format string (no. 1) requires 'int' but the argument
  type is 'unsigned int'. [invalidPrintfArgType_sint]

Acked-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/kernel/dis.c

index 89dc826a8d2ef1e3ed823baa5b427a453332cfc5..117fb75913d7b16175952172e8bbb3223b395116 100644 (file)
@@ -455,21 +455,21 @@ static int print_insn(char *buffer, unsigned char *code, unsigned long addr)
                        if (separator)
                                ptr += sprintf(ptr, "%c", separator);
                        if (operand->flags & OPERAND_GPR)
-                               ptr += sprintf(ptr, "%%r%i", value);
+                               ptr += sprintf(ptr, "%%r%u", value);
                        else if (operand->flags & OPERAND_FPR)
-                               ptr += sprintf(ptr, "%%f%i", value);
+                               ptr += sprintf(ptr, "%%f%u", value);
                        else if (operand->flags & OPERAND_AR)
-                               ptr += sprintf(ptr, "%%a%i", value);
+                               ptr += sprintf(ptr, "%%a%u", value);
                        else if (operand->flags & OPERAND_CR)
-                               ptr += sprintf(ptr, "%%c%i", value);
+                               ptr += sprintf(ptr, "%%c%u", value);
                        else if (operand->flags & OPERAND_VR)
-                               ptr += sprintf(ptr, "%%v%i", value);
+                               ptr += sprintf(ptr, "%%v%u", value);
                        else if (operand->flags & OPERAND_PCREL) {
                                void *pcrel = (void *)((int)value + addr);
 
                                ptr += sprintf(ptr, "%px", pcrel);
                        } else if (operand->flags & OPERAND_SIGNED)
-                               ptr += sprintf(ptr, "%i", value);
+                               ptr += sprintf(ptr, "%i", (int)value);
                        else
                                ptr += sprintf(ptr, "%u", value);
                        if (operand->flags & OPERAND_DISP)