diff --git a/dll/msvcrt.cpp b/dll/msvcrt.cpp index 70fc370..44ebacb 100644 --- a/dll/msvcrt.cpp +++ b/dll/msvcrt.cpp @@ -19,13 +19,14 @@ namespace msvcrt { } int WIN_FUNC _initterm_e(const _PIFV *ppfn, const _PIFV *end) { - do { - if (_PIFV pfn = *++ppfn) { - if (int err = pfn()) + while (ppfn < end) { + _PIFV func = *ppfn++; + if (func) { + int err = func(); + if (err != 0) return err; } - } while (ppfn < end); - + } return 0; } }