/* Generated by Nim Compiler v1.9.0 */ #define NIM_INTBITS 32 #include "nimbase.h" #include #include #include #include #include #undef LANGUAGE_C #undef MIPSEB #undef MIPSEL #undef PPC #undef R3000 #undef R4000 #undef i386 #undef linux #undef mips #undef near #undef far #undef powerpc #undef unix #define nimfr_(x, y) #define nimln_(x, y) typedef struct NimStrPayload NimStrPayload; typedef struct NimStringV2 NimStringV2; typedef struct tyObject_IOError__N09bhl56nRkUaUsonzshECg tyObject_IOError__N09bhl56nRkUaUsonzshECg; typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA; typedef struct Exception Exception; typedef struct RootObj RootObj; typedef struct TNimTypeV2 TNimTypeV2; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content tySequence__uB9b75OUPRENsBAu4AnoePA_Content; typedef struct tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A; typedef struct tyObject_EOFError__d9btBfCv6DANm6rubyJTljg tyObject_EOFError__d9btBfCv6DANm6rubyJTljg; typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ; typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content; typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA; struct NimStrPayload { NI cap; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct NimStringV2 { NI len; NimStrPayload* p; }; typedef N_STDCALL_PTR(unsigned int, tyProc__h8Aw7ZfCFoDOErV4ZZpsEA) (void); typedef N_STDCALL_PTR(NI32, tyProc__JQ9aO3SHJmfNBdx8TB2Hp9aQ) (unsigned int codepage); typedef struct { N_NIMCALL_PTR(void, ClP_0) (void* ClE_0); void* ClE_0; } tyProc__HzVCwACFYM9cx9aV62PdjtuA; typedef N_CLOSURE_PTR(void, TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_14) (void* ClE_0); typedef N_CLOSURE_PTR(void, TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_17) (void* ClE_0); struct TNimTypeV2 { void* destructor; NI size; NI16 align; NI16 depth; NU32* display; void* traceImpl; void* typeInfoV1; NI flags; }; struct RootObj { TNimTypeV2* m_type; }; struct tySequence__uB9b75OUPRENsBAu4AnoePA { NI len; tySequence__uB9b75OUPRENsBAu4AnoePA_Content* p; }; struct Exception { RootObj Sup; Exception* parent; NCSTRING name; NimStringV2 message; tySequence__uB9b75OUPRENsBAu4AnoePA trace; Exception* up; }; struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA { Exception Sup; }; struct tyObject_IOError__N09bhl56nRkUaUsonzshECg { tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup; }; typedef NU8 tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg; struct tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A { NI bytes; NI16* data; }; typedef NI16 tyUncheckedArray__Tyd4y3haUOOHTj71TPIRag[1]; typedef NCSTRING tyArray__vVEuDkYJYRa9c5i5k5FxKmw[5]; typedef N_STDCALL_PTR(NI32, tyProc__q54pnGq5V09aJPfifZaON9cQ) (int hConsoleInput, void* lpBuffer, NI32 nNumberOfCharsToRead, NI32* lpNumberOfCharsRead, void* pInputControl); typedef N_STDCALL_PTR(NI32, tyProc__9bXer9a4ps9aSGctILcxWReVw) (void); typedef N_STDCALL_PTR(NI32, tyProc__aO673xGTLLxou7P7GxoCXA) (NI32 dwFlags, void* lpSource, NI32 dwMessageId, NI32 dwLanguageId, void* lpBuffer, NI32 nSize, void* arguments); typedef N_STDCALL_PTR(void, tyProc__im9buRnIvptJfzdASYMEbBA) (void* p); struct tyObject_EOFError__d9btBfCv6DANm6rubyJTljg { tyObject_IOError__N09bhl56nRkUaUsonzshECg Sup; }; struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ { NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p; }; typedef NU8 tyEnum_FileSeekPos__9bTJB6D0CIMmNFgwvcGSE3Q; struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA { NCSTRING procname; NI line; NCSTRING filename; }; #ifndef tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP #define tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content { NI cap; tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif N_LIB_PRIVATE N_NIMCALL(void*, nimLoadLibrary)(NimStringV2 path); N_LIB_PRIVATE N_NIMCALL(void, nimLoadLibraryError)(NimStringV2 path); N_LIB_PRIVATE N_NIMCALL(void*, nimGetProcAddr)(void* lib, NCSTRING name); N_LIB_PRIVATE N_NIMCALL(void, addExitProc__stdZexitprocs_218)(tyProc__HzVCwACFYM9cx9aV62PdjtuA cl); N_LIB_PRIVATE N_NIMCALL(void, restoreConsoleOutputCP__stdZsyncio_603)(void); static N_INLINE(void, nimZeroMem)(void* p, NI size); static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size); static N_INLINE(NIM_BOOL*, nimErrorFlag)(void); N_LIB_PRIVATE N_NIMCALL(void, restoreConsoleCP__stdZsyncio_604)(void); N_LIB_PRIVATE N_NIMCALL(void, writeWindows__stdZsyncio_231)(FILE* f, NimStringV2 s, NIM_BOOL doRaise); static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s); N_LIB_PRIVATE N_NOINLINE(void, raiseEIO__stdZsyncio_107)(NimStringV2 msg); N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment); N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__stdZsyncio_528)(FILE** f, NimStringV2 filename, tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg mode, NI bufSize); N_LIB_PRIVATE N_NIMCALL(void*, fopen__stdZsyncio_501)(NCSTRING filename, NCSTRING mode); N_LIB_PRIVATE N_NIMCALL(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A, newWideCString__stdZwidestrs_281)(NCSTRING s); static N_INLINE(NI16*, toWideCString__stdZwidestrs_41)(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A x); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZwidestrs_6)(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A* a); static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src); static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size); static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size); N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isatty__stdZsyncio_335)(FILE* f); N_LIB_PRIVATE N_NIMCALL(int, getFileHandle__stdZsyncio_276)(FILE* f); N_LIB_PRIVATE N_NIMCALL(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A, newWideCString__stdZwidestrs_260)(NCSTRING source, NI L); N_LIB_PRIVATE N_NIMCALL(int, getOsFileHandle__stdZsyncio_279)(FILE* f); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___stdZwidestrs_356)(NI16* s); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_3)(NI x); N_LIB_PRIVATE N_NIMCALL(void, close__stdZsyncio_265)(FILE* f); N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZassertions_19)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s, NI newLen); static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s); N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_2301)(NimStringV2* s); static N_INLINE(NIM_BOOL, eqeq___system_7539)(NCSTRING x, NCSTRING y); N_LIB_PRIVATE N_NIMCALL(void, checkErr__stdZsyncio_153)(FILE* f); N_LIB_PRIVATE N_NIMCALL(NimStringV2, cstrToNimstr)(NCSTRING str); N_LIB_PRIVATE N_NIMCALL(NimStringV2, readAll__stdZsyncio_481)(FILE* file); N_LIB_PRIVATE N_NIMCALL(NI64, rawFileSize__stdZsyncio_464)(FILE* file); N_LIB_PRIVATE N_NIMCALL(NimStringV2, readAllFile__stdZsyncio_472)(FILE* file, NI64 len); N_NIMCALL(NimStringV2, mnewString)(NI len); N_LIB_PRIVATE N_NIMCALL(NI, readBuffer__stdZsyncio_156)(FILE* f, void* buffer, NI len); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endOfFile__stdZsyncio_468)(FILE* f); N_LIB_PRIVATE N_NIMCALL(NimStringV2, readAllBuffer__stdZsyncio_459)(FILE* file); N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen); N_NIMCALL(NimStringV2, rawNewString)(NI cap); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine__stdZsyncio_310)(FILE* f, NimStringV2* line); N_LIB_PRIVATE N_NOINLINE(void, raiseEOF__stdZsyncio_110)(void); N_LIB_PRIVATE N_NIMCALL(NI, writeBuffer__stdZsyncio_187)(FILE* f, void* buffer, NI len); N_LIB_PRIVATE N_NIMCALL(void, write__stdZsyncio_248)(FILE* f, NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, newSeq__pureZdynlib_76)(NI len); static const struct { NI cap; NIM_CHAR data[8+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_4 = { 8 | NIM_STRLIT_FLAG, "kernel32" }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_5 = {8, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_4}; static const struct { NI cap; NIM_CHAR data[8+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_6 = { 8 | NIM_STRLIT_FLAG, "kernel32" }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_7 = {8, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_6}; extern TNimTypeV2 NTIv2__N09bhl56nRkUaUsonzshECg_; static const struct { NI cap; NIM_CHAR data[27+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_18 = { 27 | NIM_STRLIT_FLAG, "cannot write string to file" }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_19 = {27, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_18}; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_20 = {27, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_18}; static const struct { NI cap; NIM_CHAR data[13+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_21 = { 13 | NIM_STRLIT_FLAG, "cannot open: " }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_22 = {13, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_21}; static const struct { NI cap; NIM_CHAR data[7+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_31 = { 7 | NIM_STRLIT_FLAG, "error: " }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_32 = {7, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_31}; static const struct { NI cap; NIM_CHAR data[2+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_33 = { 2 | NIM_STRLIT_FLAG, " `" }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_34 = {2, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_33}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_35 = { 1 | NIM_STRLIT_FLAG, "`" }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_36 = {1, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_35}; static const struct { NI cap; NIM_CHAR data[0+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_37 = { 0 | NIM_STRLIT_FLAG, "" }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_38 = {0, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_37}; static const struct { NI cap; NIM_CHAR data[7+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_39 = { 7 | NIM_STRLIT_FLAG, "errno: " }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_40 = {7, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_39}; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_41 = {2, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_33}; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_42 = {1, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_35}; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_43 = {0, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_37}; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_44 = {13, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_21}; extern TNimTypeV2 NTIv2__d9btBfCv6DANm6rubyJTljg_; static const struct { NI cap; NIM_CHAR data[11+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_45 = { 11 | NIM_STRLIT_FLAG, "EOF reached" }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_46 = {11, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_45}; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_47 = {13, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_21}; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_48 = {13, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_21}; static const struct { NI cap; NIM_CHAR data[24+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_49 = { 24 | NIM_STRLIT_FLAG, "cannot set file position" }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_50 = {24, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_49}; static const struct { NI cap; NIM_CHAR data[29+1]; } TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_51 = { 29 | NIM_STRLIT_FLAG, "cannot retrieve file position" }; static const NimStringV2 TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_52 = {29, (NimStrPayload*)&TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_51}; N_LIB_PRIVATE NIM_CONST tyArray__vVEuDkYJYRa9c5i5k5FxKmw FormatOpen__stdZsyncio_515 = {"rbN", "wbN", "w+bN", "r+bN", "abN"} ; N_LIB_PRIVATE unsigned int consoleOutputCP__stdZsyncio_601; static void* TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2; tyProc__h8Aw7ZfCFoDOErV4ZZpsEA Dl_503317078_; N_LIB_PRIVATE unsigned int consoleCP__stdZsyncio_602; tyProc__h8Aw7ZfCFoDOErV4ZZpsEA Dl_503317079_; tyProc__JQ9aO3SHJmfNBdx8TB2Hp9aQ Dl_503317074_; extern NIM_BOOL nimInErrorMode__system_3980; tyProc__JQ9aO3SHJmfNBdx8TB2Hp9aQ Dl_503317076_; tyProc__q54pnGq5V09aJPfifZaON9cQ Dl_503316798_; tyProc__9bXer9a4ps9aSGctILcxWReVw Dl_503316804_; tyProc__aO673xGTLLxou7P7GxoCXA Dl_503316805_; tyProc__im9buRnIvptJfzdASYMEbBA Dl_503316813_; N_LIB_PRIVATE N_NIMCALL(void, restoreConsoleOutputCP__stdZsyncio_603)(void) { NI32 T1_; T1_ = (NI32)0; T1_ = Dl_503317074_(consoleOutputCP__stdZsyncio_601); (void)(T1_); } static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) { void* T1_; T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size))); } static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) { NIM_BOOL* result; result = (NIM_BOOL*)0; result = (&nimInErrorMode__system_3980); return result; } static N_INLINE(void, nimZeroMem)(void* p, NI size) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimSetMem__systemZmemory_7(p, ((int)0), size); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, restoreConsoleCP__stdZsyncio_604)(void) { NI32 T1_; T1_ = (NI32)0; T1_ = Dl_503317076_(consoleCP__stdZsyncio_602); (void)(T1_); } N_LIB_PRIVATE N_NIMCALL(int, getFileHandle__stdZsyncio_276)(FILE* f) { int result; result = (int)0; result = _fileno(f); return result; } static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s) { NCSTRING result; result = (NCSTRING)0; { if (!(s.len == ((NI)0))) goto LA3_; result = ""; } goto LA1_; LA3_: ; { result = ((NCSTRING) ((*s.p).data)); } LA1_: ; return result; } N_LIB_PRIVATE N_NOINLINE(void, raiseEIO__stdZsyncio_107)(NimStringV2 msg) { tyObject_IOError__N09bhl56nRkUaUsonzshECg* T2_; NimStringV2 blitTmp; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); T2_ = NIM_NIL; T2_ = (tyObject_IOError__N09bhl56nRkUaUsonzshECg*) nimNewObj(sizeof(tyObject_IOError__N09bhl56nRkUaUsonzshECg), NIM_ALIGNOF(tyObject_IOError__N09bhl56nRkUaUsonzshECg)); (*T2_).Sup.Sup.Sup.m_type = (&NTIv2__N09bhl56nRkUaUsonzshECg_); (*T2_).Sup.Sup.name = "IOError"; blitTmp = msg; msg.len = 0; msg.p = NIM_NIL; (*T2_).Sup.Sup.message = blitTmp; (*T2_).Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T2_, "IOError", "raiseEIO", "syncio.nim", 158); goto LA1_; { LA1_:; } { eqdestroy___stdZassertions_13((&msg)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, writeWindows__stdZsyncio_231)(FILE* f, NimStringV2 s, NIM_BOOL doRaise) { int i; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); i = fprintf(f, "%s", nimToCStringConv(s)); { while (1) { if (!(i < ((NI32) (s.len)))) goto LA2 ; { int w; if (!((NU8)(s.p->data[i]) == (NU8)(0))) goto LA5_; w = fputc(0, f); { if (!!((w == ((NI32)0)))) goto LA9_; { if (!doRaise) goto LA13_; raiseEIO__stdZsyncio_107(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_19); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA13_: ; goto LA1; } LA9_: ; i += ((NI)1); } goto LA3_; LA5_: ; { int w_2; w_2 = fprintf(f, "%s", (&s.p->data[i])); { if (!(w_2 <= ((NI32)0))) goto LA18_; { if (!doRaise) goto LA22_; raiseEIO__stdZsyncio_107(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_20); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA22_: ; goto LA1; } LA18_: ; i += w_2; } LA3_: ; } LA2: ; } LA1: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, write__stdZsyncio_248)(FILE* f, NimStringV2 s) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); writeWindows__stdZsyncio_231(f, s, NIM_TRUE); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, flushFile__stdZsyncio_274)(FILE* f) { int T1_; T1_ = (int)0; T1_ = fflush(f); (void)(T1_); } static N_INLINE(NI16*, toWideCString__stdZwidestrs_41)(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A x) { NI16* result; result = (NI16*)0; result = x.data; return result; } N_LIB_PRIVATE N_NIMCALL(void*, fopen__stdZsyncio_501)(NCSTRING filename, NCSTRING mode) { void* result; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A f; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A m; NI16* T1_; NI16* T2_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (void*)0; nimZeroMem((void*)(&f), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); nimZeroMem((void*)(&m), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); f = newWideCString__stdZwidestrs_281(filename); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; m = newWideCString__stdZwidestrs_281(mode); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T1_ = (NI16*)0; T1_ = toWideCString__stdZwidestrs_41(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T2_ = (NI16*)0; T2_ = toWideCString__stdZwidestrs_41(m); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; result = _wfopen(T1_, T2_); eqdestroy___stdZwidestrs_6((&m)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___stdZwidestrs_6((&f)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__stdZsyncio_528)(FILE** f, NimStringV2 filename, tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg mode, NI bufSize) { NIM_BOOL result; void* p; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; p = fopen__stdZsyncio_501(nimToCStringConv(filename), FormatOpen__stdZsyncio_515[(mode)- 0]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { FILE* f2; if (!!((p == NIM_NIL))) goto LA3_; f2 = ((FILE*) (p)); result = NIM_TRUE; (*f) = ((FILE*) (p)); { NIM_BOOL T7_; int T11_; T7_ = (NIM_BOOL)0; T7_ = (((NI)0) < bufSize); if (!(T7_)) goto LA8_; T7_ = ((NU32)(((NU) (bufSize))) <= (NU32)(((NU)IL64(4294967295)))); LA8_: ; if (!T7_) goto LA9_; T11_ = (int)0; T11_ = setvbuf((*f), NIM_NIL, _IOFBF, ((size_t) (bufSize))); (void)(T11_); } goto LA5_; LA9_: ; { int T15_; if (!(bufSize == ((NI)0))) goto LA13_; T15_ = (int)0; T15_ = setvbuf((*f), NIM_NIL, _IONBF, ((size_t)0)); (void)(T15_); } goto LA5_; LA13_: ; LA5_: ; } LA3_: ; }BeforeRet_: ; return result; } static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) { void* T1_; T1_ = (void*)0; T1_ = memcpy(dest, source, ((size_t) (size))); } static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size) { nimCopyMem(dest, source, size); } static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) { { if (!(((NI)0) < src.len)) goto LA3_; copyMem__system_1719(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI)0)]))), ((NI) ((NI)(src.len + ((NI)1))))); (*dest).len += src.len; } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(FILE*, open__stdZsyncio_559)(NimStringV2 filename, tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg mode, NI bufSize) { FILE* result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (FILE*)0; { NIM_BOOL T3_; tyObject_IOError__N09bhl56nRkUaUsonzshECg* T6_; NimStringV2 T7_; T3_ = (NIM_BOOL)0; T3_ = open__stdZsyncio_528(&result, filename, mode, bufSize); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!!(T3_)) goto LA4_; T6_ = NIM_NIL; T6_ = (tyObject_IOError__N09bhl56nRkUaUsonzshECg*) nimNewObj(sizeof(tyObject_IOError__N09bhl56nRkUaUsonzshECg), NIM_ALIGNOF(tyObject_IOError__N09bhl56nRkUaUsonzshECg)); (*T6_).Sup.Sup.Sup.m_type = (&NTIv2__N09bhl56nRkUaUsonzshECg_); (*T6_).Sup.Sup.name = "IOError"; T7_.len = 0; T7_.p = NIM_NIL; T7_ = rawNewString(filename.len + 13); appendString((&T7_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_22); appendString((&T7_), filename); (*T6_).Sup.Sup.message = T7_; (*T6_).Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T6_, "IOError", "open", "syncio.nim", 766); goto BeforeRet_; } LA4_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isatty__stdZsyncio_335)(FILE* f) { NIM_BOOL result; int T1_; int T2_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; T1_ = (int)0; T1_ = getFileHandle__stdZsyncio_276(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T2_ = (int)0; T2_ = _isatty(T1_); result = !((T2_ == ((NI32)0))); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(int, getOsFileHandle__stdZsyncio_279)(FILE* f) { int result; int T1_; NI T2_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (int)0; T1_ = (int)0; T1_ = getFileHandle__stdZsyncio_276(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T2_ = (NI)0; T2_ = _get_osfhandle(T1_); result = ((int) (T2_)); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, close__stdZsyncio_265)(FILE* f) { { int T5_; if (!!((f == 0))) goto LA3_; T5_ = (int)0; T5_ = fclose(f); (void)(T5_); } LA3_: ; } static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = !(((*s).p == ((NimStrPayload*) NIM_NIL))); if (!(T3_)) goto LA4_; T3_ = ((NI)((*(*s).p).cap & ((NI)1073741824)) == ((NI)1073741824)); LA4_: ; if (!T3_) goto LA5_; nimPrepareStrMutationImpl__system_2301(s); } LA5_: ; } static N_INLINE(NIM_BOOL, eqeq___system_7539)(NCSTRING x, NCSTRING y) { NIM_BOOL result; result = (NIM_BOOL)0; { if (!(((void*) (x)) == ((void*) (y)))) goto LA3_; result = NIM_TRUE; } goto LA1_; LA3_: ; { NIM_BOOL T6_; T6_ = (NIM_BOOL)0; T6_ = (x == 0); if (T6_) goto LA7_; T6_ = (y == 0); LA7_: ; if (!T6_) goto LA8_; result = NIM_FALSE; } goto LA1_; LA8_: ; { int T11_; T11_ = (int)0; T11_ = strcmp(x, y); result = (T11_ == ((NI32)0)); } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, checkErr__stdZsyncio_153)(FILE* f) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { int T3_; NimStringV2 msg; NimStringV2 colontmpD_; NimStringV2 colontmpD__2; NimStringV2 T7_; NCSTRING T8_; NimStringV2 blitTmp; T3_ = (int)0; T3_ = ferror(f); if (!!((T3_ == ((NI32)0)))) goto LA4_; msg.len = 0; msg.p = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; T7_.len = 0; T7_.p = NIM_NIL; colontmpD_ = dollar___systemZdollars_3(((NI) (errno))); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T8_ = (NCSTRING)0; T8_ = strerror(errno); colontmpD__2 = cstrToNimstr(T8_); T7_ = rawNewString(colontmpD_.len + colontmpD__2.len + 10); appendString((&T7_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_40); appendString((&T7_), colontmpD_); appendString((&T7_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_41); appendString((&T7_), colontmpD__2); appendString((&T7_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_42); msg = T7_; clearerr(f); blitTmp = msg; msg.len = 0; msg.p = NIM_NIL; raiseEIO__stdZsyncio_107(blitTmp); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { LA6_:; } { eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___stdZassertions_13((&msg)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine__stdZsyncio_310)(FILE* f, NimStringV2* line) { NIM_BOOL result; NIM_BOOL oldNimErrFin6_; NI pos; NI sp; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; { NIM_BOOL T3_; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A buffer; NI32 numberOfCharsRead; NI16* T37_; NimStringV2 T38_; T3_ = (NIM_BOOL)0; T3_ = isatty__stdZsyncio_335(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; nimZeroMem((void*)(&buffer), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); numberOfCharsRead = ((NI32)0); buffer = newWideCString__stdZwidestrs_260("", ((NI)2048)); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { int T9_; NI32 T10_; NimStringV2 errorMsg; NimStringV2 colontmpD_; NI32 error; NI16* msgbuf; NimStringV2 T23_; T9_ = (int)0; T9_ = getOsFileHandle__stdZsyncio_279(f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T10_ = (NI32)0; T10_ = Dl_503316798_(T9_, ((void*) ((&buffer.data[((NI)0)]))), ((NI32)2048), (&numberOfCharsRead), NIM_NIL); if (!(T10_ == ((NI32)0))) goto LA11_; errorMsg.len = 0; errorMsg.p = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; error = Dl_503316804_(); msgbuf = (NI16*)0; { NI32 T16_; T16_ = (NI32)0; T16_ = Dl_503316805_(((NI32)4864), NIM_NIL, error, ((NI32)0), ((void*) (&msgbuf)), ((NI32)0), NIM_NIL); if (!!((T16_ == ((NI32)0)))) goto LA17_; errorMsg = dollar___stdZwidestrs_356(msgbuf); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; { if (!!((msgbuf == ((NI16*) NIM_NIL)))) goto LA21_; Dl_503316813_(((void*) (msgbuf))); } LA21_: ; } LA17_: ; T23_.len = 0; T23_.p = NIM_NIL; colontmpD_ = dollar___systemZdollars_3(((NI) (error))); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; T23_ = rawNewString(colontmpD_.len + errorMsg.len + 10); appendString((&T23_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_32); appendString((&T23_), colontmpD_); appendString((&T23_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_34); appendString((&T23_), errorMsg); appendString((&T23_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_36); raiseEIO__stdZsyncio_107(T23_); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; { LA13_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___stdZassertions_13((&errorMsg)); } if (NIM_UNLIKELY(*nimErr_)) goto LA6_; } LA11_: ; numberOfCharsRead -= ((NI)2); { NI32 i; NI32 res; i = (NI32)0; res = ((NI32)0); { while (1) { if (!(res < numberOfCharsRead)) goto LA28 ; i = res; { if (!(((NU16) (buffer.data[i])) == ((NU16)26))) goto LA31_; close__stdZsyncio_265(f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { if (!(i == ((NI32)0))) goto LA35_; eqsink___stdZassertions_19((&(*line)), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_38); result = NIM_FALSE; eqdestroy___stdZwidestrs_6((&buffer)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA35_: ; numberOfCharsRead = i; goto LA26; } LA31_: ; res += ((NI)1); } LA28: ; } } LA26: ; buffer.data[numberOfCharsRead] = ((NI16)0); T37_ = (NI16*)0; T37_ = toWideCString__stdZwidestrs_41(buffer); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T38_.len = 0; T38_.p = NIM_NIL; T38_ = dollar___stdZwidestrs_356(T37_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; eqsink___stdZassertions_19((&(*line)), T38_); result = NIM_TRUE; eqdestroy___stdZwidestrs_6((&buffer)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA6_:; } { oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___stdZwidestrs_6((&buffer)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin6_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; pos = ((NI)0); sp = (((*line).len >= ((NI)80)) ? (*line).len : ((NI)80)); setLengthStrV2((&(*line)), ((NI) (sp))); { while (1) { NIM_BOOL fgetsSuccess; void* m; { NI i_2; NI i_3; i_2 = (NI)0; i_3 = ((NI)0); { while (1) { if (!(i_3 < sp)) goto LA45 ; i_2 = i_3; nimPrepareStrMutationV2((&(*line))); (*line).p->data[(NI)(pos + i_2)] = 10; i_3 += ((NI)1); } LA45: ; } } fgetsSuccess = (NIM_BOOL)0; { while (1) { { NCSTRING T49_; NIM_BOOL T50_; T49_ = (NCSTRING)0; T49_ = fgets(((NCSTRING) ((&(*line).p->data[pos]))), ((int) (sp)), f); T50_ = (NIM_BOOL)0; T50_ = eqeq___system_7539(T49_, ((NCSTRING) NIM_NIL)); fgetsSuccess = !(T50_); { if (!fgetsSuccess) goto LA53_; goto LA46; } LA53_: ; { if (!(errno == EINTR)) goto LA57_; errno = ((int)0); clearerr(f); goto LA48; } LA57_: ; checkErr__stdZsyncio_153(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto LA46; } LA48: ; } } LA46: ; m = memchr(((void*) ((&(*line).p->data[pos]))), ((int)10), ((size_t) (sp))); { NI last; NIM_BOOL T82_; if (!!((m == NIM_NIL))) goto LA61_; last = (NI)(((NI) (ptrdiff_t) (m)) - ((NI) (ptrdiff_t) ((&(*line).p->data[((NI)0)])))); { NIM_BOOL T65_; NIM_BOOL T69_; T65_ = (NIM_BOOL)0; T65_ = (((NI)0) < last); if (!(T65_)) goto LA66_; T65_ = ((NU8)((*line).p->data[(NI)(last - ((NI)1))]) == (NU8)(13)); LA66_: ; if (!T65_) goto LA67_; setLengthStrV2((&(*line)), ((NI) ((NI)(last - ((NI)1))))); T69_ = (NIM_BOOL)0; T69_ = (((NI)1) < last); if (T69_) goto LA70_; T69_ = fgetsSuccess; LA70_: ; result = T69_; goto BeforeRet_; } goto LA63_; LA67_: ; { NIM_BOOL T72_; T72_ = (NIM_BOOL)0; T72_ = (((NI)0) < last); if (!(T72_)) goto LA73_; T72_ = ((NU8)((*line).p->data[(NI)(last - ((NI)1))]) == (NU8)(0)); LA73_: ; if (!T72_) goto LA74_; { NIM_BOOL T78_; T78_ = (NIM_BOOL)0; T78_ = (last < (NI)((NI)(pos + sp) - ((NI)1))); if (!(T78_)) goto LA79_; T78_ = !(((NU8)((*line).p->data[(NI)(last + ((NI)1))]) == (NU8)(0))); LA79_: ; if (!T78_) goto LA80_; last -= ((NI)1); } LA80_: ; } goto LA63_; LA74_: ; LA63_: ; setLengthStrV2((&(*line)), ((NI) (last))); T82_ = (NIM_BOOL)0; T82_ = (((NI)0) < last); if (T82_) goto LA83_; T82_ = fgetsSuccess; LA83_: ; result = T82_; goto BeforeRet_; } goto LA59_; LA61_: ; { sp -= ((NI)1); } LA59_: ; pos += sp; sp = ((NI)128); setLengthStrV2((&(*line)), ((NI) ((NI)(pos + sp)))); } } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI64, rawFileSize__stdZsyncio_464)(FILE* file) { NI64 result; NI64 oldPos; int T1_; int T2_; result = (NI64)0; oldPos = ftell(file); T1_ = (int)0; T1_ = fseek(file, IL64(0), ((int)2)); (void)(T1_); result = ftell(file); T2_ = (int)0; T2_ = fseek(file, oldPos, ((int)0)); (void)(T2_); return result; } N_LIB_PRIVATE N_NIMCALL(NI, readBuffer__stdZsyncio_156)(FILE* f, void* buffer, NI len) { NI result; size_t T1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; T1_ = (size_t)0; T1_ = fread(buffer, ((size_t)1), ((size_t) (len)), f); result = ((NI) (T1_)); { if (!!((result == ((NI) (len))))) goto LA4_; checkErr__stdZsyncio_153(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endOfFile__stdZsyncio_468)(FILE* f) { NIM_BOOL result; int c; int T1_; { result = (NIM_BOOL)0; c = fgetc(f); T1_ = (int)0; T1_ = ungetc(c, f); (void)(T1_); result = (c < ((NI32)0)); goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringV2, readAllBuffer__stdZsyncio_459)(FILE* file) { NimStringV2 result; NimStringV2 buffer; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; buffer.len = 0; buffer.p = NIM_NIL; result = TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_43; buffer = mnewString(((NI)4000)); { while (1) { NI bytesRead; bytesRead = readBuffer__stdZsyncio_156(file, ((void*) ((&buffer.p->data[((NI)0)]))), ((NI)4000)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(bytesRead == ((NI)4000))) goto LA6_; prepareAdd((&result), buffer.len + 0); appendString((&result), buffer); } goto LA4_; LA6_: ; { setLengthStrV2((&buffer), ((NI) (bytesRead))); prepareAdd((&result), buffer.len + 0); appendString((&result), buffer); goto LA2; } LA4_: ; } } LA2: ; { LA1_:; } { eqdestroy___stdZassertions_13((&buffer)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringV2, readAllFile__stdZsyncio_472)(FILE* file, NI64 len) { NimStringV2 result; NI bytes; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; result = mnewString(((NI) (len))); bytes = readBuffer__stdZsyncio_156(file, ((void*) ((&result.p->data[((NI)0)]))), ((NI) (len))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = endOfFile__stdZsyncio_468(file); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; { if (!(((NI64) (bytes)) < len)) goto LA8_; setLengthStrV2((&result), ((NI) (bytes))); } LA8_: ; } goto LA1_; LA4_: ; { NimStringV2 colontmpD_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD_ = readAllBuffer__stdZsyncio_459(file); if (NIM_UNLIKELY(*nimErr_)) goto LA11_; prepareAdd((&result), colontmpD_.len + 0); appendString((&result), colontmpD_); { LA11_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringV2, readAll__stdZsyncio_481)(FILE* file) { NimStringV2 result; NI64 colontmpD_; NI64 colontmpD__2; NI64 len; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; colontmpD_ = (NI64)0; colontmpD__2 = (NI64)0; { if (!!((file == stdin))) goto LA3_; colontmpD_ = rawFileSize__stdZsyncio_464(file); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; len = colontmpD_; } goto LA1_; LA3_: ; { colontmpD__2 = IL64(-1); len = colontmpD__2; } LA1_: ; { if (!(IL64(0) < len)) goto LA8_; result = readAllFile__stdZsyncio_472(file, len); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA6_; LA8_: ; { result = readAllBuffer__stdZsyncio_459(file); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA6_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringV2, readFile__stdZsyncio_605)(NimStringV2 filename) { NimStringV2 result; FILE* f; NIM_BOOL oldNimErrFin6_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; f = ((FILE*) NIM_NIL); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = open__stdZsyncio_528(&f, filename, ((tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg)0), ((NI)-1)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; result = readAll__stdZsyncio_481(f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { LA6_:; } { oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE; close__stdZsyncio_265(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin6_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA4_: ; { tyObject_IOError__N09bhl56nRkUaUsonzshECg* T10_; NimStringV2 T11_; T10_ = NIM_NIL; T10_ = (tyObject_IOError__N09bhl56nRkUaUsonzshECg*) nimNewObj(sizeof(tyObject_IOError__N09bhl56nRkUaUsonzshECg), NIM_ALIGNOF(tyObject_IOError__N09bhl56nRkUaUsonzshECg)); (*T10_).Sup.Sup.Sup.m_type = (&NTIv2__N09bhl56nRkUaUsonzshECg_); (*T10_).Sup.Sup.name = "IOError"; T11_.len = 0; T11_.p = NIM_NIL; T11_ = rawNewString(filename.len + 13); appendString((&T11_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_44); appendString((&T11_), filename); (*T10_).Sup.Sup.message = T11_; (*T10_).Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T10_, "IOError", "readFile", "syncio.nim", 854); goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, readChars__stdZsyncio_168)(FILE* f, NIM_CHAR* a, NI aLen_0) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = readBuffer__stdZsyncio_156(f, ((void*) ((&a[((NI)0)]))), ((NI) (aLen_0))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NOINLINE(void, raiseEOF__stdZsyncio_110)(void) { tyObject_EOFError__d9btBfCv6DANm6rubyJTljg* T1_; { T1_ = NIM_NIL; T1_ = (tyObject_EOFError__d9btBfCv6DANm6rubyJTljg*) nimNewObj(sizeof(tyObject_EOFError__d9btBfCv6DANm6rubyJTljg), NIM_ALIGNOF(tyObject_EOFError__d9btBfCv6DANm6rubyJTljg)); (*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__d9btBfCv6DANm6rubyJTljg_); (*T1_).Sup.Sup.Sup.name = "EOFError"; (*T1_).Sup.Sup.Sup.message = TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_46; (*T1_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T1_, "EOFError", "raiseEOF", "syncio.nim", 161); goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NimStringV2, readLine__stdZsyncio_419)(FILE* f) { NimStringV2 result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; result = rawNewString(((NI)80)); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = readLine__stdZsyncio_310(f, (&result)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!!(T3_)) goto LA4_; raiseEOF__stdZsyncio_110(); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, writeBuffer__stdZsyncio_187)(FILE* f, void* buffer, NI len) { NI result; size_t T1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; T1_ = (size_t)0; T1_ = fwrite(buffer, ((size_t)1), ((size_t) (len)), f); result = ((NI) (T1_)); checkErr__stdZsyncio_153(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, readBytes__icZrodfiles_163)(FILE* f, NU8* a, NI aLen_0, NI start, NI len) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = readBuffer__stdZsyncio_156(f, ((void*) ((&a[start]))), len); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, writeBytes__icZrodfiles_127)(FILE* f, NU8* a, NI aLen_0, NI start, NI len) { NI result; NI8* x; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; x = ((NI8*) (a)); result = writeBuffer__stdZsyncio_187(f, ((void*) ((&x[start]))), len); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, writeFile__stdZsyncio_610)(NimStringV2 filename, NimStringV2 content) { FILE* f; NIM_BOOL oldNimErrFin6_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); f = ((FILE*) NIM_NIL); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = open__stdZsyncio_528(&f, filename, ((tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg)1), ((NI)-1)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; write__stdZsyncio_248(f, content); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { LA6_:; } { oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE; close__stdZsyncio_265(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin6_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA4_: ; { tyObject_IOError__N09bhl56nRkUaUsonzshECg* T10_; NimStringV2 T11_; T10_ = NIM_NIL; T10_ = (tyObject_IOError__N09bhl56nRkUaUsonzshECg*) nimNewObj(sizeof(tyObject_IOError__N09bhl56nRkUaUsonzshECg), NIM_ALIGNOF(tyObject_IOError__N09bhl56nRkUaUsonzshECg)); (*T10_).Sup.Sup.Sup.m_type = (&NTIv2__N09bhl56nRkUaUsonzshECg_); (*T10_).Sup.Sup.name = "IOError"; T11_.len = 0; T11_.p = NIM_NIL; T11_ = rawNewString(filename.len + 13); appendString((&T11_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_47); appendString((&T11_), filename); (*T10_).Sup.Sup.message = T11_; (*T10_).Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T10_, "IOError", "writeFile", "syncio.nim", 867); goto BeforeRet_; } LA1_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, readLines__stdZsyncio_628)(NimStringV2 filename, NI n) { tySequence__sM4lkSb7zS6F7OVMvW9cffQ result; FILE* f; NIM_BOOL oldNimErrFin6_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; f = ((FILE*) NIM_NIL); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = open__stdZsyncio_528(&f, filename, ((tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg)0), ((NI)-1)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; result = newSeq__pureZdynlib_76(n); { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)(((NI) (n)) - ((NI)1)); res = ((NI)0); { while (1) { if (!(res <= colontmp_)) goto LA9 ; i = res; { NIM_BOOL T12_; T12_ = (NIM_BOOL)0; T12_ = readLine__stdZsyncio_310(f, (&result.p->data[i])); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; if (!!(T12_)) goto LA13_; raiseEOF__stdZsyncio_110(); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; } LA13_: ; res += ((NI)1); } LA9: ; } } { LA6_:; } { oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE; close__stdZsyncio_265(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin6_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA4_: ; { tyObject_IOError__N09bhl56nRkUaUsonzshECg* T18_; NimStringV2 T19_; T18_ = NIM_NIL; T18_ = (tyObject_IOError__N09bhl56nRkUaUsonzshECg*) nimNewObj(sizeof(tyObject_IOError__N09bhl56nRkUaUsonzshECg), NIM_ALIGNOF(tyObject_IOError__N09bhl56nRkUaUsonzshECg)); (*T18_).Sup.Sup.Sup.m_type = (&NTIv2__N09bhl56nRkUaUsonzshECg_); (*T18_).Sup.Sup.name = "IOError"; T19_.len = 0; T19_.p = NIM_NIL; T19_ = rawNewString(filename.len + 13); appendString((&T19_), TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_48); appendString((&T19_), filename); (*T18_).Sup.Sup.message = T19_; (*T18_).Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T18_, "IOError", "readLines", "syncio.nim", 897); goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, setFilePos__stdZsyncio_565)(FILE* f, NI64 pos, tyEnum_FileSeekPos__9bTJB6D0CIMmNFgwvcGSE3Q relativeTo) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { int T3_; T3_ = (int)0; T3_ = fseek(f, pos, ((int) (relativeTo))); if (!!((T3_ == ((NI32)0)))) goto LA4_; raiseEIO__stdZsyncio_107(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_50); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NI64, getFilePos__stdZsyncio_581)(FILE* f) { NI64 result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI64)0; result = ftell(f); { if (!(result < IL64(0))) goto LA3_; raiseEIO__stdZsyncio_107(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_52); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, write__stdZsyncio_452)(FILE* f, NimStringV2* a, NI aLen_0) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { NimStringV2* x; NI i; x = (NimStringV2*)0; i = ((NI)0); { while (1) { if (!(i < aLen_0)) goto LA3 ; x = (&a[i]); write__stdZsyncio_248(f, (*x)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i += ((NI)1); } LA3: ; } } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatslibatsstdatssynciodotnim_Init000)(void) { { int T1_; int T2_; int T3_; NIM_BOOL* nimErr_; nimErr_ = nimErrorFlag(); T1_ = (int)0; T1_ = _fileno(stdin); _setmode(T1_, _O_BINARY); T2_ = (int)0; T2_ = _fileno(stdout); _setmode(T2_, _O_BINARY); T3_ = (int)0; T3_ = _fileno(stderr); _setmode(T3_, _O_BINARY); consoleOutputCP__stdZsyncio_601 = Dl_503317078_(); consoleCP__stdZsyncio_602 = Dl_503317079_(); { NI32 T8_; tyProc__HzVCwACFYM9cx9aV62PdjtuA T9_; if (!!((consoleOutputCP__stdZsyncio_601 == ((NU32)65001)))) goto LA6_; T8_ = (NI32)0; T8_ = Dl_503317074_(((NU32)65001)); (void)(T8_); nimZeroMem((void*)(&T9_), sizeof(tyProc__HzVCwACFYM9cx9aV62PdjtuA)); T9_.ClP_0 = ((TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_14) (restoreConsoleOutputCP__stdZsyncio_603)); T9_.ClE_0 = NIM_NIL; addExitProc__stdZexitprocs_218(T9_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA6_: ; { NI32 T14_; tyProc__HzVCwACFYM9cx9aV62PdjtuA T15_; if (!!((consoleCP__stdZsyncio_602 == ((NU32)65001)))) goto LA12_; T14_ = (NI32)0; T14_ = Dl_503317076_(((NU32)65001)); (void)(T14_); nimZeroMem((void*)(&T15_), sizeof(tyProc__HzVCwACFYM9cx9aV62PdjtuA)); T15_.ClP_0 = ((TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_17) (restoreConsoleCP__stdZsyncio_604)); T15_.ClE_0 = NIM_NIL; addExitProc__stdZexitprocs_218(T15_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA12_: ; BeforeRet_: ; } } N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatslibatsstdatssynciodotnim_DatInit000)(void) { if (!((TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2 = nimLoadLibrary(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_5)) )) nimLoadLibraryError(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_7); Dl_503317078_ = (tyProc__h8Aw7ZfCFoDOErV4ZZpsEA) nimGetProcAddr(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2, "GetConsoleOutputCP"); Dl_503317079_ = (tyProc__h8Aw7ZfCFoDOErV4ZZpsEA) nimGetProcAddr(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2, "GetConsoleCP"); Dl_503317074_ = (tyProc__JQ9aO3SHJmfNBdx8TB2Hp9aQ) nimGetProcAddr(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2, "SetConsoleOutputCP"); Dl_503317076_ = (tyProc__JQ9aO3SHJmfNBdx8TB2Hp9aQ) nimGetProcAddr(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2, "SetConsoleCP"); Dl_503316798_ = (tyProc__q54pnGq5V09aJPfifZaON9cQ) nimGetProcAddr(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2, "ReadConsoleW"); Dl_503316804_ = (tyProc__9bXer9a4ps9aSGctILcxWReVw) nimGetProcAddr(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2, "GetLastError"); Dl_503316805_ = (tyProc__aO673xGTLLxou7P7GxoCXA) nimGetProcAddr(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2, "FormatMessageW"); Dl_503316813_ = (tyProc__im9buRnIvptJfzdASYMEbBA) nimGetProcAddr(TM__xNF6mvRQ4Pd1hTNM9cEHXwQ_2, "LocalFree"); }