[Python-checkins] python/dist/src/Modules cPickle.c,2.150,2.151

loewis at users.sourceforge.net loewis at users.sourceforge.net
Tue Jul 27 07:22:36 CEST 2004


Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12675/Modules

Modified Files:
	cPickle.c 
Log Message:
Patch #995766: Keyword argument support in cPickle.


Index: cPickle.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/cPickle.c,v
retrieving revision 2.150
retrieving revision 2.151
diff -C2 -d -r2.150 -r2.151
*** cPickle.c	8 Jun 2004 18:52:52 -0000	2.150
--- cPickle.c	27 Jul 2004 05:22:33 -0000	2.151
***************
*** 2851,2861 ****
  
  static PyObject *
! get_Pickler(PyObject *self, PyObject *args)
  {
  	PyObject *file = NULL;
  	int proto = 0;
  
  	/* XXX
! 	 * The documented signature is Pickler(file, proto=0), but this
  	 * accepts Pickler() and Pickler(integer) too.  The meaning then
  	 * is clear as mud, undocumented, and not supported by pickle.py.
--- 2851,2862 ----
  
  static PyObject *
! get_Pickler(PyObject *self, PyObject *args, PyObject *kwds)
  {
+ 	static char *kwlist[] = {"file", "protocol", NULL};
  	PyObject *file = NULL;
  	int proto = 0;
  
  	/* XXX
! 	 * The documented signature is Pickler(file, protocol=0), but this
  	 * accepts Pickler() and Pickler(integer) too.  The meaning then
  	 * is clear as mud, undocumented, and not supported by pickle.py.
***************
*** 2866,2870 ****
  		PyErr_Clear();
  		proto = 0;
! 		if (!PyArg_ParseTuple(args, "O|i:Pickler", &file, &proto))
  			return NULL;
  	}
--- 2867,2872 ----
  		PyErr_Clear();
  		proto = 0;
! 		if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|i:Pickler",
! 			    kwlist, &file, &proto))
  			return NULL;
  	}
***************
*** 5378,5390 ****
   */
  
! /* dump(obj, file, proto=0). */
  static PyObject *
! cpm_dump(PyObject *self, PyObject *args)
  {
  	PyObject *ob, *file, *res = NULL;
  	Picklerobject *pickler = 0;
  	int proto = 0;
  
! 	if (!( PyArg_ParseTuple(args, "OO|i", &ob, &file, &proto)))
  		goto finally;
  
--- 5380,5394 ----
   */
  
! /* dump(obj, file, protocol=0). */
  static PyObject *
! cpm_dump(PyObject *self, PyObject *args, PyObject *kwds)
  {
+ 	static char *kwlist[] = {"obj", "file", "protocol", NULL};
  	PyObject *ob, *file, *res = NULL;
  	Picklerobject *pickler = 0;
  	int proto = 0;
  
! 	if (!( PyArg_ParseTupleAndKeywords(args, kwds, "OO|i", kwlist,
! 		   &ob, &file, &proto)))
  		goto finally;
  
***************
*** 5405,5417 ****
  
  
! /* dumps(obj, proto=0). */
  static PyObject *
! cpm_dumps(PyObject *self, PyObject *args)
  {
  	PyObject *ob, *file = 0, *res = NULL;
  	Picklerobject *pickler = 0;
  	int proto = 0;
  
! 	if (!( PyArg_ParseTuple(args, "O|i:dumps", &ob, &proto)))
  		goto finally;
  
--- 5409,5423 ----
  
  
! /* dumps(obj, protocol=0). */
  static PyObject *
! cpm_dumps(PyObject *self, PyObject *args, PyObject *kwds)
  {
+ 	static char *kwlist[] = {"obj", "protocol", NULL};
  	PyObject *ob, *file = 0, *res = NULL;
  	Picklerobject *pickler = 0;
  	int proto = 0;
  
! 	if (!( PyArg_ParseTupleAndKeywords(args, kwds, "O|i:dumps", kwlist,
! 		   &ob, &proto)))
  		goto finally;
  
***************
*** 5514,5519 ****
  
  static struct PyMethodDef cPickle_methods[] = {
!   {"dump",         (PyCFunction)cpm_dump,         METH_VARARGS,
!    PyDoc_STR("dump(object, file, proto=0) -- "
     "Write an object in pickle format to the given file.\n"
     "\n"
--- 5520,5525 ----
  
  static struct PyMethodDef cPickle_methods[] = {
!   {"dump",         (PyCFunction)cpm_dump,         METH_VARARGS | METH_KEYWORDS,
!    PyDoc_STR("dump(obj, file, protocol=0) -- "
     "Write an object in pickle format to the given file.\n"
     "\n"
***************
*** 5521,5526 ****
    },
  
!   {"dumps",        (PyCFunction)cpm_dumps,        METH_VARARGS,
!    PyDoc_STR("dumps(object, proto=0) -- "
     "Return a string containing an object in pickle format.\n"
     "\n"
--- 5527,5532 ----
    },
  
!   {"dumps",        (PyCFunction)cpm_dumps,        METH_VARARGS | METH_KEYWORDS,
!    PyDoc_STR("dumps(obj, protocol=0) -- "
     "Return a string containing an object in pickle format.\n"
     "\n"
***************
*** 5534,5539 ****
     PyDoc_STR("loads(string) -- Load a pickle from the given string")},
  
!   {"Pickler",      (PyCFunction)get_Pickler,      METH_VARARGS,
!    PyDoc_STR("Pickler(file, proto=0) -- Create a pickler.\n"
     "\n"
     "This takes a file-like object for writing a pickle data stream.\n"
--- 5540,5545 ----
     PyDoc_STR("loads(string) -- Load a pickle from the given string")},
  
!   {"Pickler",      (PyCFunction)get_Pickler,      METH_VARARGS | METH_KEYWORDS,
!    PyDoc_STR("Pickler(file, protocol=0) -- Create a pickler.\n"
     "\n"
     "This takes a file-like object for writing a pickle data stream.\n"



More information about the Python-checkins mailing list