mirror of https://github.com/python/cpython
Use correct function name to PyArg_ParseTuple("is_package").
Fix off-by-1 error in normalize_line_endings(): when *p == '\0' the NUL was copied into q and q was auto-incremented, the loop was broken out of, then a newline was appended followed by a NUL. So the function, in effect, was strcpy() but added two extra chars which was caught by obmalloc in debug mode, since there was only room for 1 additional newline. Get test working under regrtest (added test_main).
This commit is contained in:
parent
946c19445c
commit
5c1ba53f8c
|
@ -186,6 +186,9 @@ class CompressedZipImportTestCase(UncompressedZipImportTestCase):
|
|||
compression = ZIP_DEFLATED
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
def test_main():
|
||||
test_support.run_unittest(UncompressedZipImportTestCase)
|
||||
test_support.run_unittest(CompressedZipImportTestCase)
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_main()
|
||||
|
|
|
@ -371,7 +371,7 @@ zipimporter_is_package(PyObject *obj, PyObject *args)
|
|||
char *fullname;
|
||||
enum module_info mi;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "s:zipimporter.find_module",
|
||||
if (!PyArg_ParseTuple(args, "s:zipimporter.is_package",
|
||||
&fullname))
|
||||
return NULL;
|
||||
|
||||
|
@ -947,7 +947,7 @@ normalize_line_endings(PyObject *source)
|
|||
return NULL;
|
||||
}
|
||||
/* replace "\r\n?" by "\n" */
|
||||
for (q = buf;;) {
|
||||
for (q = buf; *p != '\0'; p++) {
|
||||
if (*p == '\r') {
|
||||
*q++ = '\n';
|
||||
if (*(p + 1) == '\n')
|
||||
|
@ -955,9 +955,6 @@ normalize_line_endings(PyObject *source)
|
|||
}
|
||||
else
|
||||
*q++ = *p;
|
||||
if (*p == '\0')
|
||||
break;
|
||||
p++;
|
||||
}
|
||||
*q++ = '\n'; /* add trailing \n */
|
||||
*q = '\0';
|
||||
|
|
Loading…
Reference in New Issue