[PATCH] Use int instead of socklen_t
- From
Junio C Hamano <junkio@cox.net>
- Date
- Sep 11, 2005, 21:01 UTC
- Message-ID
- <7v8xy3qpyh.fsf_-_@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.58.0509111100260.3242@g5.osdl.org>
This should work around the compilation problem Johannes Schindelin and others had on Mac OS/X.
Quoting Linus:
Any operating system where socklen_t is anything else than
"int" is terminally broken. The people who introduced that
typedef were confused, and I actually had to argue with them
that it was fundamentally wrong: there is no other valid
type than "int" that makes sense for it.Signed-off-by: Junio C Hamano <junkio@cox.net> ---
Linus Torvalds <torvalds@osdl.org> writes:
> On Sun, 11 Sep 2005, Junio C Hamano wrote:
>> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>>
>> > I have three fixes in my personal tree without which git refuses to
>> > compile:
>> >
>> > - daemon.c needs a define or typedef for socklen_t.
>>
>> I still keep that patch around (the patch was end of July), but
>> have not touched it only because I did not hear from you asking
>> about its inclusion.
>
> Side note: one simple solution for "socklen_t" is to just replace it with
> "int".daemon.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
def13dbdb962069f4cb22e3d72483ae443bda6cf
diff --git a/daemon.c b/daemon.c --- a/daemon.c +++ b/daemon.c @@ -80,11 +80,11 @@ static unsigned int children_deleted = 0 static struct child { pid_t pid; - socklen_t addrlen; + int addrlen; struct sockaddr_storage address; } live_child[MAX_CHILDREN]; -static void add_child(int idx, pid_t pid, struct sockaddr *addr, socklen_t addrlen) +static void add_child(int idx, pid_t pid, struct sockaddr *addr, int addrlen) { live_child[idx].pid = pid; live_child[idx].addrlen = addrlen; @@ -178,7 +178,7 @@ static void check_max_connections(void) } } -static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen) +static void handle(int incoming, struct sockaddr *addr, int addrlen) { pid_t pid = fork(); @@ -308,7 +308,7 @@ static int serve(int port) if (FD_ISSET(sockfd, &fds)) { struct sockaddr_storage ss; - socklen_t sslen = sizeof(ss); + int sslen = sizeof(ss); int incoming = accept(sockfd, (struct sockaddr *)&ss, &sslen); if (incoming < 0) { switch (errno) {