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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
/* Generated by Nim Compiler v0.16.0 */
/* (c) 2017 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32
#include "nimbase.h"
#include <string.h>
#undef linux
typedef struct Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimObject TNimObject;
typedef struct TY_4eQHGndY6XBYpFOH09apV8Q TY_4eQHGndY6XBYpFOH09apV8Q;
typedef struct TY_UV3llMMYFckfui8YMBuUZA TY_UV3llMMYFckfui8YMBuUZA;
typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set;
typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0);
typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0);
struct TNimType {
NI size;
Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind;
Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY_ojoeKfW4VYIm36I9cpDTQIg marker;
TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, TY_T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct TNimObject {
TNimType* m_type;
};
typedef NU8 Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ;
struct Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw {
TNimObject Sup;
NI counter;
TY_4eQHGndY6XBYpFOH09apV8Q* data;
Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ mode;
};
struct TY_UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
struct TY_4eQHGndY6XBYpFOH09apV8Q {
TGenericSeq Sup;
TY_UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, nimGCvisit)(void* d0, NI op0);
static N_NIMCALL(void, T_61YBnzSZ9bYHqA2OqxFo2Eg_2)(void);
N_NIMCALL(void, nimRegisterGlobalMarker)(TY_T4eqaYlFJYZUv9aG9b1TV0bQ markerproc0);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space0);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap0);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0);
N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x0, NI len0);
static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0);
static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0);
Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* gcookies_ZEiWDv9cexkEMVa9a4srCISA;
extern TNimType NTI_pkhT5bYRU9ayIZ9cBuuCx4Xw;
static N_NIMCALL(void, T_61YBnzSZ9bYHqA2OqxFo2Eg_2)(void) {
nimGCvisit((void*)gcookies_ZEiWDv9cexkEMVa9a4srCISA, 0);
}
static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0) {
void* LOC1;
LOC1 = (void*)0;
LOC1 = memcpy(dest0, source0, ((size_t) (size0)));
}
static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) {
copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1)))));
(*dest0).Sup.len += (*src0).Sup.len;
}
N_NIMCALL(NimStringDesc*, encodeurl_eBf4DHjSqGA7qAZimsa9anQ)(NimStringDesc* s0) {
NimStringDesc* result0;
result0 = (NimStringDesc*)0;
result0 = rawNewString(((NI) ((NI)((s0 ? s0->Sup.len : 0) + (NI)((NU32)((s0 ? s0->Sup.len : 0)) >> (NU32)(((NI) 2)))))));
{
NI i_7IKRK7pbJ9cbu56OikDveHw;
NI HEX3Atmp_NWAb9bWlXnuZO8sT1DmwmyA;
NI res_Zg2jEBCHLhziu2DjMOpERQ;
i_7IKRK7pbJ9cbu56OikDveHw = (NI)0;
HEX3Atmp_NWAb9bWlXnuZO8sT1DmwmyA = (NI)0;
HEX3Atmp_NWAb9bWlXnuZO8sT1DmwmyA = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1));
res_Zg2jEBCHLhziu2DjMOpERQ = ((NI) 0);
{
while (1) {
if (!(res_Zg2jEBCHLhziu2DjMOpERQ <= HEX3Atmp_NWAb9bWlXnuZO8sT1DmwmyA)) goto LA3;
i_7IKRK7pbJ9cbu56OikDveHw = res_Zg2jEBCHLhziu2DjMOpERQ;
switch (((NU8)(s0->data[i_7IKRK7pbJ9cbu56OikDveHw]))) {
case 97 ... 122:
case 65 ... 90:
case 48 ... 57:
case 95:
{
result0 = addChar(result0, s0->data[i_7IKRK7pbJ9cbu56OikDveHw]);
}
break;
case 32:
{
result0 = addChar(result0, 43);
}
break;
default:
{
NimStringDesc* LOC7;
result0 = addChar(result0, 37);
LOC7 = (NimStringDesc*)0;
LOC7 = nsuToHex(((NI64) (((NU8)(s0->data[i_7IKRK7pbJ9cbu56OikDveHw])))), ((NI) 2));
result0 = resizeString(result0, LOC7->Sup.len + 0);
appendString(result0, LOC7);
}
break;
}
res_Zg2jEBCHLhziu2DjMOpERQ += ((NI) 1);
} LA3: ;
}
}
return result0;
}
NIM_EXTERNC N_NOINLINE(void, stdlib_cgiInit000)(void) {
nimRegisterGlobalMarker(T_61YBnzSZ9bYHqA2OqxFo2Eg_2);
}
NIM_EXTERNC N_NOINLINE(void, stdlib_cgiDatInit000)(void) {
}
|