Improve patty_ax25_sock_params_set() validation
Changes: * Improve patty_ax25_sock_params_set() validation by setting ENOTSUP when setting options on a socket that don't make sense, such as no Asynchronous Balanced Mode
This commit is contained in:
parent
e90b5803bf
commit
1a87ac3858
1 changed files with 8 additions and 6 deletions
14
src/sock.c
14
src/sock.c
|
@ -183,18 +183,15 @@ int patty_ax25_sock_params_set(patty_ax25_sock *sock,
|
|||
patty_ax25_params *params) {
|
||||
if (params->flags & PATTY_AX25_PARAM_CLASSES) {
|
||||
if (!(params->classes & PATTY_AX25_PARAM_CLASSES_ABM)) {
|
||||
goto error_invalid;
|
||||
goto error_notsup;
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO: Eventually support full duplex
|
||||
*/
|
||||
if (!(params->classes & PATTY_AX25_PARAM_CLASSES_HALF_DUPLEX)) {
|
||||
goto error_invalid;
|
||||
goto error_notsup;
|
||||
}
|
||||
|
||||
if (params->classes & PATTY_AX25_PARAM_CLASSES_FULL_DUPLEX) {
|
||||
goto error_invalid;
|
||||
goto error_notsup;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -259,6 +256,11 @@ int patty_ax25_sock_params_set(patty_ax25_sock *sock,
|
|||
|
||||
return 0;
|
||||
|
||||
error_notsup:
|
||||
errno = ENOTSUP;
|
||||
|
||||
return -1;
|
||||
|
||||
error_invalid:
|
||||
errno = EINVAL;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue