From 8fa8ee3970f095f47f045891afe118836280e551 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sat, 17 Aug 2013 00:48:02 +0300 Subject: [PATCH] Issue #18701: Remove support of old CPython versions (<3.0) from C code. --- Misc/NEWS | 2 ++ Modules/_ctypes/_ctypes.c | 24 ++---------------------- Modules/_sqlite/cache.c | 1 - Modules/_sqlite/connection.c | 1 - Modules/_sqlite/cursor.c | 1 - Modules/_sqlite/prepare_protocol.c | 1 - Modules/_sqlite/row.c | 1 - Modules/_sqlite/statement.c | 1 - Modules/_sre.c | 17 ----------------- Objects/stringlib/unicodedefs.h | 5 ----- PC/VS9.0/_sqlite3.vcproj | 4 ---- PCbuild/_sqlite3.vcxproj | 1 - PCbuild/_sqlite3.vcxproj.filters | 3 --- 13 files changed, 4 insertions(+), 58 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index 31f7b618f00..1c532f64e2c 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -28,6 +28,8 @@ Core and Builtins Library ------- +- Issue #18701: Remove support of old CPython versions (<3.0) from C code. + - Issue #18756: Improve error reporting in os.urandom() when the failure is due to something else than /dev/urandom not existing (for example, exhausting the file descriptor limit). diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 7c34f77a943..a93290e39cd 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -428,13 +428,7 @@ CDataType_from_buffer(PyObject *type, PyObject *args) StgDictObject *dict = PyType_stgdict(type); assert (dict); - if (!PyArg_ParseTuple(args, -#if (PY_VERSION_HEX < 0x02050000) - "O|i:from_buffer", -#else - "O|n:from_buffer", -#endif - &obj, &offset)) + if (!PyArg_ParseTuple(args, "O|n:from_buffer", &obj, &offset)) return NULL; if (-1 == PyObject_AsWriteBuffer(obj, &buffer, &buffer_len)) @@ -447,11 +441,7 @@ CDataType_from_buffer(PyObject *type, PyObject *args) } if (dict->size > buffer_len - offset) { PyErr_Format(PyExc_ValueError, -#if (PY_VERSION_HEX < 0x02050000) - "Buffer size too small (%d instead of at least %d bytes)", -#else "Buffer size too small (%zd instead of at least %zd bytes)", -#endif buffer_len, dict->size + offset); return NULL; } @@ -484,13 +474,7 @@ CDataType_from_buffer_copy(PyObject *type, PyObject *args) StgDictObject *dict = PyType_stgdict(type); assert (dict); - if (!PyArg_ParseTuple(args, -#if (PY_VERSION_HEX < 0x02050000) - "O|i:from_buffer", -#else - "O|n:from_buffer", -#endif - &obj, &offset)) + if (!PyArg_ParseTuple(args, "O|n:from_buffer", &obj, &offset)) return NULL; if (-1 == PyObject_AsReadBuffer(obj, (const void**)&buffer, &buffer_len)) @@ -504,11 +488,7 @@ CDataType_from_buffer_copy(PyObject *type, PyObject *args) if (dict->size > buffer_len - offset) { PyErr_Format(PyExc_ValueError, -#if (PY_VERSION_HEX < 0x02050000) - "Buffer size too small (%d instead of at least %d bytes)", -#else "Buffer size too small (%zd instead of at least %zd bytes)", -#endif buffer_len, dict->size + offset); return NULL; } diff --git a/Modules/_sqlite/cache.c b/Modules/_sqlite/cache.c index 3693363bb2a..3689a4e387c 100644 --- a/Modules/_sqlite/cache.c +++ b/Modules/_sqlite/cache.c @@ -21,7 +21,6 @@ * 3. This notice may not be removed or altered from any source distribution. */ -#include "sqlitecompat.h" #include "cache.h" #include diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c index f5e0428edf3..531516c277b 100644 --- a/Modules/_sqlite/connection.c +++ b/Modules/_sqlite/connection.c @@ -29,7 +29,6 @@ #include "cursor.h" #include "prepare_protocol.h" #include "util.h" -#include "sqlitecompat.h" #include "pythread.h" diff --git a/Modules/_sqlite/cursor.c b/Modules/_sqlite/cursor.c index 8f9bd699a6c..bf4bbb4a285 100644 --- a/Modules/_sqlite/cursor.c +++ b/Modules/_sqlite/cursor.c @@ -24,7 +24,6 @@ #include "cursor.h" #include "module.h" #include "util.h" -#include "sqlitecompat.h" PyObject* pysqlite_cursor_iternext(pysqlite_Cursor* self); diff --git a/Modules/_sqlite/prepare_protocol.c b/Modules/_sqlite/prepare_protocol.c index fc6887445e8..f2c85f9af6c 100644 --- a/Modules/_sqlite/prepare_protocol.c +++ b/Modules/_sqlite/prepare_protocol.c @@ -21,7 +21,6 @@ * 3. This notice may not be removed or altered from any source distribution. */ -#include "sqlitecompat.h" #include "prepare_protocol.h" int pysqlite_prepare_protocol_init(pysqlite_PrepareProtocol* self, PyObject* args, PyObject* kwargs) diff --git a/Modules/_sqlite/row.c b/Modules/_sqlite/row.c index b50658c220d..14c148e3109 100644 --- a/Modules/_sqlite/row.c +++ b/Modules/_sqlite/row.c @@ -23,7 +23,6 @@ #include "row.h" #include "cursor.h" -#include "sqlitecompat.h" void pysqlite_row_dealloc(pysqlite_Row* self) { diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c index 471a0676a83..36beef10a1f 100644 --- a/Modules/_sqlite/statement.c +++ b/Modules/_sqlite/statement.c @@ -27,7 +27,6 @@ #include "microprotocols.h" #include "prepare_protocol.h" #include "util.h" -#include "sqlitecompat.h" /* prototypes */ static int pysqlite_check_remaining_sql(const char* tail); diff --git a/Modules/_sre.c b/Modules/_sre.c index a6933e8abc2..41ed667a37e 100644 --- a/Modules/_sre.c +++ b/Modules/_sre.c @@ -70,10 +70,6 @@ static char copyright[] = /* enables copy/deepcopy handling (work in progress) */ #undef USE_BUILTIN_COPY -#if PY_VERSION_HEX < 0x01060000 -#define PyObject_DEL(op) PyMem_DEL((op)) -#endif - /* -------------------------------------------------------------------- */ #if defined(_MSC_VER) @@ -1993,10 +1989,8 @@ join_list(PyObject* list, PyObject* string) /* join list elements */ PyObject* joiner; -#if PY_VERSION_HEX >= 0x01060000 PyObject* function; PyObject* args; -#endif PyObject* result; joiner = PySequence_GetSlice(string, 0, 0); @@ -2008,7 +2002,6 @@ join_list(PyObject* list, PyObject* string) return joiner; } -#if PY_VERSION_HEX >= 0x01060000 function = PyObject_GetAttrString(joiner, "join"); if (!function) { Py_DECREF(joiner); @@ -2024,12 +2017,6 @@ join_list(PyObject* list, PyObject* string) result = PyObject_CallObject(function, args); Py_DECREF(args); /* also removes list */ Py_DECREF(function); -#else - result = call( - "string", "join", - PyTuple_Pack(2, list, joiner) - ); -#endif Py_DECREF(joiner); return result; @@ -2136,7 +2123,6 @@ error: } -#if PY_VERSION_HEX >= 0x02020000 static PyObject* pattern_finditer(PatternObject* pattern, PyObject* args, PyObject* kw) { @@ -2158,7 +2144,6 @@ pattern_finditer(PatternObject* pattern, PyObject* args, PyObject* kw) return iterator; } -#endif static PyObject* pattern_split(PatternObject* self, PyObject* args, PyObject* kw) @@ -2581,10 +2566,8 @@ static PyMethodDef pattern_methods[] = { pattern_split_doc}, {"findall", (PyCFunction) pattern_findall, METH_VARARGS|METH_KEYWORDS, pattern_findall_doc}, -#if PY_VERSION_HEX >= 0x02020000 {"finditer", (PyCFunction) pattern_finditer, METH_VARARGS|METH_KEYWORDS, pattern_finditer_doc}, -#endif {"scanner", (PyCFunction) pattern_scanner, METH_VARARGS|METH_KEYWORDS}, {"__copy__", (PyCFunction) pattern_copy, METH_NOARGS}, {"__deepcopy__", (PyCFunction) pattern_deepcopy, METH_O}, diff --git a/Objects/stringlib/unicodedefs.h b/Objects/stringlib/unicodedefs.h index 48d00eccd04..3db5629e11f 100644 --- a/Objects/stringlib/unicodedefs.h +++ b/Objects/stringlib/unicodedefs.h @@ -24,13 +24,8 @@ #define STRINGLIB_CHECK PyUnicode_Check #define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact -#if PY_VERSION_HEX < 0x03000000 -#define STRINGLIB_TOSTR PyObject_Unicode -#define STRINGLIB_TOASCII PyObject_Repr -#else #define STRINGLIB_TOSTR PyObject_Str #define STRINGLIB_TOASCII PyObject_ASCII -#endif #define STRINGLIB_WANT_CONTAINS_OBJ 1 diff --git a/PC/VS9.0/_sqlite3.vcproj b/PC/VS9.0/_sqlite3.vcproj index f7100f1c5fd..82c57ae25fd 100644 --- a/PC/VS9.0/_sqlite3.vcproj +++ b/PC/VS9.0/_sqlite3.vcproj @@ -554,10 +554,6 @@ RelativePath="..\..\Modules\_sqlite\row.h" > - - diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj index 392dad1a659..ed35d5bc0c3 100644 --- a/PCbuild/_sqlite3.vcxproj +++ b/PCbuild/_sqlite3.vcxproj @@ -243,7 +243,6 @@ - diff --git a/PCbuild/_sqlite3.vcxproj.filters b/PCbuild/_sqlite3.vcxproj.filters index 88e5fdbb9aa..dce77c96a80 100644 --- a/PCbuild/_sqlite3.vcxproj.filters +++ b/PCbuild/_sqlite3.vcxproj.filters @@ -30,9 +30,6 @@ Header Files - - Header Files - Header Files