| 315 | } |
| 316 | |
| 317 | static void UnescapeDnsText(const char* value, char* out, uint32_t out_size) |
| 318 | { |
| 319 | if (out_size == 0) |
| 320 | return; |
| 321 | |
| 322 | if (value == 0) |
| 323 | { |
| 324 | out[0] = 0; |
| 325 | return; |
| 326 | } |
| 327 | |
| 328 | uint32_t out_len = 0; |
| 329 | const char* cursor = value; |
| 330 | while (*cursor && out_len + 1 < out_size) |
| 331 | { |
| 332 | char decoded = 0; |
| 333 | if (!DecodeEscapedChar(&cursor, &decoded)) |
| 334 | break; |
| 335 | out[out_len++] = decoded; |
| 336 | } |
| 337 | out[out_len] = 0; |
| 338 | } |
| 339 | |
| 340 | static void BuildLocalName(const char* value, char* out, uint32_t out_size) |
| 341 | { |
no test coverage detected