@@ -793,12 +793,15 @@ nsapi_error_t Nanostack::setsockopt(void *handle, int level, int optname, const
793
793
break ;
794
794
}
795
795
default :
796
- return NSAPI_ERROR_PARAMETER ;
796
+ return NSAPI_ERROR_UNSUPPORTED ;
797
797
}
798
798
}
799
799
800
- if (::socket_setsockopt (socket->socket_id , level, optname, optval, optlen) == 0 ) {
800
+ int retcode = ::socket_setsockopt (socket->socket_id , level, optname, optval, optlen);
801
+ if (retcode == 0 ) {
801
802
return NSAPI_ERROR_OK;
803
+ } else if (retcode == -2 ) {
804
+ return NSAPI_ERROR_UNSUPPORTED;
802
805
} else {
803
806
return NSAPI_ERROR_PARAMETER;
804
807
}
@@ -812,19 +815,19 @@ nsapi_error_t Nanostack::getsockopt(void *handle, int level, int optname, void *
812
815
return NSAPI_ERROR_NO_SOCKET;
813
816
}
814
817
815
- nsapi_error_t ret;
816
-
817
818
NanostackLockGuard lock;
818
819
819
820
uint16_t optlen16 = *optlen;
820
- if (::socket_getsockopt (socket->socket_id , level, optname, optval, &optlen16) == 0 ) {
821
- ret = NSAPI_ERROR_OK;
821
+
822
+ int retcode = ::socket_getsockopt (socket->socket_id , level, optname, optval, &optlen16);
823
+ if (retcode == 0 ) {
822
824
*optlen = optlen16;
825
+ return NSAPI_ERROR_OK;
826
+ } else if (retcode == -2 ) {
827
+ return NSAPI_ERROR_UNSUPPORTED;
823
828
} else {
824
- ret = NSAPI_ERROR_PARAMETER;
829
+ return NSAPI_ERROR_PARAMETER;
825
830
}
826
-
827
- return ret;
828
831
}
829
832
830
833
nsapi_error_t Nanostack::socket_listen (void *handle, int backlog)
0 commit comments