Fix GCC -Wsign-compare errors in the converted C modules

GCC enables -Wsign-compare with -Wall for C++ (clang does not), which
turned a few signed/unsigned comparisons in base64, netutils, server and
manager into errors; udp.cpp needed <ctime>.
This commit is contained in:
Max Lv
2026-10-15 00:34:30 +08:00
parent c69fb4c4d9
commit 6a1500ddd7
4 changed files with 9 additions and 9 deletions
+1 -1
View File
@@ -91,7 +91,7 @@ char *base64_encode(char *out, int out_size, const uint8_t *in, int in_size)
int i_shift = 0;
int bytes_remaining = in_size;
if (in_size >= UINT_MAX / 4 ||
if ((unsigned)in_size >= UINT_MAX / 4 ||
out_size < BASE64_SIZE(in_size))
return NULL;
ret = dst = out;
+6 -6
View File
@@ -605,7 +605,7 @@ get_server(char *buf, int len)
int valid = 1;
if (obj->type == json_object) {
int i = 0;
for (i = 0; i < obj->u.object.length; i++) {
for (i = 0; (unsigned int)i < obj->u.object.length; i++) {
char *name = obj->u.object.values[i].name;
json_value *value = obj->u.object.values[i].value;
if (strcmp(name, "server_port") == 0) {
@@ -699,7 +699,7 @@ parse_traffic(char *buf, int len, char *port, uint64_t *traffic)
if (obj->type == json_object) {
int i = 0;
for (i = 0; i < obj->u.object.length; i++) {
for (i = 0; (unsigned int)i < obj->u.object.length; i++) {
char *name = obj->u.object.values[i].name;
json_value *value = obj->u.object.values[i].value;
if (value->type == json_integer) {
@@ -1032,7 +1032,7 @@ manager_recv_cb(SS_P_ ss_io *w, int revents)
}
if (pos >= BUF_SIZE - entry_pos) {
if (sendto(manager->fd, buf, pos, 0, (struct sockaddr *)&claddr, len)
!= pos) {
!= (ssize_t)pos) {
ERROR("list_sendto");
}
memset(buf, 0, BUF_SIZE);
@@ -1045,7 +1045,7 @@ manager_recv_cb(SS_P_ ss_io *w, int revents)
strcpy(buf + (pos > 2 ? pos - 1 : 1), "\n]"); // Remove trailing ","
pos = strlen(buf);
if (sendto(manager->fd, buf, pos, 0, (struct sockaddr *)&claddr, len)
!= pos) {
!= (ssize_t)pos) {
ERROR("list_sendto");
}
} else if (strcmp(action, "remove") == 0) {
@@ -1107,7 +1107,7 @@ manager_recv_cb(SS_P_ ss_io *w, int revents)
goto ERROR_MSG;
}
if (sendto(manager->fd, buf, pos, 0, (struct sockaddr *)&claddr, len)
!= pos) {
!= (ssize_t)pos) {
ERROR("ping_sendto");
}
memset(buf, 0, BUF_SIZE);
@@ -1132,7 +1132,7 @@ manager_recv_cb(SS_P_ ss_io *w, int revents)
}
if (sendto(manager->fd, buf, pos, 0, (struct sockaddr *)&claddr, len)
!= pos) {
!= (ssize_t)pos) {
ERROR("ping_sendto");
}
}
+1 -1
View File
@@ -341,7 +341,7 @@ validate_hostname(const char *hostname, const int hostname_len)
int
is_ipv6only(ss_addr_t *servers, size_t server_num, int ipv6first)
{
int i;
size_t i;
for (i = 0; i < server_num; i++) {
struct sockaddr_storage storage;
memset(&storage, 0, sizeof(struct sockaddr_storage));
+1 -1
View File
@@ -226,7 +226,7 @@ stat_update_cb(SS_P_ ss_timer *watcher, int revents)
strncpy(svaddr.sun_path, manager_addr, sizeof(svaddr.sun_path) - 1);
if (sendto(sfd, resp, strlen(resp) + 1, 0, (struct sockaddr *)&svaddr,
sizeof(struct sockaddr_un)) != msgLen) {
sizeof(struct sockaddr_un)) != (ssize_t)msgLen) {
ERROR("stat_sendto");
ss_socket_close(sfd);
return;