mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-31 22:45:45 +00:00
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:
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user