Index: Python/sysmodule.c =================================================================== --- Python/sysmodule.c (revision 66049) +++ Python/sysmodule.c (working copy) @@ -1367,8 +1367,13 @@ return NULL; for (i = 0; ; i++) { p = wcschr(path, delim); - if (p == NULL) + if (p == NULL) { +#ifdef __OpenBSD__ + p = path + wcslen(path); /* End of string */ +#else p = wcschr(path, L'\0'); /* End of string */ +#endif /* __OpenBSD__ */ + } w = PyUnicode_FromWideChar(path, (Py_ssize_t)(p - path)); if (w == NULL) { Py_DECREF(v); Index: PC/getpathp.c =================================================================== --- PC/getpathp.c (revision 66049) +++ PC/getpathp.c (working copy) @@ -539,7 +539,11 @@ if (envpath) { wcscpy(buf, envpath); +#ifdef __OpenBSD__ + buf = buf + wcslen(buf); /* End of string */ +#else buf = wcschr(buf, L'\0'); +#endif /* __OpenBSD__ */ *buf++ = DELIM; } #ifdef MS_WINDOWS @@ -569,7 +573,11 @@ #else if (pythonhome == NULL) { wcscpy(buf, PYTHONPATH); +#ifdef __OpenBSD__ + buf = buf + wcslen(buf); /* End of string */ +#else buf = wcschr(buf, L'\0'); +#endif /* __OpenBSD__ */ } #endif /* MS_WINDOWS */ else { @@ -599,7 +607,11 @@ if (argv0_path) { *buf++ = DELIM; wcscpy(buf, argv0_path); +#ifdef __OpenBSD__ + buf = buf + wcslen(buf); /* End of string */ +#else buf = wcschr(buf, L'\0'); +#endif /* __OpenBSD__ */ } *buf = L'\0'; /* Now to pull one last hack/trick. If sys.prefix is