summaryrefslogtreecommitdiffstats
path: root/src/evalfunc.c
diff options
context:
space:
mode:
authorK.Takata <kentkt@csc.jp>2022-02-12 11:18:37 +0000
committerBram Moolenaar <Bram@vim.org>2022-02-12 11:18:37 +0000
commitd68b2fc034fa3c824e0d4d53745cfe9eb8c5ecd6 (patch)
tree8e4c621d0b2d4ea58df053cb0a1432c91d502390 /src/evalfunc.c
parent18f7593e57730e6de7c2cf47c87e44252cfbb61e (diff)
patch 8.2.4354: dynamic loading of libsodium not handled properlyv8.2.4354
Problem: Dynamic loading of libsodium not handled properly. Solution: Fix has() and :version. Show an error message when loading fails. Fix memory leaks. (Ken Takata, closes #9754)
Diffstat (limited to 'src/evalfunc.c')
-rw-r--r--src/evalfunc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index db0d1ceedb..31205ea5ae 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -5997,7 +5997,7 @@ f_has(typval_T *argvars, typval_T *rettv)
#endif
},
{"sodium",
-#ifdef FEAT_SODIUM
+#if defined(FEAT_SODIUM) && !defined(DYNAMIC_SODIUM)
1
#else
0
@@ -6318,6 +6318,10 @@ f_has(typval_T *argvars, typval_T *rettv)
else if (STRICMP(name, "tcl") == 0)
n = tcl_enabled(FALSE);
#endif
+#ifdef DYNAMIC_SODIUM
+ else if (STRICMP(name, "sodium") == 0)
+ n = sodium_enabled(FALSE);
+#endif
#if defined(FEAT_TERMINAL) && defined(MSWIN)
else if (STRICMP(name, "terminal") == 0)
n = terminal_enabled();