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, "&lt;", 4);
41 STRING_LITERAL(TM__qYyKc6OpDWHHaBXL9bX9aQ2A_3, "&gt;", 4);
42 STRING_LITERAL(TM__qYyKc6OpDWHHaBXL9bX9aQ2A_4, "&amp;", 5);
43 STRING_LITERAL(TM__qYyKc6OpDWHHaBXL9bX9aQ2A_5, "&quot;", 6);
44 STRING_LITERAL(TM__qYyKc6OpDWHHaBXL9bX9aQ2A_6, "&apos;", 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