1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
/* Generated by Nim Compiler v1.6.10 */
#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 NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef N_STDCALL_PTR(NI, tyProc__zKRRdAZhB37HYjlJgTxZRg) (NI hwnd, NI16* lpOperation, NI16* lpFile, NI16* lpParameters, NI16* lpDirectory, NI32 nShowCmd);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, openDefaultBrowserImpl__pureZbrowsers_9)(NimStringDesc* url);
N_LIB_PRIVATE N_NIMCALL(NI16*, newWideCString__systemZwidestrs_257)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prepare__pureZbrowsers_6)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1627)(NimStringDesc* s, NimStringDesc* sub);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absolutePath__pureZos_840)(NimStringDesc* path, NimStringDesc* root);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetCurrentDir)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
STRING_LITERAL(TM__CZNeKGdQ8AWxD1HSDIq5DQ_2, "browsers.nim(69, 12) `url.len > 0` URL must not be empty string", 63);
STRING_LITERAL(TM__CZNeKGdQ8AWxD1HSDIq5DQ_3, "open", 4);
STRING_LITERAL(TM__CZNeKGdQ8AWxD1HSDIq5DQ_4, "://", 3);
STRING_LITERAL(TM__CZNeKGdQ8AWxD1HSDIq5DQ_5, "file://", 7);
extern tyProc__zKRRdAZhB37HYjlJgTxZRg Dl_1291845933_;
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_1727)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
{
if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
(*dest).Sup.len += (*src).Sup.len;
}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prepare__pureZbrowsers_6)(NimStringDesc* s) {
NimStringDesc* result;
result = NIM_NIL;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = contains__pureZstrutils_1627(s, ((NimStringDesc*) &TM__CZNeKGdQ8AWxD1HSDIq5DQ_4));
if (!T3_) goto LA4_;
result = copyString(s);
}
goto LA1_;
LA4_: ;
{
NimStringDesc* T7_;
NimStringDesc* T8_;
NimStringDesc* T9_;
T7_ = NIM_NIL;
T8_ = NIM_NIL;
T8_ = nosgetCurrentDir();
T9_ = NIM_NIL;
T9_ = absolutePath__pureZos_840(s, T8_);
T7_ = rawNewString((T9_ ? T9_->Sup.len : 0) + 7);
appendString(T7_, ((NimStringDesc*) &TM__CZNeKGdQ8AWxD1HSDIq5DQ_5));
appendString(T7_, T9_);
result = T7_;
}
LA1_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, openDefaultBrowserImpl__pureZbrowsers_9)(NimStringDesc* url) {
NI16* o;
NI16* u;
NimStringDesc* T1_;
NI T2_;
o = newWideCString__systemZwidestrs_257(((NimStringDesc*) &TM__CZNeKGdQ8AWxD1HSDIq5DQ_3));
T1_ = NIM_NIL;
T1_ = prepare__pureZbrowsers_6(url);
u = newWideCString__systemZwidestrs_257(T1_);
T2_ = (NI)0;
T2_ = Dl_1291845933_(((NI) 0), o, u, ((NI16*) NIM_NIL), ((NI16*) NIM_NIL), ((NI32) 1));
(void)(T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, openDefaultBrowser__pureZbrowsers_13)(NimStringDesc* url) {
{
if (!!((((NI) 0) < (url ? url->Sup.len : 0)))) goto LA3_;
failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__CZNeKGdQ8AWxD1HSDIq5DQ_2));
}
LA3_: ;
openDefaultBrowserImpl__pureZbrowsers_9(url);
}
|