csources_v2/c_code/1_1/@m..@slib@spure@sbrowsers.nim.c
2022-12-16 10:54:01 +08:00

212 lines
7.7 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 32
#include "nimbase.h"
#include <string.h>
#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_: ;
}