diff --git a/include/openthread/dns.h b/include/openthread/dns.h index f38ca9ba8..a96478109 100644 --- a/include/openthread/dns.h +++ b/include/openthread/dns.h @@ -85,11 +85,11 @@ typedef struct otDnsQuery * @retval OT_ERROR_FAILED A response was received but status code is different than success. * */ -typedef void (*otDnsResponseHandler)(void * aContext, - const char * aHostname, - otIp6Address *aAddress, - uint32_t aTtl, - otError aResult); +typedef void (*otDnsResponseHandler)(void * aContext, + const char * aHostname, + const otIp6Address *aAddress, + uint32_t aTtl, + otError aResult); /** * This function sends a DNS query for AAAA (IPv6) record. diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index 183dbc05e..4781ac796 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -1078,23 +1078,26 @@ exit: } } -void Interpreter::HandleDnsResponse(void * aContext, - const char * aHostname, - otIp6Address *aAddress, - uint32_t aTtl, - otError aResult) +void Interpreter::HandleDnsResponse(void * aContext, + const char * aHostname, + const otIp6Address *aAddress, + uint32_t aTtl, + otError aResult) { - static_cast(aContext)->HandleDnsResponse(aHostname, *static_cast(aAddress), aTtl, - aResult); + static_cast(aContext)->HandleDnsResponse(aHostname, static_cast(aAddress), + aTtl, aResult); } -void Interpreter::HandleDnsResponse(const char *aHostname, Ip6::Address &aAddress, uint32_t aTtl, otError aResult) +void Interpreter::HandleDnsResponse(const char *aHostname, const Ip6::Address *aAddress, uint32_t aTtl, otError aResult) { mServer->OutputFormat("DNS response for %s - ", aHostname); if (aResult == OT_ERROR_NONE) { - OutputIp6Address(aAddress); + if (aAddress != NULL) + { + OutputIp6Address(*aAddress); + } mServer->OutputFormat(" TTL: %d\r\n", aTtl); } else diff --git a/src/cli/cli.hpp b/src/cli/cli.hpp index 1eddb5a02..c7c465a80 100644 --- a/src/cli/cli.hpp +++ b/src/cli/cli.hpp @@ -350,11 +350,11 @@ private: static void HandleDiagnosticGetResponse(otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext); #if OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE - static void HandleDnsResponse(void * aContext, - const char * aHostname, - otIp6Address *aAddress, - uint32_t aTtl, - otError aResult); + static void HandleDnsResponse(void * aContext, + const char * aHostname, + const otIp6Address *aAddress, + uint32_t aTtl, + otError aResult); #endif #if OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE @@ -368,7 +368,7 @@ private: void HandleLinkPcapReceive(const otRadioFrame *aFrame, bool aIsTx); void HandleDiagnosticGetResponse(Message &aMessage, const Ip6::MessageInfo &aMessageInfo); #if OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE - void HandleDnsResponse(const char *aHostname, Ip6::Address &aAddress, uint32_t aTtl, otError aResult); + void HandleDnsResponse(const char *aHostname, const Ip6::Address *aAddress, uint32_t aTtl, otError aResult); #endif #if OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE void HandleSntpResponse(uint64_t aTime, otError aResult); diff --git a/src/core/net/dns_client.cpp b/src/core/net/dns_client.cpp index a263134ac..60d6860ae 100644 --- a/src/core/net/dns_client.cpp +++ b/src/core/net/dns_client.cpp @@ -382,7 +382,7 @@ exit: void Client::FinalizeDnsTransaction(Message & aQuery, const QueryMetadata &aQueryMetadata, - otIp6Address * aAddress, + const otIp6Address * aAddress, uint32_t aTtl, otError aResult) { diff --git a/src/core/net/dns_client.hpp b/src/core/net/dns_client.hpp index fe18be348..1156d7760 100644 --- a/src/core/net/dns_client.hpp +++ b/src/core/net/dns_client.hpp @@ -206,7 +206,7 @@ private: Message *FindRelatedQuery(const Header &aResponseHeader, QueryMetadata &aQueryMetadata); void FinalizeDnsTransaction(Message & aQuery, const QueryMetadata &aQueryMetadata, - otIp6Address * aAddress, + const otIp6Address * aAddress, uint32_t aTtl, otError aResult);