updated for version 7.3.910
Problem: Python code in #ifdef branches with only minor differences.
Solution: Merge the #ifdef branches. (ZyX)
diff --git a/src/if_py_both.h b/src/if_py_both.h
index c24e863..6e4f01a 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -2853,7 +2853,6 @@
tv->v_type = VAR_FUNC;
func_ref(tv->vval.v_string);
}
-#if PY_MAJOR_VERSION >= 3
else if (PyBytes_Check(obj))
{
char_u *result;
@@ -2873,30 +2872,6 @@
PyObject *bytes;
char_u *result;
- bytes = PyString_AsBytes(obj);
- if (bytes == NULL)
- return -1;
-
- if(PyString_AsStringAndSize(bytes, (char **) &result, NULL) == -1)
- return -1;
- if (result == NULL)
- return -1;
-
- if (set_string_copy(result, tv) == -1)
- {
- Py_XDECREF(bytes);
- return -1;
- }
- Py_XDECREF(bytes);
-
- tv->v_type = VAR_STRING;
- }
-#else
- else if (PyUnicode_Check(obj))
- {
- PyObject *bytes;
- char_u *result;
-
bytes = PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, NULL);
if (bytes == NULL)
return -1;
@@ -2915,20 +2890,7 @@
tv->v_type = VAR_STRING;
}
- else if (PyString_Check(obj))
- {
- char_u *result;
-
- if(PyString_AsStringAndSize(obj, (char **) &result, NULL) == -1)
- return -1;
- if (result == NULL)
- return -1;
-
- if (set_string_copy(result, tv) == -1)
- return -1;
-
- tv->v_type = VAR_STRING;
- }
+#if PY_MAJOR_VERSION < 3
else if (PyInt_Check(obj))
{
tv->v_type = VAR_NUMBER;