Show More
@@ -24,6 +24,8 | |||||
24 | #include <stdlib.h> |
|
24 | #include <stdlib.h> | |
25 | #include <string.h> |
|
25 | #include <string.h> | |
26 |
|
26 | |||
|
27 | #include "util.h" | |||
|
28 | ||||
27 | /* Definitions to get compatibility with python 2.4 and earlier which |
|
29 | /* Definitions to get compatibility with python 2.4 and earlier which | |
28 | does not have Py_ssize_t. See also PEP 353. |
|
30 | does not have Py_ssize_t. See also PEP 353. | |
29 | Note: msvc (8 or earlier) does not have ssize_t, so we use Py_ssize_t. |
|
31 | Note: msvc (8 or earlier) does not have ssize_t, so we use Py_ssize_t. | |
@@ -373,12 +375,12 patches(PyObject *self, PyObject *args) | |||||
373 | result = NULL; |
|
375 | result = NULL; | |
374 | goto cleanup; |
|
376 | goto cleanup; | |
375 | } |
|
377 | } | |
376 |
result = Py |
|
378 | result = PyBytes_FromStringAndSize(NULL, outlen); | |
377 | if (!result) { |
|
379 | if (!result) { | |
378 | result = NULL; |
|
380 | result = NULL; | |
379 | goto cleanup; |
|
381 | goto cleanup; | |
380 | } |
|
382 | } | |
381 |
out = Py |
|
383 | out = PyBytes_AsString(result); | |
382 | if (!apply(out, in, inlen, patch)) { |
|
384 | if (!apply(out, in, inlen, patch)) { | |
383 | Py_DECREF(result); |
|
385 | Py_DECREF(result); | |
384 | result = NULL; |
|
386 | result = NULL; | |
@@ -435,10 +437,34 static PyMethodDef methods[] = { | |||||
435 | {NULL, NULL} |
|
437 | {NULL, NULL} | |
436 | }; |
|
438 | }; | |
437 |
|
439 | |||
|
440 | #ifdef IS_PY3K | |||
|
441 | static struct PyModuleDef mpatch_module = { | |||
|
442 | PyModuleDef_HEAD_INIT, | |||
|
443 | "mpatch", | |||
|
444 | mpatch_doc, | |||
|
445 | -1, | |||
|
446 | methods | |||
|
447 | }; | |||
|
448 | ||||
|
449 | PyMODINIT_FUNC PyInit_mpatch(void) | |||
|
450 | { | |||
|
451 | PyObject *m; | |||
|
452 | ||||
|
453 | m = PyModule_Create(&mpatch_module); | |||
|
454 | if (m == NULL) | |||
|
455 | return NULL; | |||
|
456 | ||||
|
457 | mpatch_Error = PyErr_NewException("mpatch.mpatchError", NULL, NULL); | |||
|
458 | Py_INCREF(mpatch_Error); | |||
|
459 | PyModule_AddObject(m, "mpatchError", mpatch_Error); | |||
|
460 | ||||
|
461 | return m; | |||
|
462 | } | |||
|
463 | #else | |||
438 | PyMODINIT_FUNC |
|
464 | PyMODINIT_FUNC | |
439 | initmpatch(void) |
|
465 | initmpatch(void) | |
440 | { |
|
466 | { | |
441 | Py_InitModule3("mpatch", methods, mpatch_doc); |
|
467 | Py_InitModule3("mpatch", methods, mpatch_doc); | |
442 | mpatch_Error = PyErr_NewException("mpatch.mpatchError", NULL, NULL); |
|
468 | mpatch_Error = PyErr_NewException("mpatch.mpatchError", NULL, NULL); | |
443 | } |
|
469 | } | |
444 |
|
470 | #endif |
General Comments 0
You need to be logged in to leave comments.
Login now