comparison src/if_python3.c @ 15454:1d2b5c016f17 v8.1.0735

patch 8.1.0735: cannot handle binary data commit https://github.com/vim/vim/commit/6e5ea8d2a995b32bbc5972edc4f827b959f2702f Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 12 22:47:31 2019 +0100 patch 8.1.0735: cannot handle binary data Problem: Cannot handle binary data. Solution: Add the Blob type. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/3638)
author Bram Moolenaar <Bram@vim.org>
date Sat, 12 Jan 2019 23:00:06 +0100
parents 27b9a84395b5
children 55ccc2d353bd
comparison
equal deleted inserted replaced
15453:cdee6e827112 15454:1d2b5c016f17
230 # ifndef PyBytes_AsStringAndSize 230 # ifndef PyBytes_AsStringAndSize
231 # define PyBytes_AsStringAndSize py3_PyBytes_AsStringAndSize 231 # define PyBytes_AsStringAndSize py3_PyBytes_AsStringAndSize
232 # endif 232 # endif
233 # undef PyBytes_FromString 233 # undef PyBytes_FromString
234 # define PyBytes_FromString py3_PyBytes_FromString 234 # define PyBytes_FromString py3_PyBytes_FromString
235 # undef PyBytes_FromStringAndSize
236 # define PyBytes_FromStringAndSize py3_PyBytes_FromStringAndSize
235 # define PyFloat_FromDouble py3_PyFloat_FromDouble 237 # define PyFloat_FromDouble py3_PyFloat_FromDouble
236 # define PyFloat_AsDouble py3_PyFloat_AsDouble 238 # define PyFloat_AsDouble py3_PyFloat_AsDouble
237 # define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr 239 # define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr
238 # define PyType_Type (*py3_PyType_Type) 240 # define PyType_Type (*py3_PyType_Type)
239 # define PyStdPrinter_Type (*py3_PyStdPrinter_Type) 241 # define PyStdPrinter_Type (*py3_PyStdPrinter_Type)
392 # endif 394 # endif
393 static PyObject* (*py3_PyUnicode_AsEncodedString)(PyObject *unicode, const char* encoding, const char* errors); 395 static PyObject* (*py3_PyUnicode_AsEncodedString)(PyObject *unicode, const char* encoding, const char* errors);
394 static char* (*py3_PyBytes_AsString)(PyObject *bytes); 396 static char* (*py3_PyBytes_AsString)(PyObject *bytes);
395 static int (*py3_PyBytes_AsStringAndSize)(PyObject *bytes, char **buffer, Py_ssize_t *length); 397 static int (*py3_PyBytes_AsStringAndSize)(PyObject *bytes, char **buffer, Py_ssize_t *length);
396 static PyObject* (*py3_PyBytes_FromString)(char *str); 398 static PyObject* (*py3_PyBytes_FromString)(char *str);
399 static PyObject* (*py3_PyBytes_FromStringAndSize)(char *str, Py_ssize_t length);
397 static PyObject* (*py3_PyFloat_FromDouble)(double num); 400 static PyObject* (*py3_PyFloat_FromDouble)(double num);
398 static double (*py3_PyFloat_AsDouble)(PyObject *); 401 static double (*py3_PyFloat_AsDouble)(PyObject *);
399 static PyObject* (*py3_PyObject_GenericGetAttr)(PyObject *obj, PyObject *name); 402 static PyObject* (*py3_PyObject_GenericGetAttr)(PyObject *obj, PyObject *name);
400 static PyObject* (*py3_PyType_GenericAlloc)(PyTypeObject *type, Py_ssize_t nitems); 403 static PyObject* (*py3_PyType_GenericAlloc)(PyTypeObject *type, Py_ssize_t nitems);
401 static PyObject* (*py3_PyType_GenericNew)(PyTypeObject *type, PyObject *args, PyObject *kwds); 404 static PyObject* (*py3_PyType_GenericNew)(PyTypeObject *type, PyObject *args, PyObject *kwds);
557 # endif 560 # endif
558 # endif 561 # endif
559 {"PyBytes_AsString", (PYTHON_PROC*)&py3_PyBytes_AsString}, 562 {"PyBytes_AsString", (PYTHON_PROC*)&py3_PyBytes_AsString},
560 {"PyBytes_AsStringAndSize", (PYTHON_PROC*)&py3_PyBytes_AsStringAndSize}, 563 {"PyBytes_AsStringAndSize", (PYTHON_PROC*)&py3_PyBytes_AsStringAndSize},
561 {"PyBytes_FromString", (PYTHON_PROC*)&py3_PyBytes_FromString}, 564 {"PyBytes_FromString", (PYTHON_PROC*)&py3_PyBytes_FromString},
565 {"PyBytes_FromStringAndSize", (PYTHON_PROC*)&py3_PyBytes_FromStringAndSize},
562 {"PyFloat_FromDouble", (PYTHON_PROC*)&py3_PyFloat_FromDouble}, 566 {"PyFloat_FromDouble", (PYTHON_PROC*)&py3_PyFloat_FromDouble},
563 {"PyFloat_AsDouble", (PYTHON_PROC*)&py3_PyFloat_AsDouble}, 567 {"PyFloat_AsDouble", (PYTHON_PROC*)&py3_PyFloat_AsDouble},
564 {"PyObject_GenericGetAttr", (PYTHON_PROC*)&py3_PyObject_GenericGetAttr}, 568 {"PyObject_GenericGetAttr", (PYTHON_PROC*)&py3_PyObject_GenericGetAttr},
565 {"PyType_GenericAlloc", (PYTHON_PROC*)&py3_PyType_GenericAlloc}, 569 {"PyType_GenericAlloc", (PYTHON_PROC*)&py3_PyType_GenericAlloc},
566 {"PyType_GenericNew", (PYTHON_PROC*)&py3_PyType_GenericNew}, 570 {"PyType_GenericNew", (PYTHON_PROC*)&py3_PyType_GenericNew},
1678 case VAR_STRING: 1682 case VAR_STRING:
1679 case VAR_FLOAT: 1683 case VAR_FLOAT:
1680 case VAR_SPECIAL: 1684 case VAR_SPECIAL:
1681 case VAR_JOB: 1685 case VAR_JOB:
1682 case VAR_CHANNEL: 1686 case VAR_CHANNEL:
1687 case VAR_BLOB:
1683 break; 1688 break;
1684 } 1689 }
1685 } 1690 }
1686 1691
1687 int 1692 int