Refactor frame_send() in src/sock.c
Refactor frame_send() in src/sock.c and usages thereof to pass a proto argument, rather than implicitly using the value of sock->proto
This commit is contained in:
parent
4befed8d45
commit
50c8a30915
1 changed files with 22 additions and 3 deletions
25
src/sock.c
25
src/sock.c
|
@ -509,6 +509,7 @@ error_invalid_type:
|
||||||
static ssize_t frame_send(patty_ax25_sock *sock,
|
static ssize_t frame_send(patty_ax25_sock *sock,
|
||||||
enum patty_ax25_frame_cr cr,
|
enum patty_ax25_frame_cr cr,
|
||||||
uint16_t control,
|
uint16_t control,
|
||||||
|
uint8_t proto,
|
||||||
void *info,
|
void *info,
|
||||||
size_t infolen) {
|
size_t infolen) {
|
||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
|
@ -547,7 +548,7 @@ static ssize_t frame_send(patty_ax25_sock *sock,
|
||||||
|
|
||||||
if (info && infolen) {
|
if (info && infolen) {
|
||||||
if (PATTY_AX25_FRAME_CONTROL_I(control)) {
|
if (PATTY_AX25_FRAME_CONTROL_I(control)) {
|
||||||
buf[offset++] = (uint8_t)sock->proto;
|
buf[offset++] = proto;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(buf + offset, info, infolen);
|
memcpy(buf + offset, info, infolen);
|
||||||
|
@ -628,6 +629,7 @@ ssize_t patty_ax25_sock_send_rr(patty_ax25_sock *sock,
|
||||||
return frame_send(sock,
|
return frame_send(sock,
|
||||||
cr,
|
cr,
|
||||||
control_s(sock, PATTY_AX25_FRAME_RR, pf),
|
control_s(sock, PATTY_AX25_FRAME_RR, pf),
|
||||||
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
@ -638,6 +640,7 @@ ssize_t patty_ax25_sock_send_rnr(patty_ax25_sock *sock,
|
||||||
return frame_send(sock,
|
return frame_send(sock,
|
||||||
cr,
|
cr,
|
||||||
control_s(sock, PATTY_AX25_FRAME_RNR, pf),
|
control_s(sock, PATTY_AX25_FRAME_RNR, pf),
|
||||||
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
@ -648,6 +651,7 @@ ssize_t patty_ax25_sock_send_rej(patty_ax25_sock *sock,
|
||||||
return frame_send(sock,
|
return frame_send(sock,
|
||||||
cr,
|
cr,
|
||||||
control_s(sock, PATTY_AX25_FRAME_REJ, pf),
|
control_s(sock, PATTY_AX25_FRAME_REJ, pf),
|
||||||
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
@ -657,6 +661,7 @@ ssize_t patty_ax25_sock_send_srej(patty_ax25_sock *sock,
|
||||||
return frame_send(sock,
|
return frame_send(sock,
|
||||||
cr,
|
cr,
|
||||||
control_s(sock, PATTY_AX25_FRAME_SREJ, 1),
|
control_s(sock, PATTY_AX25_FRAME_SREJ, 1),
|
||||||
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
@ -669,6 +674,7 @@ ssize_t patty_ax25_sock_send_sabm(patty_ax25_sock *sock, int pf) {
|
||||||
return frame_send(sock,
|
return frame_send(sock,
|
||||||
PATTY_AX25_FRAME_COMMAND,
|
PATTY_AX25_FRAME_COMMAND,
|
||||||
control_u(type, pf),
|
control_u(type, pf),
|
||||||
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
@ -677,6 +683,7 @@ ssize_t patty_ax25_sock_send_disc(patty_ax25_sock *sock, int pf) {
|
||||||
return frame_send(sock,
|
return frame_send(sock,
|
||||||
PATTY_AX25_FRAME_COMMAND,
|
PATTY_AX25_FRAME_COMMAND,
|
||||||
control_u(PATTY_AX25_FRAME_DISC, pf),
|
control_u(PATTY_AX25_FRAME_DISC, pf),
|
||||||
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
@ -715,6 +722,7 @@ ssize_t patty_ax25_sock_send_xid(patty_ax25_sock *sock,
|
||||||
return frame_send(sock,
|
return frame_send(sock,
|
||||||
cr,
|
cr,
|
||||||
control_u(PATTY_AX25_FRAME_XID, 0),
|
control_u(PATTY_AX25_FRAME_XID, 0),
|
||||||
|
0,
|
||||||
buf,
|
buf,
|
||||||
encoded);
|
encoded);
|
||||||
|
|
||||||
|
@ -730,6 +738,7 @@ ssize_t patty_ax25_sock_send_test(patty_ax25_sock *sock,
|
||||||
return frame_send(sock,
|
return frame_send(sock,
|
||||||
PATTY_AX25_FRAME_COMMAND,
|
PATTY_AX25_FRAME_COMMAND,
|
||||||
control_u(PATTY_AX25_FRAME_TEST, 1),
|
control_u(PATTY_AX25_FRAME_TEST, 1),
|
||||||
|
0,
|
||||||
info,
|
info,
|
||||||
infolen);
|
infolen);
|
||||||
}
|
}
|
||||||
|
@ -749,7 +758,12 @@ ssize_t patty_ax25_sock_write(patty_ax25_sock *sock,
|
||||||
case PATTY_AX25_SOCK_STREAM:
|
case PATTY_AX25_SOCK_STREAM:
|
||||||
control = control_i(sock, 0);
|
control = control_i(sock, 0);
|
||||||
|
|
||||||
if (frame_send(sock, PATTY_AX25_FRAME_COMMAND, control, buf, len) < 0) {
|
if (frame_send(sock,
|
||||||
|
PATTY_AX25_FRAME_COMMAND,
|
||||||
|
control,
|
||||||
|
sock->proto,
|
||||||
|
buf,
|
||||||
|
len) < 0) {
|
||||||
goto error_frame_send;
|
goto error_frame_send;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -760,7 +774,12 @@ ssize_t patty_ax25_sock_write(patty_ax25_sock *sock,
|
||||||
case PATTY_AX25_SOCK_DGRAM:
|
case PATTY_AX25_SOCK_DGRAM:
|
||||||
control = control_ui(0);
|
control = control_ui(0);
|
||||||
|
|
||||||
if (frame_send(sock, PATTY_AX25_FRAME_COMMAND, control, buf, len) < 0) {
|
if (frame_send(sock,
|
||||||
|
PATTY_AX25_FRAME_COMMAND,
|
||||||
|
control,
|
||||||
|
sock->proto,
|
||||||
|
buf,
|
||||||
|
len) < 0) {
|
||||||
goto error_frame_send;
|
goto error_frame_send;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue