59 lines
1.7 KiB
Diff
59 lines
1.7 KiB
Diff
From 2bf069698a384ff2bc62d2a10544d49d766b4d7f Mon Sep 17 00:00:00 2001
|
|
From: Eugene Syromyatnikov <evgsyr@gmail.com>
|
|
Date: Mon, 27 Jun 2022 18:00:17 +0200
|
|
Subject: [PATCH] src/xlat: remove remnants of unnecessary idx usage in xlookup
|
|
|
|
As there is no idx saving between calls anymore, there's no need to use
|
|
(and update) idx in the XT_SORTED case. Reported by clang as a dead store:
|
|
|
|
Error: CLANG_WARNING:
|
|
strace-5.18/src/xlat.c:84:4: warning[deadcode.DeadStores]: Value stored to 'idx' is never read
|
|
|
|
* src/xlat.c (xlookup): Remove idx declaration; declare idx inside
|
|
of the for loop in the XT_NORMAL case; do not offset x->data and x->size
|
|
by offs in the XT_SORTED case and do not update idx upon successful
|
|
lookup.
|
|
|
|
Complements: v5.15~164 "xlat: no longer interpret NULL xlat as continuation"
|
|
---
|
|
src/xlat.c | 10 +++-------
|
|
1 file changed, 3 insertions(+), 7 deletions(-)
|
|
|
|
Index: strace-5.18/src/xlat.c
|
|
===================================================================
|
|
--- strace-5.18.orig/src/xlat.c 2022-07-12 17:11:52.660927011 +0200
|
|
+++ strace-5.18/src/xlat.c 2022-07-12 17:16:18.116794139 +0200
|
|
@@ -61,7 +61,6 @@
|
|
const char *
|
|
xlookup(const struct xlat *x, const uint64_t val)
|
|
{
|
|
- size_t idx = 0;
|
|
const struct xlat_data *e;
|
|
|
|
if (!x || !x->data)
|
|
@@ -69,21 +68,18 @@
|
|
|
|
switch (x->type) {
|
|
case XT_NORMAL:
|
|
- for (; idx < x->size; idx++)
|
|
+ for (size_t idx = 0; idx < x->size; idx++)
|
|
if (x->data[idx].val == val)
|
|
return x->data[idx].str;
|
|
break;
|
|
|
|
case XT_SORTED:
|
|
e = bsearch((const void *) &val,
|
|
- x->data + idx,
|
|
- x->size - idx,
|
|
+ x->data, x->size,
|
|
sizeof(x->data[0]),
|
|
xlat_bsearch_compare);
|
|
- if (e) {
|
|
- idx = e - x->data;
|
|
+ if (e)
|
|
return e->str;
|
|
- }
|
|
break;
|
|
|
|
case XT_INDEXED:
|