[Python-checkins] CVS: python/dist/src/Modules _codecsmodule.c,2.9,2.10

M.-A. Lemburg lemburg@users.sourceforge.net
2001年9月20日 03:35:48 -0700


Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv17012/Modules
Modified Files:
	_codecsmodule.c 
Log Message:
Patch #435971: UTF-7 codec by Brian Quinlan.
Index: _codecsmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/_codecsmodule.c,v
retrieving revision 2.9
retrieving revision 2.10
diff -C2 -d -r2.9 -r2.10
*** _codecsmodule.c	2001年08月17日 18:39:25	2.9
--- _codecsmodule.c	2001年09月20日 10:35:46	2.10
***************
*** 125,128 ****
--- 125,144 ----
 
 static PyObject *
+ utf_7_decode(PyObject *self,
+ 	 PyObject *args)
+ {
+ const char *data;
+ int size;
+ const char *errors = NULL;
+ 
+ if (!PyArg_ParseTuple(args, "t#|z:utf_7_decode",
+ 			 &data, &size, &errors))
+ 	return NULL;
+ 
+ return codec_tuple(PyUnicode_DecodeUTF7(data, size, errors),
+ 		 size);
+ }
+ 
+ static PyObject *
 utf_8_decode(PyObject *self,
 	 PyObject *args)
***************
*** 383,386 ****
--- 399,426 ----
 
 static PyObject *
+ utf_7_encode(PyObject *self,
+ 	 PyObject *args)
+ {
+ PyObject *str, *v;
+ const char *errors = NULL;
+ 
+ if (!PyArg_ParseTuple(args, "O|z:utf_7_encode",
+ 			 &str, &errors))
+ 	return NULL;
+ 
+ str = PyUnicode_FromObject(str);
+ if (str == NULL)
+ 	return NULL;
+ v = codec_tuple(PyUnicode_EncodeUTF7(PyUnicode_AS_UNICODE(str),
+ 					 PyUnicode_GET_SIZE(str),
+ 0,
+ 0,
+ 					 errors),
+ 		 PyUnicode_GET_SIZE(str));
+ Py_DECREF(str);
+ return v;
+ }
+ 
+ static PyObject *
 utf_8_encode(PyObject *self,
 	 PyObject *args)
***************
*** 633,636 ****
--- 673,678 ----
 {"utf_8_encode",		utf_8_encode,			1},
 {"utf_8_decode",		utf_8_decode,			1},
+ {"utf_7_encode",		utf_7_encode,			1},
+ {"utf_7_decode",		utf_7_decode,			1},
 {"utf_16_encode",		utf_16_encode,			1},
 {"utf_16_le_encode",	utf_16_le_encode,		1},

AltStyle によって変換されたページ (->オリジナル) /