Merge pull request #10410 from michalpasztamobica/nanostack_translate_sendmsg_errors

Nanostack: translate errors from sendmsg
pull/10503/head
Anna Bridge 2019-04-26 13:32:59 +01:00 committed by GitHub
commit 9f18456114
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 28 additions and 7 deletions

View File

@ -646,13 +646,34 @@ nsapi_size_or_error_t Nanostack::do_sendto(void *handle, const ns_address_t *add
* \return -5 Socket not connected
* \return -6 Packet too short (ICMP raw socket error).
* */
if (retcode == NS_EWOULDBLOCK) {
if (retcode >= 0) {
ret = retcode;
} else switch (retcode) {
case -1:
ret = NSAPI_ERROR_PARAMETER;
break;
case -2:
ret = NSAPI_ERROR_NO_MEMORY;
break;
case -3:
ret = NSAPI_ERROR_NO_ADDRESS;
break;
case -4:
ret = NSAPI_ERROR_BUSY;
break;
case -5:
ret = NSAPI_ERROR_NO_CONNECTION;
break;
case -6:
ret = NSAPI_ERROR_PARAMETER;
break;
case NS_EWOULDBLOCK:
ret = NSAPI_ERROR_WOULD_BLOCK;
} else if (retcode < 0) {
break;
default:
tr_error("socket_sendmsg: error=%d", retcode);
ret = NSAPI_ERROR_DEVICE_ERROR;
} else {
ret = retcode;
break;
}
out: