mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-02-21 09:51:50 +00:00
Fix return value of mdp_send()
This commit is contained in:
parent
5d9e3f1287
commit
67e3079aa3
@ -1149,14 +1149,12 @@ int app_mdp_ping(const struct cli_parsed *parsed, struct cli_context *context)
|
||||
*seq=sequence_number;
|
||||
write_uint64(&payload[4], gettime_ms());
|
||||
int r = mdp_send(mdp_sockfd, &mdp_header, payload, sizeof(payload));
|
||||
if (r<0){
|
||||
WARN_perror("mdp_send");
|
||||
}else{
|
||||
if (r != -1) {
|
||||
sequence_number++;
|
||||
tx_count++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Now look for replies until one second has passed, and print any replies
|
||||
with appropriate information as required */
|
||||
time_ms_t now = gettime_ms();
|
||||
@ -2397,10 +2395,8 @@ static int handle_pins(const struct cli_parsed *parsed, struct cli_context *UNUS
|
||||
len += sizeof(sid);
|
||||
}
|
||||
|
||||
if (!mdp_send(mdp_sock, &header, request_payload, len)){
|
||||
WHY_perror("mdp_send");
|
||||
if (mdp_send(mdp_sock, &header, request_payload, len) == -1)
|
||||
goto end;
|
||||
}
|
||||
|
||||
time_ms_t timeout=gettime_ms()+500;
|
||||
while(1){
|
||||
@ -2459,10 +2455,8 @@ int app_id_list(const struct cli_parsed *parsed, struct cli_context *context)
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (!mdp_send(mdp_sock, &header, request_payload, len)){
|
||||
WHY_perror("mdp_send");
|
||||
if (mdp_send(mdp_sock, &header, request_payload, len) == -1)
|
||||
goto end;
|
||||
}
|
||||
|
||||
const char *names[]={
|
||||
"sid"
|
||||
|
14
mdp_client.c
14
mdp_client.c
@ -71,8 +71,18 @@ int mdp_send(int socket, const struct mdp_header *header, const uint8_t *payload
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return send_message(socket, &addr, &data);
|
||||
ssize_t sent = send_message(socket, &addr, &data);
|
||||
if (sent == -1)
|
||||
return -1;
|
||||
if ((size_t)sent != sizeof *header + len)
|
||||
return WHYF("send_message(%d,%s,%s) returned %zd, expecting %zd",
|
||||
socket,
|
||||
alloca_socket_address(&addr),
|
||||
alloca_fragmented_data(&data),
|
||||
(size_t)sent,
|
||||
sizeof *header + len
|
||||
);
|
||||
return 0;
|
||||
}
|
||||
|
||||
ssize_t mdp_recv(int socket, struct mdp_header *header, uint8_t *payload, ssize_t max_len)
|
||||
|
@ -409,6 +409,11 @@ strbuf strbuf_append_socket_address(strbuf sb, const struct socket_address *addr
|
||||
return strbuf_append_sockaddr(sb, &addr->addr, addr->addrlen);
|
||||
}
|
||||
|
||||
strbuf strbuf_append_fragmented_data(strbuf sb, const struct fragmented_data *data)
|
||||
{
|
||||
return strbuf_append_iovec(sb, data->iov, data->fragment_count);
|
||||
}
|
||||
|
||||
strbuf strbuf_append_strftime(strbuf sb, const char *format, const struct tm *tm)
|
||||
{
|
||||
// First, try calling strftime(3) directly on the buffer in the strbuf, if there is one and it
|
||||
|
@ -143,6 +143,10 @@ struct socket_address;
|
||||
strbuf strbuf_append_socket_address(strbuf sb, const struct socket_address *addr);
|
||||
#define alloca_socket_address(addr) strbuf_str(strbuf_append_socket_address(strbuf_alloca(200), (addr)))
|
||||
|
||||
struct fragmented_data;
|
||||
strbuf strbuf_append_fragmented_data(strbuf sb, const struct fragmented_data *data);
|
||||
#define alloca_fragmented_data(data) strbuf_str(strbuf_append_fragmented_data(strbuf_alloca(200), (data)))
|
||||
|
||||
/* Append a strftime(3) string.
|
||||
* @author Andrew Bettison <andrew@servalproject.com>
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user