From 9a02bce121fabee568957d99e2f4f59b99be16bd Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 5 Jul 2012 01:15:21 +0530 Subject: [PATCH] ... --- src/calibre/utils/icu.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/utils/icu.c b/src/calibre/utils/icu.c index f4d820bff4..8372669258 100644 --- a/src/calibre/utils/icu.c +++ b/src/calibre/utils/icu.c @@ -281,6 +281,7 @@ icu_Collator_span_contractions(icu_Collator *self, PyObject *args, PyObject *kwa size_t slen = 0; wchar_t *buf; UChar *s; + int32_t ret; if (!PyArg_ParseTuple(args, "Ui", &str, &span_type)) return NULL; @@ -295,11 +296,12 @@ icu_Collator_span_contractions(icu_Collator *self, PyObject *args, PyObject *kwa buf = (wchar_t*)calloc(slen*4 + 2, sizeof(wchar_t)); s = (UChar*)calloc(slen*4 + 2, sizeof(UChar)); if (buf == NULL || s == NULL) return PyErr_NoMemory(); - slen = PyUnicode_AsWideChar((PyUnicodeObject*)str, buf, slen); + PyUnicode_AsWideChar((PyUnicodeObject*)str, buf, slen); u_strFromWCS(s, slen*4+1, NULL, buf, slen, &status); - free(buf); free(s); - return Py_BuildValue("i", uset_span(self->contractions, s, slen, span_type)); + ret = uset_span(self->contractions, s, slen, span_type); + free(s); free(buf); + return Py_BuildValue("i", ret); } // }}}