Fix imp.cache_from_source() if the directory name contains a dot
If the directory name contains a dot but not the filename, don't strip at the
dot.
diff --git a/Python/import.c b/Python/import.c
index 3237ddc..e5cb627 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -943,12 +943,12 @@
Py_UNICODE_strcat(buf, CACHEDIR_UNICODE);
i += Py_UNICODE_strlen(CACHEDIR_UNICODE) - 1;
buf[i++] = sep;
- buf[i++] = '\0';
+ buf[i] = '\0';
/* Add the base filename, but remove the .py or .pyw extension, since
the tag name must go before the extension.
*/
Py_UNICODE_strcat(buf, pathname + save);
- pos = Py_UNICODE_strrchr(buf, '.');
+ pos = Py_UNICODE_strrchr(buf + i, '.');
if (pos != NULL)
*++pos = '\0';
Py_UNICODE_strcat(buf, PYC_TAG_UNICODE);