summaryrefslogtreecommitdiff
path: root/src/if_python.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/if_python.c')
-rw-r--r--src/if_python.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/if_python.c b/src/if_python.c
index 8ba124150..02e2cd79e 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -672,7 +672,8 @@ end_dynamic_python(void)
python_runtime_link_init(char *libname, int verbose)
{
int i;
- void *ucs_as_encoded_string;
+ PYTHON_PROC *ucs_as_encoded_string =
+ (PYTHON_PROC*)&py_PyUnicode_AsEncodedString;
#if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3)
/* Can't have Python and Python3 loaded at the same time.
@@ -711,14 +712,12 @@ python_runtime_link_init(char *libname, int verbose)
/* Load unicode functions separately as only the ucs2 or the ucs4 functions
* will be present in the library. */
- ucs_as_encoded_string = symbol_from_dll(hinstPython,
+ *ucs_as_encoded_string = symbol_from_dll(hinstPython,
"PyUnicodeUCS2_AsEncodedString");
- if (ucs_as_encoded_string == NULL)
- ucs_as_encoded_string = symbol_from_dll(hinstPython,
+ if (*ucs_as_encoded_string == NULL)
+ *ucs_as_encoded_string = symbol_from_dll(hinstPython,
"PyUnicodeUCS4_AsEncodedString");
- if (ucs_as_encoded_string != NULL)
- py_PyUnicode_AsEncodedString = ucs_as_encoded_string;
- else
+ if (*ucs_as_encoded_string == NULL)
{
close_dll(hinstPython);
hinstPython = 0;