summaryrefslogtreecommitdiffstats
path: root/Modules/cPickle.c
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2003-02-13 15:44:41 (GMT)
committerTim Peters <tim.peters@gmail.com>2003-02-13 15:44:41 (GMT)
commit8587b3c0730236dc007e8533c3cbfccd421fa381 (patch)
treee031741700152eb780af1071669c69f397402429 /Modules/cPickle.c
parentfe62bc917d1ab51fc591839b3c65589b268cad31 (diff)
downloadcpython-8587b3c0730236dc007e8533c3cbfccd421fa381.zip
cpython-8587b3c0730236dc007e8533c3cbfccd421fa381.tar.gz
cpython-8587b3c0730236dc007e8533c3cbfccd421fa381.tar.bz2
Added a HIGHEST_PROTOCOL module attribute to pickle and cPickle.
Diffstat (limited to 'Modules/cPickle.c')
-rw-r--r--Modules/cPickle.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index a9bbd36..17da7d7 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -15,7 +15,7 @@ PyDoc_STRVAR(cPickle_module_documentation,
#define WRITE_BUF_SIZE 256
/* Bump this when new opcodes are added to the pickle protocol. */
-#define CURRENT_PROTOCOL_NUMBER 2
+#define HIGHEST_PROTOCOL 2
/*
* Pickle opcodes. These must be kept in synch with pickle.py. Extensive
@@ -2743,11 +2743,11 @@ newPicklerobject(PyObject *file, int proto)
Picklerobject *self;
if (proto < 0)
- proto = CURRENT_PROTOCOL_NUMBER;
- if (proto > CURRENT_PROTOCOL_NUMBER) {
+ proto = HIGHEST_PROTOCOL;
+ if (proto > HIGHEST_PROTOCOL) {
PyErr_Format(PyExc_ValueError, "pickle protocol %d asked for; "
"the highest available protocol is %d",
- proto, CURRENT_PROTOCOL_NUMBER);
+ proto, HIGHEST_PROTOCOL);
return NULL;
}
@@ -4308,7 +4308,7 @@ load_proto(Unpicklerobject *self)
* int when chewing on 1 byte.
*/
assert(i >= 0);
- if (i <= CURRENT_PROTOCOL_NUMBER)
+ if (i <= HIGHEST_PROTOCOL)
return 0;
PyErr_Format(PyExc_ValueError, "unsupported pickle protocol: %d", i);
@@ -5562,6 +5562,10 @@ initcPickle(void)
}
Py_DECREF(di);
+ i = PyModule_AddIntConstant(m, "HIGHEST_PROTOCOL", HIGHEST_PROTOCOL);
+ if (i < 0)
+ return;
+
/* These are purely informational; no code uses them. */
/* File format version we write. */
format_version = PyString_FromString("2.0");