patch 8.2.4354: dynamic loading of libsodium not handled properly
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)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index db0d1ce..31205ea 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -5997,7 +5997,7 @@
#endif
},
{"sodium",
-#ifdef FEAT_SODIUM
+#if defined(FEAT_SODIUM) && !defined(DYNAMIC_SODIUM)
1
#else
0
@@ -6318,6 +6318,10 @@
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();