commit 5d5161359e267f3f6dc4979fa46fe4a351acc884
parent a32be0f8efe59e3de6413b2bf2dc16c3db4ea2b5
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Mon, 27 Jan 2025 16:27:01 +0100
objdump: Remove switch() for binfmt
We can use the array and avoid duplicated information.
Diffstat:
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/src/cmd/scc-objdump/main.c b/src/cmd/scc-objdump/main.c
@@ -255,6 +255,7 @@ errno_error:
static void
dumpobj(FILE *fp, int type, char *fmt)
{
+ int id;
Obj *obj;
printf("\n%s", filename);
@@ -272,16 +273,12 @@ dumpobj(FILE *fp, int type, char *fmt)
goto err;
}
- switch (objfmt(obj)) {
- case COFF32:
- op = &ops[COFF32];
- break;
- case ELF64:
- op = &ops[ELF64];
- break;
- default:
+ id = objfmt(obj);
+ if (id >= NFORMATS) {
error("unknown symbol binary format");
+ return;
}
+ op = &ops[id];
if (fflag)
dumpfhdr(obj, fmt);