A coming change adds _get/_put abstraction on the site pointer, to
allow managing site info more flexibly.  The get/put pattern is best
done at a single lexical scope, where its more obviously correct, so
hoist the ->site ref out of ddebug_match_site, and pass it in instead.

Signed-off-by: Jim Cromie <jim.cro...@gmail.com>
---
 lib/dynamic_debug.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index bb9279c8cbfd..050c65142d9b 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -140,10 +140,9 @@ static void vpr_info_dq(const struct ddebug_query *query, 
const char *msg)
 }
 
 static int ddebug_match_site(const struct ddebug_query *query,
-                            const struct _ddebug *dp)
+                            const struct _ddebug *dp,
+                            const struct _ddebug_callsite *dc)
 {
-       struct _ddebug_callsite *dc;
-
        /* match against the format */
        if (query->format) {
                if (*query->format == '^') {
@@ -164,7 +163,6 @@ static int ddebug_match_site(const struct ddebug_query 
*query,
            dp->lineno > query->last_lineno)
                return false;
 
-       dc = dp->site;
        if (!dc) {
                /* site info has been dropped, so query cannot test these 
fields */
                if (query->filename || query->function)
@@ -216,9 +214,9 @@ static int ddebug_change(const struct ddebug_query *query,
 
                for (i = 0; i < dt->num_ddebugs; i++) {
                        struct _ddebug *dp = &dt->ddebugs[i];
-                       struct _ddebug_callsite *dc;
+                       struct _ddebug_callsite *dc = dp->site;
 
-                       if (!ddebug_match_site(query, dp))
+                       if (!ddebug_match_site(query, dp, dc))
                                continue;
 
                        nfound++;
-- 
2.29.2

Reply via email to