objdump: fix extended (256) disassembler colors
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.
diff --git a/binutils/objdump.c b/binutils/objdump.c
index 08c3354..9259c76 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -2247,7 +2247,7 @@
{
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);