objdump: fix extended (256) disassembler colors
authorAndrew Burgess <aburgess@redhat.com>
Wed, 10 Aug 2022 11:42:35 +0000 (12:42 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Wed, 10 Aug 2022 16:11:55 +0000 (17:11 +0100)
After commit:

  commit a88c79b77036e4778e70d62081c3cfd1044bb8e3
  Date:   Tue Aug 9 14:57:48 2022 +0100

      Default to enabling colored disassembly if output is to a terminal.

The 256 extended-color support for --disassembler-color was broken.
This is fixed in this commit.

PR 29457
* objdump (objdump_styled_sprintf): Check disassembler_color
against an enum value, don't treat it as a bool.

binutils/objdump.c

index 08c335476ff69dc353876e572f47111a122a9ba6..9259c76c716a990485b2994bab413bf4c9cbe4af 100644 (file)
@@ -2247,7 +2247,7 @@ objdump_styled_sprintf (SFILE *f, enum disassembler_style style,
        {
          size_t space = f->alloc - f->pos;
 
-         if (disassembler_color)
+         if (disassembler_color == on)
            n = snprintf (f->buffer + f->pos, space, "\033[%dm", color);
          else
            n = snprintf (f->buffer + f->pos, space, "\033[38;5;%dm", color);