MCPcopy Create free account
hub / github.com/Kitware/VTK / xmlSerializeHexCharRef

Function xmlSerializeHexCharRef

ThirdParty/libxml2/vtklibxml2/xmlsave.c:128–167  ·  view source on GitHub ↗

* * * Special escaping routines * * * ************************************************************************/

Source from the content-addressed store, hash-verified

126 * *
127 ************************************************************************/
128static unsigned char *
129xmlSerializeHexCharRef(unsigned char *out, int val) {
130 unsigned char *ptr;
131
132 *out++ = '&';
133 *out++ = '#';
134 *out++ = 'x';
135 if (val < 0x10) ptr = out;
136 else if (val < 0x100) ptr = out + 1;
137 else if (val < 0x1000) ptr = out + 2;
138 else if (val < 0x10000) ptr = out + 3;
139 else if (val < 0x100000) ptr = out + 4;
140 else ptr = out + 5;
141 out = ptr + 1;
142 while (val > 0) {
143 switch (val & 0xF) {
144 case 0: *ptr-- = '0'; break;
145 case 1: *ptr-- = '1'; break;
146 case 2: *ptr-- = '2'; break;
147 case 3: *ptr-- = '3'; break;
148 case 4: *ptr-- = '4'; break;
149 case 5: *ptr-- = '5'; break;
150 case 6: *ptr-- = '6'; break;
151 case 7: *ptr-- = '7'; break;
152 case 8: *ptr-- = '8'; break;
153 case 9: *ptr-- = '9'; break;
154 case 0xA: *ptr-- = 'A'; break;
155 case 0xB: *ptr-- = 'B'; break;
156 case 0xC: *ptr-- = 'C'; break;
157 case 0xD: *ptr-- = 'D'; break;
158 case 0xE: *ptr-- = 'E'; break;
159 case 0xF: *ptr-- = 'F'; break;
160 default: *ptr-- = '0'; break;
161 }
162 val >>= 4;
163 }
164 *out++ = ';';
165 *out = 0;
166 return(out);
167}
168
169/**
170 * xmlEscapeEntities:

Callers 2

xmlEscapeEntitiesFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected