A probléma egész biztosan a Lite-C runtime libjében gyökerezik.
Az fflush egyébként az msvcrt.dll-ben található, ha ez számít.Egész biztos nem. Az az fflush, amit Te használsz a Lite-C kódodból, és az az fflush, ami az msvcrt.dll-ben található, nem lehet azonos. Vagy ha mégis, akkor pont az a gond. Ugyanis nálad a "fhandle_n" típusa "var" (akármi legyen is az), míg az msvcrt.dll beli fflush "FILE*" típusú mutatót vár. Szerintem nézd meg, hogy van-e a Lite-C runtime libjében valami "file_flush" vagy hasonló nevű függvény, és használd azt. Szerintem ennek a wrappernek lenne a feladata, hogy a "var"-odat átkonvertálja "FILE*"-é és úgy átadja az igazi fflush-nak, hasonlóan a "file_open_write"-hoz. Vagy, ha ez a Lite-C simán engedi az msvcrt.dll függvényeinek hívását, akkor cseréld le a "file_open_write" hívást "fopen"-re, "file_str_write"-t "fprintf"-re, stb. és a "fhandle_n" legyen "FILE*" típusú. Mindenesetre ha ez a "var" típus egy int-et takar, mint ahogy sejtem, akkor tök egyértelmű, hogy azt pointerként átadva a fflush-nak fagyás az eredmény.