From a9445bbb1d979e059cf71b38b7fa88ff3d89e916 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 30 Apr 2025 15:02:00 +0200 Subject: gpg: Add debug flag "recsel". * g10/gpg.c: Include recsel.h. (debug_flags): New flag "recsel". (set_debug): Set it. * g10/options.h (DBG_RECSEL_VALUE, DBG_RECSEL): New. * g10/import.c (impex_filter_getval): Add debug diagnostics. * g10/keylist.c (parse_and_set_list_filter): Dump the record filter. * common/recsel.c (recsel_debug): New variable. (recsel_set_debug): New function. (recsel_select): Add debug output if requested. --- common/recsel.c | 17 +++++++++++++++++ common/recsel.h | 1 + 2 files changed, 18 insertions(+) (limited to 'common') diff --git a/common/recsel.c b/common/recsel.c index c2c98ed06..36aa01476 100644 --- a/common/recsel.c +++ b/common/recsel.c @@ -71,6 +71,10 @@ struct recsel_expr_s }; +/* Global debug variable. */ +static int recsel_debug; + + /* Helper */ static inline gpg_error_t my_error_from_syserror (void) @@ -460,6 +464,15 @@ recsel_release (recsel_expr_t a) } +int +recsel_set_debug (int value) +{ + int old = recsel_debug; + recsel_debug = value; + return old; +} + + void recsel_dump (recsel_expr_t selector) { @@ -511,6 +524,8 @@ recsel_select (recsel_expr_t selector, while (se) { value = getval? getval (cookie, se->name) : NULL; + if (recsel_debug) + log_debug ("%s: name=%s got value '%s'\n", __func__, se->name, value); if (!value) value = ""; @@ -616,5 +631,7 @@ recsel_select (recsel_expr_t selector, } } + if (recsel_debug) + log_debug ("%s: result=%d\n", __func__, result); return result; } diff --git a/common/recsel.h b/common/recsel.h index 0e0a7928a..a33a0da01 100644 --- a/common/recsel.h +++ b/common/recsel.h @@ -34,6 +34,7 @@ typedef struct recsel_expr_s *recsel_expr_t; gpg_error_t recsel_parse_expr (recsel_expr_t *selector, const char *expr); void recsel_release (recsel_expr_t a); +int recsel_set_debug (int value); void recsel_dump (recsel_expr_t selector); int recsel_select (recsel_expr_t selector, const char *(*getval)(void *cookie, const char *propname), -- cgit v1.2.3