Mercurial > vim
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 |