1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 #define NIM_EmulateOverflowChecks
4
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct NimStringDesc NimStringDesc;
23 typedef struct TGenericSeq TGenericSeq;
24 struct TGenericSeq {
25 NI len;
26 NI reserved;
27 };
28 struct NimStringDesc {
29 TGenericSeq Sup;
30 NIM_CHAR data[SEQ_DECL_SIZE];
31 };
32 N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
33 N_LIB_PRIVATE N_NIMCALL(void, addEscaped__pureZxmltree_461)(NimStringDesc** result, NimStringDesc* s);
34 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
35 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
36 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
37 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
38 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
39 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
40 STRING_LITERAL(TM__qYyKc6OpDWHHaBXL9bX9aQ2A_2, "<", 4);
41 STRING_LITERAL(TM__qYyKc6OpDWHHaBXL9bX9aQ2A_3, ">", 4);
42 STRING_LITERAL(TM__qYyKc6OpDWHHaBXL9bX9aQ2A_4, "&", 5);
43 STRING_LITERAL(TM__qYyKc6OpDWHHaBXL9bX9aQ2A_5, """, 6);
44 STRING_LITERAL(TM__qYyKc6OpDWHHaBXL9bX9aQ2A_6, "'", 6);
N_INLINE(void,nimCopyMem)45 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
46 void* T1_;
47 T1_ = (void*)0;
48 T1_ = memcpy(dest, source, ((size_t) (size)));
49 }
N_INLINE(void,copyMem__system_1727)50 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
51 nimCopyMem(dest, source, size);
52 }
N_INLINE(void,appendString)53 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
54 {
55 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
56 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
57 (*dest).Sup.len += (*src).Sup.len;
58 }
59 LA3_: ;
60 }
N_NIMCALL(void,addEscaped__pureZxmltree_461)61 N_LIB_PRIVATE N_NIMCALL(void, addEscaped__pureZxmltree_461)(NimStringDesc** result, NimStringDesc* s) {
62 {
63 NIM_CHAR c;
64 NI i;
65 NI L;
66 c = (NIM_CHAR)0;
67 i = ((NI) 0);
68 L = (s ? s->Sup.len : 0);
69 {
70 while (1) {
71 if (!(i < L)) goto LA3;
72 c = s->data[i];
73 switch (((NU8)(c))) {
74 case 60:
75 {
76 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 4));
77 appendString((*result), ((NimStringDesc*) &TM__qYyKc6OpDWHHaBXL9bX9aQ2A_2));
78 }
79 break;
80 case 62:
81 {
82 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 4));
83 appendString((*result), ((NimStringDesc*) &TM__qYyKc6OpDWHHaBXL9bX9aQ2A_3));
84 }
85 break;
86 case 38:
87 {
88 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 5));
89 appendString((*result), ((NimStringDesc*) &TM__qYyKc6OpDWHHaBXL9bX9aQ2A_4));
90 }
91 break;
92 case 34:
93 {
94 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 6));
95 appendString((*result), ((NimStringDesc*) &TM__qYyKc6OpDWHHaBXL9bX9aQ2A_5));
96 }
97 break;
98 case 39:
99 {
100 unsureAsgnRef((void**) (&(*result)), resizeString((*result), 6));
101 appendString((*result), ((NimStringDesc*) &TM__qYyKc6OpDWHHaBXL9bX9aQ2A_6));
102 }
103 break;
104 default:
105 {
106 unsureAsgnRef((void**) (&(*result)), addChar((*result), c));
107 }
108 break;
109 }
110 i += ((NI) 1);
111 } LA3: ;
112 }
113 }
114 }
N_NIMCALL(NimStringDesc *,escape__pureZxmltree_465)115 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escape__pureZxmltree_465)(NimStringDesc* s) {
116 NimStringDesc* result;
117 result = NIM_NIL;
118 result = rawNewString(((NI) ((s ? s->Sup.len : 0))));
119 addEscaped__pureZxmltree_461((&result), s);
120 return result;
121 }
122