mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
number of tests, all because of the codecs/_multibytecodecs issue described here (it's not a Py3K issue, just something Py3K discovers): http://mail.python.org/pipermail/python-dev/2006-April/064051.html Hye-Shik Chang promised to look for a fix, so no need to fix it here. The tests that are expected to break are: test_codecencodings_cn test_codecencodings_hk test_codecencodings_jp test_codecencodings_kr test_codecencodings_tw test_codecs test_multibytecodec This merge fixes an actual test failure (test_weakref) in this branch, though, so I believe merging is the right thing to do anyway.
This commit is contained in:
parent
9ada3d6e29
commit
49fd7fa443
640 changed files with 52240 additions and 18408 deletions
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
typedef struct {
|
||||
PyObject_HEAD
|
||||
MD5_CTX md5; /* the context holder */
|
||||
md5_state_t md5; /* the context holder */
|
||||
} md5object;
|
||||
|
||||
static PyTypeObject MD5type;
|
||||
|
|
@ -31,7 +31,7 @@ newmd5object(void)
|
|||
if (md5p == NULL)
|
||||
return NULL;
|
||||
|
||||
MD5Init(&md5p->md5); /* actual initialisation */
|
||||
md5_init(&md5p->md5); /* actual initialisation */
|
||||
return md5p;
|
||||
}
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ md5_update(md5object *self, PyObject *args)
|
|||
if (!PyArg_ParseTuple(args, "s#:update", &cp, &len))
|
||||
return NULL;
|
||||
|
||||
MD5Update(&self->md5, cp, len);
|
||||
md5_append(&self->md5, cp, len);
|
||||
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
|
|
@ -73,12 +73,12 @@ arguments.");
|
|||
static PyObject *
|
||||
md5_digest(md5object *self)
|
||||
{
|
||||
MD5_CTX mdContext;
|
||||
md5_state_t mdContext;
|
||||
unsigned char aDigest[16];
|
||||
|
||||
/* make a temporary copy, and perform the final */
|
||||
mdContext = self->md5;
|
||||
MD5Final(aDigest, &mdContext);
|
||||
md5_finish(&mdContext, aDigest);
|
||||
|
||||
return PyString_FromStringAndSize((char *)aDigest, 16);
|
||||
}
|
||||
|
|
@ -94,14 +94,14 @@ including null bytes.");
|
|||
static PyObject *
|
||||
md5_hexdigest(md5object *self)
|
||||
{
|
||||
MD5_CTX mdContext;
|
||||
md5_state_t mdContext;
|
||||
unsigned char digest[16];
|
||||
unsigned char hexdigest[32];
|
||||
int i, j;
|
||||
|
||||
/* make a temporary copy, and perform the final */
|
||||
mdContext = self->md5;
|
||||
MD5Final(digest, &mdContext);
|
||||
md5_finish(&mdContext, digest);
|
||||
|
||||
/* Make hex version of the digest */
|
||||
for(i=j=0; i<16; i++) {
|
||||
|
|
@ -272,7 +272,7 @@ MD5_new(PyObject *self, PyObject *args)
|
|||
return NULL;
|
||||
|
||||
if (cp)
|
||||
MD5Update(&md5p->md5, cp, len);
|
||||
md5_append(&md5p->md5, cp, len);
|
||||
|
||||
return (PyObject *)md5p;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue