/* Generated by Nim Compiler v1.9.0 */ #define NIM_INTBITS 32 #include "nimbase.h" #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_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A; struct NimStrPayload { NI cap; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct NimStringV2 { NI len; NimStrPayload* p; }; struct tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A { NI bytes; NI16* data; }; typedef N_STDCALL_PTR(NI, tyProc__UI8KCxlXQHWT6J0VRUWTmA) (NI hwnd, NI16* lpOperation, NI16* lpFile, NI16* lpParameters, NI16* lpDirectory, NI32 nShowCmd); typedef NI16 tyUncheckedArray__Tyd4y3haUOOHTj71TPIRag[1]; N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_224)(NimStringV2 msg); N_LIB_PRIVATE N_NIMCALL(void, openDefaultBrowserImpl__pureZbrowsers_11)(NimStringV2 url); 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(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A, newWideCString__stdZwidestrs_287)(NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(NimStringV2, prepare__pureZbrowsers_8)(NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1809)(NimStringV2 s, NimStringV2 sub); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src); 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, absolutePath__stdZprivateZospaths50_378)(NimStringV2 path, NimStringV2 root); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetCurrentDir)(void); N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest); 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 const struct { NI cap; NIM_CHAR data[62+1]; } TM__CZNeKGdQ8AWxD1HSDIq5DQ_2 = { 62 | NIM_STRLIT_FLAG, "browsers.nim(75, 3) `url.len > 0` URL must not be empty string" }; static const NimStringV2 TM__CZNeKGdQ8AWxD1HSDIq5DQ_3 = {62, (NimStrPayload*)&TM__CZNeKGdQ8AWxD1HSDIq5DQ_2}; static const struct { NI cap; NIM_CHAR data[4+1]; } TM__CZNeKGdQ8AWxD1HSDIq5DQ_4 = { 4 | NIM_STRLIT_FLAG, "open" }; static const NimStringV2 TM__CZNeKGdQ8AWxD1HSDIq5DQ_5 = {4, (NimStrPayload*)&TM__CZNeKGdQ8AWxD1HSDIq5DQ_4}; static const struct { NI cap; NIM_CHAR data[3+1]; } TM__CZNeKGdQ8AWxD1HSDIq5DQ_6 = { 3 | NIM_STRLIT_FLAG, "://" }; static const NimStringV2 TM__CZNeKGdQ8AWxD1HSDIq5DQ_7 = {3, (NimStrPayload*)&TM__CZNeKGdQ8AWxD1HSDIq5DQ_6}; static const struct { NI cap; NIM_CHAR data[7+1]; } TM__CZNeKGdQ8AWxD1HSDIq5DQ_8 = { 7 | NIM_STRLIT_FLAG, "file://" }; static const NimStringV2 TM__CZNeKGdQ8AWxD1HSDIq5DQ_9 = {7, (NimStrPayload*)&TM__CZNeKGdQ8AWxD1HSDIq5DQ_8}; extern NIM_BOOL nimInErrorMode__system_3980; extern tyProc__UI8KCxlXQHWT6J0VRUWTmA Dl_1442840879_; 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_: ; } 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(NimStringV2, prepare__pureZbrowsers_8)(NimStringV2 s) { NimStringV2 result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = contains__pureZstrutils_1809(s, TM__CZNeKGdQ8AWxD1HSDIq5DQ_7); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; eqcopy___stdZassertions_16((&result), s); } goto LA1_; LA4_: ; { NimStringV2 colontmpD_; NimStringV2 colontmpD__2; NimStringV2 T8_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; T8_.len = 0; T8_.p = NIM_NIL; colontmpD_ = nosgetCurrentDir(); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; colontmpD__2 = absolutePath__stdZprivateZospaths50_378(s, colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; T8_ = rawNewString(colontmpD__2.len + 7); appendString((&T8_), TM__CZNeKGdQ8AWxD1HSDIq5DQ_9); appendString((&T8_), colontmpD__2); result = T8_; { LA7_:; } { eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } 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, openDefaultBrowserImpl__pureZbrowsers_11)(NimStringV2 url) { tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A o; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A u; NimStringV2 colontmpD_; NI16* T2_; NI16* T3_; NI T4_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)(&o), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); nimZeroMem((void*)(&u), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); colontmpD_.len = 0; colontmpD_.p = NIM_NIL; o = newWideCString__stdZwidestrs_287(TM__CZNeKGdQ8AWxD1HSDIq5DQ_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD_ = prepare__pureZbrowsers_8(url); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; u = newWideCString__stdZwidestrs_287(colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T2_ = (NI16*)0; T2_ = toWideCString__stdZwidestrs_41(o); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T3_ = (NI16*)0; T3_ = toWideCString__stdZwidestrs_41(u); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T4_ = (NI)0; T4_ = Dl_1442840879_(((NI)0), T2_, T3_, ((NI16*) NIM_NIL), ((NI16*) NIM_NIL), ((NI32)1)); (void)(T4_); { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___stdZwidestrs_6((&u)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___stdZwidestrs_6((&o)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, openDefaultBrowser__pureZbrowsers_15)(NimStringV2 url) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { if (!!((((NI)0) < url.len))) goto LA3_; failedAssertImpl__stdZassertions_224(TM__CZNeKGdQ8AWxD1HSDIq5DQ_3); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3_: ; openDefaultBrowserImpl__pureZbrowsers_11(url); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; }