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) {
|
patty_ax25_params *params) {
|
||||||
if (params->flags & PATTY_AX25_PARAM_CLASSES) {
|
if (params->flags & PATTY_AX25_PARAM_CLASSES) {
|
||||||
if (!(params->classes & PATTY_AX25_PARAM_CLASSES_ABM)) {
|
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)) {
|
if (!(params->classes & PATTY_AX25_PARAM_CLASSES_HALF_DUPLEX)) {
|
||||||
goto error_invalid;
|
goto error_notsup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params->classes & PATTY_AX25_PARAM_CLASSES_FULL_DUPLEX) {
|
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;
|
return 0;
|
||||||
|
|
||||||
|
error_notsup:
|
||||||
|
errno = ENOTSUP;
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
|
||||||
error_invalid:
|
error_invalid:
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue