MCPcopy Create free account
hub / github.com/defold/defold / BuildInstanceName

Function BuildInstanceName

engine/dlib/src/dlib/mdns.cpp:371–393  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

369 }
370
371 static void BuildInstanceName(const char* full_name, const char* service_type_local, char* out, uint32_t out_size)
372 {
373 uint32_t full_name_len = (uint32_t) strlen(full_name);
374 uint32_t service_type_len = (uint32_t) strlen(service_type_local);
375
376 if (full_name_len > service_type_len + 1)
377 {
378 const char* suffix = full_name + full_name_len - service_type_len;
379 if (dmStrCaseCmp(suffix, service_type_local) == 0 && *(suffix - 1) == '.')
380 {
381 uint32_t instance_len = (uint32_t) (suffix - full_name - 1);
382 char escaped_instance[256];
383 if (instance_len >= out_size)
384 instance_len = out_size - 1;
385 memcpy(escaped_instance, full_name, instance_len);
386 escaped_instance[instance_len] = 0;
387 UnescapeDnsText(escaped_instance, out, out_size);
388 return;
389 }
390 }
391
392 UnescapeDnsText(full_name, out, out_size);
393 }
394
395 static bool ContainsAddress(const dmArray<dmSocket::Address>& addresses, dmSocket::Address address)
396 {

Callers 1

HandleBrowserRecordFunction · 0.85

Calls 2

dmStrCaseCmpFunction · 0.85
UnescapeDnsTextFunction · 0.85

Tested by

no test coverage detected