From e465aeed597ed504edf88183ec8ccf31fd5b0c56 Mon Sep 17 00:00:00 2001 From: Collin Funk Date: Sun, 28 Sep 2025 15:29:51 -0700 Subject: [PATCH] manual: Fix compiler errors in filesrv example. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously this file failed to compile with the following errors: $ gcc manual/examples/filesrv.c manual/examples/filesrv.c: In function ‘main’: manual/examples/filesrv.c:37:3: error: implicit declaration of function ‘unlink’ [-Wimplicit-function-declaration] 37 | unlink (SERVER); | ^~~~~~ manual/examples/filesrv.c:40:10: error: implicit declaration of function ‘make_named_socket’ [-Wimplicit-function-declaration] 40 | sock = make_named_socket (SERVER); | ^~~~~~~~~~~~~~~~~ manual/examples/filesrv.c:46:54: error: passing argument 6 of ‘recvfrom’ from incompatible pointer type [-Wincompatible-pointer-types] 46 | (struct sockaddr *) & name, &size); | ^~~~~ | | | size_t * {aka long unsigned int *} In file included from manual/examples/filesrv.c:21: /usr/include/sys/socket.h:165:48: note: expected ‘socklen_t * restrict’ {aka ‘unsigned int * restrict’} but argument is of type ‘size_t *’ {aka ‘long unsigned int *’} 165 | socklen_t *__restrict __addr_len); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ This patch fixes the missing declaration for unlink and uses 'socklen_t *' for the fourth argument of recv from. The make_named_socket function is defined in the manual. Reviewed-by: Adhemerval Zanella --- manual/examples/filesrv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manual/examples/filesrv.c b/manual/examples/filesrv.c index 09c80c5999..9b39350568 100644 --- a/manual/examples/filesrv.c +++ b/manual/examples/filesrv.c @@ -20,6 +20,7 @@ #include #include #include +#include #define SERVER "/tmp/serversocket" #define MAXMSG 512 @@ -30,7 +31,7 @@ main (void) int sock; char message[MAXMSG]; struct sockaddr_un name; - size_t size; + socklen_t size; int nbytes; /* Remove the filename first, it's ok if the call fails */