[PATCH 11/13] manual: Fix compiler errors in filesrv example.
Collin Funk
collin.funk1@gmail.com
Sun Sep 28 22:46:04 GMT 2025
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.
---
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 <stdlib.h>
#include <sys/socket.h>
#include <sys/un.h>
+#include <unistd.h>
#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 */
--
2.51.0
More information about the Libc-alpha
mailing list