aports/community/networkmanager-l2tp/gcc14.patch

49 lines
2.0 KiB
Diff

Fix -Wincompatible-pointer-types error with gcc 14.
Error:
```
src/nm-l2tp-service.c: In function 'get_localaddr':
src/nm-l2tp-service.c:1921:27: error: passing argument 2 of 'connect' from
incompatible pointer type [-Wincompatible-pointer-types]
1921 | if (0 != connect (fd, &addr, sizeof(addr))) {
| ^~~~~
| |
| struct sockaddr_in *
In file included from /usr/include/fortify/sys/socket.h:23,
from src/nm-l2tp-service.c:32:
/usr/include/sys/socket.h:386:19: note: expected 'const struct sockaddr *' but
argument is of type 'struct sockaddr_in *'
386 | int connect (int, const struct sockaddr *, socklen_t);
| ^~~~~~~~~~~~~~~~~~~~~~~
src/nm-l2tp-service.c:1927:31: error: passing argument 2 of 'getsockname' from
incompatible pointer type [-Wincompatible-pointer-types]
1927 | if (0 != getsockname( fd, &addr, &alen)) {
| ^~~~~
| |
| struct sockaddr_in *
/usr/include/sys/socket.h:391:23: note: expected 'struct sockaddr * restrict'
but argument is of type 'struct sockaddr_in *'
391 | int getsockname (int, struct sockaddr *__restrict, socklen_t *__restrict);
| ^
```
--- NetworkManager-l2tp-1.20.16-origin/src/nm-l2tp-service.c
+++ NetworkManager-l2tp-1.20.16/src/nm-l2tp-service.c
@@ -1918,13 +1918,13 @@
addr.sin_port = htons(1701);
addr.sin_addr.s_addr = priv->naddr;
- if (0 != connect (fd, &addr, sizeof(addr))) {
+ if (0 != connect (fd, (struct sockaddr *) &addr, sizeof(addr))) {
close (fd);
return nm_l2tp_ipsec_error(error, _("unable to connect to L2TP VPN gateway"));
}
memset( &addr, 0, sizeof(addr));
- if (0 != getsockname( fd, &addr, &alen)) {
+ if (0 != getsockname( fd, (struct sockaddr *) &addr, &alen)) {
close (fd);
return nm_l2tp_ipsec_error(error, _("failed to get local IP"));
}