From ddc6b356b577c7360cd8bdeab7e70b6a6e5ed8a8 Mon Sep 17 00:00:00 2001 From: Masakazu Kitajo Date: Fri, 17 Sep 2021 12:02:06 +0900 Subject: [PATCH 1/2] Change the function signature of safe_[get|set]sockopt The type of val argument for [get|set]sockopt is void*, but not char*. Some values don't fit into a char, and casting the pointer to char* causes compile error. --- include/tscore/ink_sock.h | 4 ++-- src/tscore/ink_sock.cc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/tscore/ink_sock.h b/include/tscore/ink_sock.h index ccfe341c21b..eb9756c1d6e 100644 --- a/include/tscore/ink_sock.h +++ b/include/tscore/ink_sock.h @@ -34,8 +34,8 @@ #include "tscore/ink_apidefs.h" -int safe_setsockopt(int s, int level, int optname, char *optval, int optlevel); -int safe_getsockopt(int s, int level, int optname, char *optval, int *optlevel); +int safe_setsockopt(int s, int level, int optname, void *optval, int optlevel); +int safe_getsockopt(int s, int level, int optname, void *optval, int *optlevel); int safe_bind(int s, struct sockaddr const *name, int namelen); int safe_listen(int s, int backlog); int safe_getsockname(int s, struct sockaddr *name, int *namelen); diff --git a/src/tscore/ink_sock.cc b/src/tscore/ink_sock.cc index 20332c45b2e..22d41170373 100644 --- a/src/tscore/ink_sock.cc +++ b/src/tscore/ink_sock.cc @@ -59,7 +59,7 @@ check_valid_sockaddr(sockaddr *sa, char *file, int line) #endif int -safe_setsockopt(int s, int level, int optname, char *optval, int optlevel) +safe_setsockopt(int s, int level, int optname, void *optval, int optlevel) { int r; do { @@ -69,7 +69,7 @@ safe_setsockopt(int s, int level, int optname, char *optval, int optlevel) } int -safe_getsockopt(int s, int level, int optname, char *optval, int *optlevel) +safe_getsockopt(int s, int level, int optname, void *optval, int *optlevel) { int r; do { From 0d8e9dd3b80ad37a174ec5f1a8cc08df75300269 Mon Sep 17 00:00:00 2001 From: Masakazu Kitajo Date: Tue, 28 Sep 2021 11:26:24 +0900 Subject: [PATCH 2/2] Add const --- include/tscore/ink_sock.h | 2 +- src/tscore/ink_sock.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/tscore/ink_sock.h b/include/tscore/ink_sock.h index eb9756c1d6e..b95ae8d97e4 100644 --- a/include/tscore/ink_sock.h +++ b/include/tscore/ink_sock.h @@ -34,7 +34,7 @@ #include "tscore/ink_apidefs.h" -int safe_setsockopt(int s, int level, int optname, void *optval, int optlevel); +int safe_setsockopt(int s, int level, int optname, const void *optval, int optlevel); int safe_getsockopt(int s, int level, int optname, void *optval, int *optlevel); int safe_bind(int s, struct sockaddr const *name, int namelen); int safe_listen(int s, int backlog); diff --git a/src/tscore/ink_sock.cc b/src/tscore/ink_sock.cc index 22d41170373..fa0c82dcfc2 100644 --- a/src/tscore/ink_sock.cc +++ b/src/tscore/ink_sock.cc @@ -59,7 +59,7 @@ check_valid_sockaddr(sockaddr *sa, char *file, int line) #endif int -safe_setsockopt(int s, int level, int optname, void *optval, int optlevel) +safe_setsockopt(int s, int level, int optname, const void *optval, int optlevel) { int r; do {