On Mon, 12 Apr 2021 09:30:34 -0500
Matt Weber wrote:
> Since a1f20223cfcf7b9eae8c9e7e7a07e7bf1377f65b in some build
> configurations PATH_MAX is undefined.
>
> Build log from Buildroot testing failure:
> http://autobuild.buildroot.net/results/3ec818e676827c03f08c264c6c7a53b025b7ba1d/build-end.log
>
> ...
> /home/giuliobenetti/autobuild/run/instance-0/output-1/host/bin/arm-buildroot-linux-musleabihf-gcc
> -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2
>
> -I/home/giuliobenetti/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-musleabihf/sysroot/usr/include
> -c libbridge_misc.c
> libbridge_init.c: In function 'isbridge':
> libbridge_init.c:49:12: error: 'PATH_MAX' undeclared (first use in this
> function); did you mean 'AF_MAX'?
>49 | char path[PATH_MAX];
> |^~~~
> |AF_MAX
> libbridge_init.c:49:12: note: each undeclared identifier is reported only
> once for each function it appears in
> libbridge_init.c:49:7: warning: unused variable 'path' [-Wunused-variable]
>49 | char path[PATH_MAX];
> | ^~~~
> make[2]: *** [Makefile:37: libbridge_init.o] Error 1
> make[2]: *** Waiting for unfinished jobs
> libbridge_devif.c: In function 'fpopen':
> libbridge_devif.c:33:12: error: 'PATH_MAX' undeclared (first use in this
> function); did you mean 'AF_MAX'?
>33 | char path[PATH_MAX];
> |^~~~
> |AF_MAX
>
> Signed-off-by: Matthew Weber
> ---
> libbridge/libbridge_devif.c | 1 +
> libbridge/libbridge_init.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/libbridge/libbridge_devif.c b/libbridge/libbridge_devif.c
> index 8b7d954..95f7769 100644
> --- a/libbridge/libbridge_devif.c
> +++ b/libbridge/libbridge_devif.c
> @@ -24,6 +24,7 @@
> #include
> #include
> #include
> +#include
>
> #include "libbridge.h"
> #include "libbridge_private.h"
> diff --git a/libbridge/libbridge_init.c b/libbridge/libbridge_init.c
> index c914971..645dda6 100644
> --- a/libbridge/libbridge_init.c
> +++ b/libbridge/libbridge_init.c
> @@ -24,6 +24,7 @@
> #include
> #include
> #include
> +#include
Shouldn't refer to Linux version of the file.
According IWYU
libbridge/libbridge_devif.c should add these lines:
#include // for PATH_MAX
#include// for ifreq, IFNAMSIZ, ifr_data, ifr_name
#include // for __bridge_info, __port_info, __fdb_entry
#include // for ioctl, SIOCDEVPRIVATE
struct timeval;
libbridge/libbridge_devif.c should remove these lines:
- #include // lines 21-21
The full include-list for libbridge/libbridge_devif.c:
#include // for closedir, opendir, DIR
#include // for errno, EAGAIN
#include // for open, O_WRONLY, SEEK_SET
#include // for PATH_MAX
#include// for ifreq, IFNAMSIZ, ifr_data, ifr_name
#include // for __bridge_info, __port_info, __fdb_entry
#include // for snprintf, fclose, fopen, fscanf, FILE
#include // for memcpy, memset, strerror
#include // for ioctl, SIOCDEVPRIVATE
#include // for close, sleep, write
#include "libbridge.h" // for bridge_info, port_info, strlcpy, brid...
#include "libbridge_private.h" // for __jiffies_to_tv, __tv_to_jiffies, SYS...