Correct NetworkStackWrapper::get_ip_address

Previous change that removed string-based APIs missed
`NetworkStackWrapper::get_ip_address`. Remove string-based method (which
is not overriding anything in `NetworkStack`) and add missing binary
form to implement `NetworkStack::get_ip_address`.
pull/12487/head
Kevin Bracey 2020-02-25 09:57:56 +02:00
parent 8f1bf967d3
commit 695e872202
1 changed files with 5 additions and 7 deletions

View File

@ -235,17 +235,15 @@ private:
}
public:
using NetworkStack::get_ip_address;
using NetworkStack::gethostbyname;
virtual const char *get_ip_address()
virtual nsapi_error_t get_ip_address(SocketAddress *address)
{
if (!_stack_api()->get_ip_address) {
return 0;
return NSAPI_ERROR_UNSUPPORTED;
}
static uint8_t buffer[sizeof(SocketAddress)];
SocketAddress *address = new (buffer) SocketAddress(_stack_api()->get_ip_address(_stack()));
return address->get_ip_address();
*address = SocketAddress(_stack_api()->get_ip_address(_stack()));
return *address ? NSAPI_ERROR_OK : NSAPI_ERROR_NO_ADDRESS;
}
virtual nsapi_error_t gethostbyname(const char *name, SocketAddress *address, nsapi_version_t version, const char *interface_name)