From 73403a8ba00303b95c0e39fe3d2b78c913b0ca98 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 21 May 2024 10:59:43 +0200 Subject: core: speedup gpgme_get_key * src/engine.c (_gpgme_set_engine_info): Change engine_get_version. -- GnuPG-bug-id: 6369 --- src/engine.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/engine.c b/src/engine.c index 69f1c150..252d8805 100644 --- a/src/engine.c +++ b/src/engine.c @@ -449,9 +449,16 @@ _gpgme_set_engine_info (gpgme_engine_info_t info, gpgme_protocol_t proto, new_home_dir = NULL; } - new_version = engine_get_version (proto, new_file_name); + if (info && info->version + && ((!info->file_name && !new_file_name) + || (info->file_name && new_file_name + && !strcmp (info->file_name, new_file_name)))) + new_version = strdup (info->version); + else + new_version = engine_get_version (proto, new_file_name); if (!new_version) { + /* Note that we also get here on a ENOMEM in strdup. */ new_version = strdup ("1.0.0"); /* Fake one for dummy entries. */ if (!new_version) { -- cgit v1.2.3