=>> Building net/bird2 build started at Thu Jan 22 12:02:53 EST 2026 port directory: /usr/ports/net/bird2 package name: bird2-2.18 building for: FreeBSD pkg.DaveG.ca 14.3-RELEASE-p7 FreeBSD 14.3-RELEASE-p7 1403000 amd64 maintained by: olivier@FreeBSD.org Makefile datestamp: -rw-r--r-- 1 root wheel 1871 Jan 5 20:59 /usr/ports/net/bird2/Makefile Ports top last git commit: 076a295eb33c Ports top unclean checkout: no Port dir last git commit: 0ced8ca27476 Port dir unclean checkout: no Poudriere version: poudriere-git-3.4.2 Host OSVERSION: 1500068 Jail OSVERSION: 1403000 Job Id: 12 ---Begin Environment--- SHELL=/bin/sh OSVERSION=1403000 UNAME_v=FreeBSD 14.3-RELEASE-p7 1403000 UNAME_r=14.3-RELEASE-p7 BLOCKSIZE=K MAIL=/var/mail/root MM_CHARSET=UTF-8 LANG=C.UTF-8 STATUS=1 HOME=/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin MAKE_OBJDIR_CHECK_WRITABLE=0 LOCALBASE=/usr/local USER=root POUDRIERE_NAME=poudriere-git LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.4.2 MASTERMNT=/usr/local/poudriere/data/.m/freebsd_14_3_x64-HEAD-ALL/ref LC_COLLATE=C POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM=tmux-256color OUTPUT_REDIRECTED_STDERR=4 OUTPUT_REDIRECTED=1 PWD=/usr/local/poudriere/data/.m/freebsd_14_3_x64-HEAD-ALL/12/.p OUTPUT_REDIRECTED_STDOUT=3 P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS MASTERNAME=freebsd_14_3_x64-HEAD-ALL SCRIPTPREFIX=/usr/local/share/poudriere SCRIPTNAME=bulk.sh OLDPWD=/usr/local/poudriere/data/.m/freebsd_14_3_x64-HEAD-ALL/ref/.p/pool POUDRIERE_PKGNAME=poudriere-git-3.4.2 SCRIPTPATH=/usr/local/share/poudriere/bulk.sh POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin Poudriere Port Flags/Env--- PORT_FLAGS= PKGENV= FLAVOR=netlink MAKE_ARGS= FLAVOR=netlink ---End Poudriere Port Flags/Env--- ---Begin OPTIONS List--- ===> The following configuration options are available for bird2-2.18: ====> Routing Protocols: you have to choose at least one of them BFD=on: Bidirectional Forwarding Detection BABEL=on: Babel routing protocol BMP=off: BGP Monitoring Protocol BGP=on: Border Gateway Protocol MRT=on: Dumping Routing Information in MRT Format OSPF=on: Open Short Path First PIPE=on: PIPE routing RADV=on: Router Advertisement RIP=on: Routing Information Protocol RPKI=on: Resource Public Key Infrastructure STATIC=on: Static routing ===> Use 'make config' to modify these settings ---End OPTIONS List--- --MAINTAINER-- olivier@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --localstatedir=/var --with-protocols="babel bfd bgp mrt ospf pipe radv rip rpki static" --with-sysconfig=bsd-netlink --prefix=/usr/local ${_LATE_CONFIGURE_ARGS} --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- MAKE=/usr/local/bin/gmake XDG_DATA_HOME=/wrkdirs/usr/ports/net/bird2/work-netlink XDG_CONFIG_HOME=/wrkdirs/usr/ports/net/bird2/work-netlink XDG_CACHE_HOME=/wrkdirs/usr/ports/net/bird2/work-netlink/.cache HOME=/wrkdirs/usr/ports/net/bird2/work-netlink TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/net/bird2/work-netlink/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/net/bird2/work-netlink/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=524288 --End CONFIGURE_ENV-- --MAKE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/net/bird2/work-netlink XDG_CONFIG_HOME=/wrkdirs/usr/ports/net/bird2/work-netlink XDG_CACHE_HOME=/wrkdirs/usr/ports/net/bird2/work-netlink/.cache HOME=/wrkdirs/usr/ports/net/bird2/work-netlink TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/net/bird2/work-netlink/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/net/bird2/work-netlink/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=gnu99 " CPP="cpp" CPPFLAGS="-I/usr/local/include" LDFLAGS=" -L/usr/local/lib " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CSTD=gnu99 BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- OSREL=14.3 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/bird" EXAMPLESDIR="share/examples/bird" DATADIR="share/bird" WWWDIR="www/bird" ETCDIR="etc/bird" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/bird DOCSDIR=/usr/local/share/doc/bird EXAMPLESDIR=/usr/local/share/examples/bird WWWDIR=/usr/local/www/bird ETCDIR=/usr/local/etc/bird --End SUB_LIST-- ---Begin make.conf--- DEFAULT_VERSIONS+=pgsql=15 DEFAULT_VERSIONS+=php=82 DISABLE_LICENSES=yes SELECTED_OPTIONS+=OPENBLAS ARCHDEF=AMD64K10h64SSE3 USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles FORCE_PACKAGE=yes PACKAGE_BUILDING=yes PACKAGE_BUILDING_FLAVORS=yes #### #### DEFAULT_VERSIONS+=pgsql=15 DEFAULT_VERSIONS+=php=82 DISABLE_LICENSES=yes SELECTED_OPTIONS+=OPENBLAS ARCHDEF=AMD64K10h64SSE3 WITH_CCACHE_BUILD=yes CCACHE_DIR=/root/.ccache #### Misc Poudriere #### .include "/etc/make.conf.ports_env" GID=0 UID=0 ---End make.conf--- --Resource limits-- cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 33554432 stack size (kbytes, -s) 524288 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) unlimited max user processes (-u) 89999 open files (-n) 8192 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited socket buffer size (bytes, -b) unlimited pseudo-terminals (-p) unlimited kqueues (-k) unlimited umtx shared locks (-o) unlimited pipebuf (-y) unlimited --End resource limits-- =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> bird2-2.18 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-2.5.1.pkg [pkg.DaveG.ca] Installing pkg-2.5.1... [pkg.DaveG.ca] Extracting pkg-2.5.1: .......... done ===> bird2-2.18 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of bird2-2.18 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by bird2-2.18 for building =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by bird2-2.18 for building => SHA256 Checksum OK for bird-2.18.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by bird2-2.18 for building ===> Extracting for bird2-2.18 => SHA256 Checksum OK for bird-2.18.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Patching for bird2-2.18 ===> Applying FreeBSD patches for bird2-2.18 from /usr/ports/net/bird2/files =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> bird2-2.18 depends on executable: bison - not found ===> Installing existing package /packages/All/bison-3.8.2_2,1.pkg [pkg.DaveG.ca] Installing bison-3.8.2_2,1... [pkg.DaveG.ca] `-- Installing gettext-runtime-0.26... [pkg.DaveG.ca] | `-- Installing indexinfo-0.3.1_1... [pkg.DaveG.ca] | `-- Extracting indexinfo-0.3.1_1: . done [pkg.DaveG.ca] `-- Extracting gettext-runtime-0.26: .......... done [pkg.DaveG.ca] `-- Installing libtextstyle-0.26... [pkg.DaveG.ca] `-- Extracting libtextstyle-0.26: .......... done [pkg.DaveG.ca] `-- Installing m4-1.4.20,1... [pkg.DaveG.ca] `-- Extracting m4-1.4.20,1: .......... done [pkg.DaveG.ca] Extracting bison-3.8.2_2,1: .......... done ===> bird2-2.18 depends on executable: bison - found ===> Returning to build of bird2-2.18 ===> bird2-2.18 depends on package: gmake>=4.4.1 - not found ===> Installing existing package /packages/All/gmake-4.4.1.pkg [pkg.DaveG.ca] Installing gmake-4.4.1... [pkg.DaveG.ca] Extracting gmake-4.4.1: .......... done ===> bird2-2.18 depends on package: gmake>=4.4.1 - found ===> Returning to build of bird2-2.18 ===> bird2-2.18 depends on file: /usr/local/bin/ccache - not found ===> Installing existing package /packages/All/ccache-3.7.12_8.pkg [pkg.DaveG.ca] Installing ccache-3.7.12_8... [pkg.DaveG.ca] Extracting ccache-3.7.12_8: ......... done Create compiler links... create symlink for cc create symlink for cc (world) create symlink for c++ create symlink for c++ (world) create symlink for CC create symlink for CC (world) create symlink for clang create symlink for clang (world) create symlink for clang++ create symlink for clang++ (world) ===== Message from ccache-3.7.12_8: -- NOTE: Please read /usr/local/share/doc/ccache/ccache-howto-freebsd.txt for information on using ccache with FreeBSD ports and src. ===> bird2-2.18 depends on file: /usr/local/bin/ccache - found ===> Returning to build of bird2-2.18 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> bird2-2.18 depends on shared library: libssh.so - not found ===> Installing existing package /packages/All/libssh-0.11.3.pkg [pkg.DaveG.ca] Installing libssh-0.11.3... [pkg.DaveG.ca] Extracting libssh-0.11.3: .......... done ===> bird2-2.18 depends on shared library: libssh.so - found (/usr/local/lib/libssh.so) ===> Returning to build of bird2-2.18 ===> bird2-2.18 depends on shared library: libreadline.so.8 - not found ===> Installing existing package /packages/All/readline-8.3.3.pkg [pkg.DaveG.ca] Installing readline-8.3.3... [pkg.DaveG.ca] Extracting readline-8.3.3: .......... done ===> bird2-2.18 depends on shared library: libreadline.so.8 - found (/usr/local/lib/libreadline.so.8) ===> Returning to build of bird2-2.18 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Configuring for bird2-2.18 configure: loading site script /usr/ports/Templates/config.site checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether cc accepts -g... yes checking for cc option to enable C11 features... unsupported checking for cc option to enable C99 features... none needed checking for library containing clock_gettime... none required checking build system type... amd64-portbld-freebsd14.3 checking host system type... amd64-portbld-freebsd14.3 checking for gcc... (cached) cc checking whether the compiler supports GNU C... (cached) yes checking whether cc accepts -g... (cached) yes checking for cc option to enable C11 features... (cached) unsupported checking for cc option to enable C99 features... (cached) none needed checking whether _Thread_local is known... yes checking whether POSIX threads are available... yes checking CFLAGS... -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=gnu99 -pthread -fno-strict-aliasing -fno-strict-overflow checking LDFLAGS... -L/usr/local/lib -pthread checking how to run the C preprocessor... cpp checking for a BSD-compatible install... /usr/bin/install -c checking for ranlib... ranlib checking for flex... flex checking for bison... bison checking for gm4... gm4 checking for pandoc... no checking bison version... 3.8.2 checking which OS configuration should we use... ./sysdep/cf/bsd-netlink.h checking system-dependent directories... sysdep/unix sysdep/bsd-netlink checking for libssh/libssh.h... yes checking for ssh_connect in -lssh... yes checking for Linux MPLS headers... no checking protocols... ok checking for stdio.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking for strings.h... (cached) yes checking for sys/stat.h... (cached) yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for alloca.h... (cached) no checking for syslog.h... yes checking for sys/mman.h... (cached) yes checking for struct sockaddr.sa_len... yes checking whether byte ordering is bigendian... no checking for glob.h... yes checking for syslog lib flags... yes checking for getrandom... yes checking for getentropy... yes checking for curses.h... yes checking for library containing tgetent... -ltinfo checking for readline/readline.h... yes checking for readline/history.h... yes checking for library containing rl_callback_read_char... -lreadline checking for rl_crlf in -lreadline... yes checking for rl_ding in -lreadline... yes configure: creating ./config.status config.status: creating Makefile config.status: creating obj/sysdep/autoconf.h BIRD was configured with the following options: Source directory: . Object directory: obj Iproute2 directory: System configuration: ./sysdep/cf/bsd-netlink.h Debugging: no Compact tries: no POSIX threads: yes Routing protocols: babel bfd bgp mrt ospf pipe radv rip rpki static LibSSH support in RPKI: yes Kernel MPLS support: no Client: yes =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Building for bird2-2.18 MKDIR -p obj/client obj/conf obj/doc obj/filter obj/lib obj/nest obj/test obj/proto/babel obj/proto/bfd obj/proto/bgp obj/proto/mrt obj/proto/ospf obj/proto/pipe obj/proto/radv obj/proto/rip obj/proto/rpki obj/proto/static obj/sysdep/unix obj/sysdep/bsd-netlink obj/doc gm4 -s -P conf/gen_parser.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y nest/mpls.Y proto/babel/config.Y proto/bfd/config.Y proto/bgp/config.Y proto/mrt/config.Y proto/ospf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y sysdep/unix/config.Y sysdep/unix/krt.Y sysdep/bsd-netlink/netlink.Y >obj/conf/cf-parse.y bison -Dparse.lac=full -Dparse.error=verbose -dv -pcf_ -b obj/conf/cf-parse obj/conf/cf-parse.y obj/conf/cf-parse.y: warning: 1 nonterminal useless in grammar [-Wother] obj/conf/cf-parse.y: warning: 2 rules useless in grammar [-Wother] filter/config.Y:731.1-8: warning: nonterminal useless in grammar: ec_items [-Wother] 731 | ec_items: | ^~~~~~~~ gm4 -s -P conf/gen_keywords.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y nest/mpls.Y proto/babel/config.Y proto/bfd/config.Y proto/bgp/config.Y proto/mrt/config.Y proto/ospf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y sysdep/unix/config.Y sysdep/unix/krt.Y sysdep/bsd-netlink/netlink.Y >obj/conf/keywords.h gm4 -s -P conf/gen_commands.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y nest/mpls.Y proto/babel/config.Y proto/bfd/config.Y proto/bgp/config.Y proto/mrt/config.Y proto/ospf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y sysdep/unix/config.Y sysdep/unix/krt.Y sysdep/bsd-netlink/netlink.Y >obj/conf/commands.h gm4 -s -DTARGET=I -P filter/decl.m4 filter/f-inst.c obj/.dir-stamp >obj/filter/inst-interpret.c gm4 -s -DTARGET=H -P filter/decl.m4 filter/f-inst.c obj/.dir-stamp >obj/filter/inst-gen.h GEN obj/nest/proto-build.c GEN obj/sysdep/paths.h CC -o obj/conf/cf-parse.tab.o -c obj/conf/cf-parse.tab.c In file included from conf/confbase.Y:23: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/config.Y:415:29: warning: assigning to 'const byte *' (aka 'const unsigned char *') from 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 415 | { this_ipn->pattern = (yyvsp[0].t); } | ^ ~~~~~~~~~~~~ nest/config.Y:421:26: warning: assigning to 'const byte *' (aka 'const unsigned char *') from 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 421 | this_ipn->pattern = (yyvsp[0].v).val.s; | ^ ~~~~~~~~~~~~~~~~~~ nest/config.Y:429:40: warning: assigning to 'const byte *' (aka 'const unsigned char *') from 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 429 | { this_ipn->pattern = (yyvsp[-1].t); this_ipn->prefix = (yyvsp[0].net); } | ^ ~~~~~~~~~~~~~ proto/babel/config.Y:195:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 195 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:195:3: note: place parentheses around the assignment to silence this warning 195 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:195:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:198:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 198 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:198:3: note: place parentheses around the assignment to silence this warning 198 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:198:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:201:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 201 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:201:3: note: place parentheses around the assignment to silence this warning 201 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:201:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:204:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 204 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:204:3: note: place parentheses around the assignment to silence this warning 204 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:204:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/bfd/config.Y:237:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 237 | { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bfd/config.Y:237:3: note: place parentheses around the assignment to silence this warning 237 | { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/bfd/config.Y:237:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/bgp/config.Y:305:29: warning: assigning to 'const char *' from 'const byte[0]' (aka 'const unsigned char[0]') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 305 | this_ao_key->key.key = (yyvsp[-1].v).val.bs->data; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:516:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 516 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:516:3: note: place parentheses around the assignment to silence this warning 516 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/ospf/config.Y:516:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/ospf/config.Y:519:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 519 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:519:3: note: place parentheses around the assignment to silence this warning 519 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/ospf/config.Y:519:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/ospf/config.Y:522:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 522 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:522:3: note: place parentheses around the assignment to silence this warning 522 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/ospf/config.Y:522:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/rip/config.Y:200:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 200 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/config.Y:200:3: note: place parentheses around the assignment to silence this warning 200 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/rip/config.Y:200:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/rip/config.Y:203:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 203 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/config.Y:203:3: note: place parentheses around the assignment to silence this warning 203 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/rip/config.Y:203:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/static/config.Y:206:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 206 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/static/config.Y:206:3: note: place parentheses around the assignment to silence this warning 206 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } | ^ | ( ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/static/config.Y:206:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:302:64: note: expanded from macro 'PROTO_WALK_CMD' 302 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ 16 warnings generated. flex -f -s -B -8 -Pcf_ -oobj/conf/cf-lex.c conf/cf-lex.l CC -o obj/conf/cf-lex.o -c obj/conf/cf-lex.c In file included from conf/cf-lex.l:54: In file included from conf/confbase.Y:23: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == In file included from conf/cf-lex.l:54: conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "define", DEFINE }, | ^~~~~~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "on", ON }, | ^~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "off", OFF }, | ^~~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "yes", YES }, | ^~~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "no", NO }, | ^~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[2]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "s", S }, | ^~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "ms", MS }, | ^~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "us", US }, | ^~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "port", PORT }, | ^~~~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "vpn", VPN }, | ^~~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "mpls", MPLS }, | ^~~~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "from", FROM }, | ^~~~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "max", MAX }, | ^~~~~ conf/confbase.Y:171:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 171 | { "as", AS }, | ^~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "flow4", FLOW4 }, | ^~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "flow6", FLOW6 }, | ^~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "dst", DST }, | ^~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "src", SRC }, | ^~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "proto", PROTO }, | ^~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "next", NEXT }, | ^~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "header", HEADER }, | ^~~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "dport", DPORT }, | ^~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "sport", SPORT }, | ^~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "icmp", ICMP }, | ^~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "type", TYPE }, | ^~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "code", CODE }, | ^~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "tcp", TCP }, | ^~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "flags", FLAGS }, | ^~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "length", LENGTH }, | ^~~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "dscp", DSCP }, | ^~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "dont_fragment", DONT_FRAGMENT }, | ^~~~~~~~~~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "is_fragment", IS_FRAGMENT }, | ^~~~~~~~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "first_fragment", FIRST_FRAGMENT }, | ^~~~~~~~~~~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "last_fragment", LAST_FRAGMENT }, | ^~~~~~~~~~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "fragment", FRAGMENT }, | ^~~~~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "label", LABEL }, | ^~~~~~~ conf/flowspec.Y:27:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 27 | { "offset", OFFSET }, | ^~~~~~~~ client/cmds.Y:9:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 9 | { "quit", QUIT }, | ^~~~~~ client/cmds.Y:10:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 10 | { "exit", EXIT }, | ^~~~~~ client/cmds.Y:11:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 11 | { "help", HELP }, | ^~~~~~ filter/config.Y:357:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 357 | { "in", IN }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "function", FUNCTION }, | ^~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "print", PRINT }, | ^~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "printn", PRINTN }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "unset", UNSET }, | ^~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "return", RETURN }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "accept", ACCEPT }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "reject", REJECT }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "error", ERROR }, | ^~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "int", INT }, | ^~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "bool", BOOL }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "ip", IP }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "prefix", PREFIX }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "rd", RD }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "pair", PAIR }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "quad", QUAD }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "ec", EC }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "lc", LC }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "enum", ENUM }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "set", SET }, | ^~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "string", STRING }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "bytestring", BYTESTRING }, | ^~~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "bgpmask", BGPMASK }, | ^~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "bgppath", BGPPATH }, | ^~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "clist", CLIST }, | ^~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "eclist", ECLIST }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "lclist", LCLIST }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "if", IF }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "then", THEN }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "else", ELSE }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "case", CASE }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "for", FOR }, | ^~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "do", DO }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "true", TRUE }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "false", FALSE }, | ^~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "rt", RT }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "ro", RO }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "unknown", UNKNOWN }, | ^~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "generic", GENERIC }, | ^~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "gw", GW }, | ^~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "net", NET }, | ^~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "source", SOURCE }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "scope", SCOPE }, | ^~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "dest", DEST }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "ifname", IFNAME }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "ifindex", IFINDEX }, | ^~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "weight", WEIGHT }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "gw_mpls", GW_MPLS }, | ^~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "gw_mpls_stack", GW_MPLS_STACK }, | ^~~~~~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "onlink", ONLINK }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "preference", PREFERENCE }, | ^~~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "roa_check", ROA_CHECK }, | ^~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "aspa_check", ASPA_CHECK }, | ^~~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "defined", DEFINED }, | ^~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "add", ADD }, | ^~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "delete", DELETE }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "reset", RESET }, | ^~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "prepend", PREPEND }, | ^~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "append", APPEND }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "empty", EMPTY }, | ^~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "filter", FILTER }, | ^~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "where", WHERE }, | ^~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "eval", EVAL }, | ^~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "attribute", ATTRIBUTE }, | ^~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "from_hex", FROM_HEX }, | ^~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "bt_assert", BT_ASSERT }, | ^~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "bt_test_suite", BT_TEST_SUITE }, | ^~~~~~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "bt_check_assign", BT_CHECK_ASSIGN }, | ^~~~~~~~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "bt_test_same", BT_TEST_SAME }, | ^~~~~~~~~~~~~~ filter/config.Y:358:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 358 | { "format", FORMAT }, | ^~~~~~~~ nest/config.Y:116:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 116 | { "router", ROUTER }, | ^~~~~~~~ nest/config.Y:116:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 116 | { "id", ID }, | ^~~~ nest/config.Y:116:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 116 | { "hostname", HOSTNAME }, | ^~~~~~~~~~ nest/config.Y:116:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 116 | { "protocol", PROTOCOL }, | ^~~~~~~~~~ nest/config.Y:116:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 116 | { "template", TEMPLATE }, | ^~~~~~~~~~ nest/config.Y:116:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 116 | { "disabled", DISABLED }, | ^~~~~~~~~~ nest/config.Y:116:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 116 | { "debug", DEBUG }, | ^~~~~~~ nest/config.Y:116:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 116 | { "all", ALL }, | ^~~~~ nest/config.Y:116:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 116 | { "direct", DIRECT }, | ^~~~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "interface", INTERFACE }, | ^~~~~~~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "import", IMPORT }, | ^~~~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "export", EXPORT }, | ^~~~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "none", NONE }, | ^~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "vrf", VRF }, | ^~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "default", DEFAULT }, | ^~~~~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "table", TABLE }, | ^~~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "tables", TABLES }, | ^~~~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "states", STATES }, | ^~~~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "routes", ROUTES }, | ^~~~~~~~ nest/config.Y:117:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 117 | { "filters", FILTERS }, | ^~~~~~~~~ nest/config.Y:118:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | { "ipv4", IPV4 }, | ^~~~~~ nest/config.Y:118:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | { "ipv6", IPV6 }, | ^~~~~~ nest/config.Y:118:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | { "vpn4", VPN4 }, | ^~~~~~ nest/config.Y:118:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | { "vpn6", VPN6 }, | ^~~~~~ nest/config.Y:118:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | { "roa4", ROA4 }, | ^~~~~~ nest/config.Y:118:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | { "roa6", ROA6 }, | ^~~~~~ nest/config.Y:118:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | { "sadr", SADR }, | ^~~~~~ nest/config.Y:118:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | { "aspa", ASPA }, | ^~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "receive", RECEIVE }, | ^~~~~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "limit", LIMIT }, | ^~~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "action", ACTION }, | ^~~~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "warn", WARN }, | ^~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "block", BLOCK }, | ^~~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "restart", RESTART }, | ^~~~~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "disable", DISABLE }, | ^~~~~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "keep", KEEP }, | ^~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "filtered", FILTERED }, | ^~~~~~~~~~ nest/config.Y:119:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 119 | { "rpki", RPKI }, | ^~~~~~ nest/config.Y:120:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 120 | { "password", PASSWORD }, | ^~~~~~~~~~ nest/config.Y:120:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 120 | { "key", KEY }, | ^~~~~ nest/config.Y:120:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 120 | { "passive", PASSIVE }, | ^~~~~~~~~ nest/config.Y:120:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 120 | { "to", TO }, | ^~~~ nest/config.Y:120:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 120 | { "events", EVENTS }, | ^~~~~~~~ nest/config.Y:120:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 120 | { "packets", PACKETS }, | ^~~~~~~~~ nest/config.Y:120:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 120 | { "protocols", PROTOCOLS }, | ^~~~~~~~~~~ nest/config.Y:120:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 120 | { "channels", CHANNELS }, | ^~~~~~~~~~ nest/config.Y:120:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 120 | { "interfaces", INTERFACES }, | ^~~~~~~~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "algorithm", ALGORITHM }, | ^~~~~~~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "keyed", KEYED }, | ^~~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "hmac", HMAC }, | ^~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "md5", MD5 }, | ^~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "sha1", SHA1 }, | ^~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "sha256", SHA256 }, | ^~~~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "sha384", SHA384 }, | ^~~~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "sha512", SHA512 }, | ^~~~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "blake2s128", BLAKE2S128 }, | ^~~~~~~~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "blake2s256", BLAKE2S256 }, | ^~~~~~~~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "blake2b256", BLAKE2B256 }, | ^~~~~~~~~~~~ nest/config.Y:121:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 121 | { "blake2b512", BLAKE2B512 }, | ^~~~~~~~~~~~ nest/config.Y:122:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 122 | { "primary", PRIMARY }, | ^~~~~~~~~ nest/config.Y:122:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 122 | { "stats", STATS }, | ^~~~~~~ nest/config.Y:122:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 122 | { "count", COUNT }, | ^~~~~~~ nest/config.Y:122:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 122 | { "commands", COMMANDS }, | ^~~~~~~~~~ nest/config.Y:122:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 122 | { "preexport", PREEXPORT }, | ^~~~~~~~~~~ nest/config.Y:122:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 122 | { "noexport", NOEXPORT }, | ^~~~~~~~~~ nest/config.Y:122:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 122 | { "exported", EXPORTED }, | ^~~~~~~~~~ nest/config.Y:122:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 122 | { "generate", GENERATE }, | ^~~~~~~~~~ nest/config.Y:123:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 123 | { "bgp", BGP }, | ^~~~~ nest/config.Y:123:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 123 | { "passwords", PASSWORDS }, | ^~~~~~~~~~~ nest/config.Y:123:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 123 | { "description", DESCRIPTION }, | ^~~~~~~~~~~~~ nest/config.Y:124:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 124 | { "reload", RELOAD }, | ^~~~~~~~ nest/config.Y:124:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 124 | { "out", OUT }, | ^~~~~ nest/config.Y:124:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 124 | { "mrtdump", MRTDUMP }, | ^~~~~~~~~ nest/config.Y:124:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 124 | { "messages", MESSAGES }, | ^~~~~~~~~~ nest/config.Y:124:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 124 | { "restrict", RESTRICT }, | ^~~~~~~~~~ nest/config.Y:124:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 124 | { "memory", MEMORY }, | ^~~~~~~~ nest/config.Y:124:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 124 | { "igp_metric", IGP_METRIC }, | ^~~~~~~~~~~~ nest/config.Y:124:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 124 | { "class", CLASS }, | ^~~~~~~ nest/config.Y:125:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 125 | { "timeformat", TIMEFORMAT }, | ^~~~~~~~~~~~ nest/config.Y:125:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 125 | { "iso", ISO }, | ^~~~~ nest/config.Y:125:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 125 | { "short", SHORT }, | ^~~~~~~ nest/config.Y:125:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 125 | { "long", LONG }, | ^~~~~~ nest/config.Y:125:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 125 | { "route", ROUTE }, | ^~~~~~~ nest/config.Y:125:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 125 | { "base", BASE }, | ^~~~~~ nest/config.Y:125:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 125 | { "log", LOG }, | ^~~~~ nest/config.Y:126:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 126 | { "graceful", GRACEFUL }, | ^~~~~~~~~~ nest/config.Y:126:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 126 | { "wait", WAIT }, | ^~~~~~ nest/config.Y:127:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 127 | { "check", CHECK }, | ^~~~~~~ nest/config.Y:127:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 127 | { "link", LINK }, | ^~~~~~ nest/config.Y:128:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 128 | { "sorted", SORTED }, | ^~~~~~~~ nest/config.Y:128:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 128 | { "trie", TRIE }, | ^~~~~~ nest/config.Y:128:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 128 | { "min", MIN }, | ^~~~~ nest/config.Y:128:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 128 | { "settle", SETTLE }, | ^~~~~~~~ nest/config.Y:128:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 128 | { "time", TIME }, | ^~~~~~ nest/config.Y:128:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 128 | { "gc", GC }, | ^~~~ nest/config.Y:128:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 128 | { "threshold", THRESHOLD }, | ^~~~~~~~~~~ nest/config.Y:128:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 128 | { "period", PERIOD }, | ^~~~~~~~ nest/config.Y:129:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 129 | { "mpls_label", MPLS_LABEL }, | ^~~~~~~~~~~~ nest/config.Y:129:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 129 | { "mpls_policy", MPLS_POLICY }, | ^~~~~~~~~~~~~ nest/config.Y:129:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 129 | { "mpls_class", MPLS_CLASS }, | ^~~~~~~~~~~~ nest/config.Y:130:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 130 | { "aspa_providers", ASPA_PROVIDERS }, | ^~~~~~~~~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "ipv4_mc", IPV4_MC }, | ^~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "ipv4_mpls", IPV4_MPLS }, | ^~~~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "ipv6_mc", IPV6_MC }, | ^~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "ipv6_mpls", IPV6_MPLS }, | ^~~~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "ipv6_sadr", IPV6_SADR }, | ^~~~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "vpn4_mc", VPN4_MC }, | ^~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "vpn4_mpls", VPN4_MPLS }, | ^~~~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "vpn6_mc", VPN6_MC }, | ^~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "vpn6_mpls", VPN6_MPLS }, | ^~~~~~~~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "pri", PRI }, | ^~~~~ nest/config.Y:133:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | { "sec", SEC }, | ^~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "net_type", NET_TYPE }, | ^~~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_IP4", -((T_ENUM_NET_TYPE<<16) | NET_IP4) }, | ^~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_IP6", -((T_ENUM_NET_TYPE<<16) | NET_IP6) }, | ^~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_VPN4", -((T_ENUM_NET_TYPE<<16) | NET_VPN4) }, | ^~~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_VPN6", -((T_ENUM_NET_TYPE<<16) | NET_VPN6) }, | ^~~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_ROA4", -((T_ENUM_NET_TYPE<<16) | NET_ROA4) }, | ^~~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_ROA6", -((T_ENUM_NET_TYPE<<16) | NET_ROA6) }, | ^~~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_FLOW4", -((T_ENUM_NET_TYPE<<16) | NET_FLOW4) }, | ^~~~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_FLOW6", -((T_ENUM_NET_TYPE<<16) | NET_FLOW6) }, | ^~~~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_IP6_SADR", -((T_ENUM_NET_TYPE<<16) | NET_IP6_SADR) }, | ^~~~~~~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_MPLS", -((T_ENUM_NET_TYPE<<16) | NET_MPLS) }, | ^~~~~~~~~~ nest/config.Y:135:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 135 | { "NET_ASPA", -((T_ENUM_NET_TYPE<<16) | NET_ASPA) }, | ^~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "rts", RTS }, | ^~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_STATIC", -((T_ENUM_RTS<<16) | RTS_STATIC) }, | ^~~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_INHERIT", -((T_ENUM_RTS<<16) | RTS_INHERIT) }, | ^~~~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_DEVICE", -((T_ENUM_RTS<<16) | RTS_DEVICE) }, | ^~~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_STATIC_DEVICE", -((T_ENUM_RTS<<16) | RTS_STATIC_DEVICE) }, | ^~~~~~~~~~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_REDIRECT", -((T_ENUM_RTS<<16) | RTS_REDIRECT) }, | ^~~~~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_RIP", -((T_ENUM_RTS<<16) | RTS_RIP) }, | ^~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_OSPF", -((T_ENUM_RTS<<16) | RTS_OSPF) }, | ^~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_OSPF_IA", -((T_ENUM_RTS<<16) | RTS_OSPF_IA) }, | ^~~~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_OSPF_EXT1", -((T_ENUM_RTS<<16) | RTS_OSPF_EXT1) }, | ^~~~~~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_OSPF_EXT2", -((T_ENUM_RTS<<16) | RTS_OSPF_EXT2) }, | ^~~~~~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_BGP", -((T_ENUM_RTS<<16) | RTS_BGP) }, | ^~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_PIPE", -((T_ENUM_RTS<<16) | RTS_PIPE) }, | ^~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_BABEL", -((T_ENUM_RTS<<16) | RTS_BABEL) }, | ^~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_RPKI", -((T_ENUM_RTS<<16) | RTS_RPKI) }, | ^~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_L3VPN", -((T_ENUM_RTS<<16) | RTS_L3VPN) }, | ^~~~~~~~~~~ nest/config.Y:136:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 136 | { "RTS_AGGREGATED", -((T_ENUM_RTS<<16) | RTS_AGGREGATED) }, | ^~~~~~~~~~~~~~~~ nest/config.Y:139:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 139 | { "SCOPE_HOST", -((T_ENUM_SCOPE<<16) | SCOPE_HOST) }, | ^~~~~~~~~~~~ nest/config.Y:139:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 139 | { "SCOPE_LINK", -((T_ENUM_SCOPE<<16) | SCOPE_LINK) }, | ^~~~~~~~~~~~ nest/config.Y:139:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 139 | { "SCOPE_SITE", -((T_ENUM_SCOPE<<16) | SCOPE_SITE) }, | ^~~~~~~~~~~~ nest/config.Y:139:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[19]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 139 | { "SCOPE_ORGANIZATION", -((T_ENUM_SCOPE<<16) | SCOPE_ORGANIZATION) }, | ^~~~~~~~~~~~~~~~~~~~ nest/config.Y:139:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 139 | { "SCOPE_UNIVERSE", -((T_ENUM_SCOPE<<16) | SCOPE_UNIVERSE) }, | ^~~~~~~~~~~~~~~~ nest/config.Y:139:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 139 | { "SCOPE_UNDEFINED", -((T_ENUM_SCOPE<<16) | SCOPE_UNDEFINED) }, | ^~~~~~~~~~~~~~~~~ nest/config.Y:140:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 140 | { "rtd", RTD }, | ^~~~~ nest/config.Y:140:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 140 | { "RTD_UNICAST", -((T_ENUM_RTD<<16) | RTD_UNICAST) }, | ^~~~~~~~~~~~~ nest/config.Y:140:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 140 | { "RTD_BLACKHOLE", -((T_ENUM_RTD<<16) | RTD_BLACKHOLE) }, | ^~~~~~~~~~~~~~~ nest/config.Y:140:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 140 | { "RTD_UNREACHABLE", -((T_ENUM_RTD<<16) | RTD_UNREACHABLE) }, | ^~~~~~~~~~~~~~~~~ nest/config.Y:140:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 140 | { "RTD_PROHIBIT", -((T_ENUM_RTD<<16) | RTD_PROHIBIT) }, | ^~~~~~~~~~~~~~ nest/config.Y:141:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 141 | { "roa", ROA }, | ^~~~~ nest/config.Y:141:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 141 | { "ROA_UNKNOWN", -((T_ENUM_ROA<<16) | ROA_UNKNOWN) }, | ^~~~~~~~~~~~~ nest/config.Y:141:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 141 | { "ROA_VALID", -((T_ENUM_ROA<<16) | ROA_VALID) }, | ^~~~~~~~~~~ nest/config.Y:141:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 141 | { "ROA_INVALID", -((T_ENUM_ROA<<16) | ROA_INVALID) }, | ^~~~~~~~~~~~~ nest/config.Y:142:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 142 | { "ASPA_UNKNOWN", -((T_ENUM_ASPA<<16) | ASPA_UNKNOWN) }, | ^~~~~~~~~~~~~~ nest/config.Y:142:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 142 | { "ASPA_VALID", -((T_ENUM_ASPA<<16) | ASPA_VALID) }, | ^~~~~~~~~~~~ nest/config.Y:142:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 142 | { "ASPA_INVALID", -((T_ENUM_ASPA<<16) | ASPA_INVALID) }, | ^~~~~~~~~~~~~~ nest/config.Y:143:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 143 | { "af", AF }, | ^~~~ nest/config.Y:143:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 143 | { "AF_IPV4", -((T_ENUM_AF<<16) | AFI_IPV4) }, | ^~~~~~~~~ nest/config.Y:143:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 143 | { "AF_IPV6", -((T_ENUM_AF<<16) | AFI_IPV6) }, | ^~~~~~~~~ nest/config.Y:144:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[17]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 144 | { "MPLS_POLICY_NONE", -((T_ENUM_MPLS_POLICY<<16) | MPLS_POLICY_NONE) }, | ^~~~~~~~~~~~~~~~~~ nest/config.Y:144:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[19]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 144 | { "MPLS_POLICY_STATIC", -((T_ENUM_MPLS_POLICY<<16) | MPLS_POLICY_STATIC) }, | ^~~~~~~~~~~~~~~~~~~~ nest/config.Y:144:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[19]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 144 | { "MPLS_POLICY_PREFIX", -((T_ENUM_MPLS_POLICY<<16) | MPLS_POLICY_PREFIX) }, | ^~~~~~~~~~~~~~~~~~~~ nest/config.Y:144:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[22]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 144 | { "MPLS_POLICY_AGGREGATE", -((T_ENUM_MPLS_POLICY<<16) | MPLS_POLICY_AGGREGATE) }, | ^~~~~~~~~~~~~~~~~~~~~~~ nest/config.Y:144:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 144 | { "MPLS_POLICY_VRF", -((T_ENUM_MPLS_POLICY<<16) | MPLS_POLICY_VRF) }, | ^~~~~~~~~~~~~~~~~ nest/config.Y:611:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 611 | { "show", SHOW }, | ^~~~~~ nest/config.Y:611:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 611 | { "status", STATUS }, | ^~~~~~~~ nest/config.Y:631:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 631 | { "summary", SUMMARY }, | ^~~~~~~~~ nest/config.Y:858:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 858 | { "symbols", SYMBOLS }, | ^~~~~~~~~ nest/config.Y:880:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 880 | { "dump", DUMP }, | ^~~~~~ nest/config.Y:880:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 880 | { "resources", RESOURCES }, | ^~~~~~~~~~~ nest/config.Y:882:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 882 | { "sockets", SOCKETS }, | ^~~~~~~~~ nest/config.Y:884:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 884 | { "ao", AO }, | ^~~~ nest/config.Y:884:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 884 | { "keys", KEYS }, | ^~~~~~ nest/config.Y:890:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 890 | { "neighbors", NEIGHBORS }, | ^~~~~~~~~~~ nest/config.Y:892:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 892 | { "attributes", ATTRIBUTES }, | ^~~~~~~~~~~~ nest/config.Y:905:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 905 | { "echo", ECHO }, | ^~~~~~ nest/config.Y:926:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 926 | { "enable", ENABLE }, | ^~~~~~~~ nest/mpls.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "domain", DOMAIN }, | ^~~~~~~~ nest/mpls.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "range", RANGE }, | ^~~~~~~ nest/mpls.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "static", STATIC }, | ^~~~~~~~ nest/mpls.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "dynamic", DYNAMIC }, | ^~~~~~~~~ nest/mpls.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "start", START }, | ^~~~~~~ nest/mpls.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "policy", POLICY }, | ^~~~~~~~ nest/mpls.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "aggregate", AGGREGATE }, | ^~~~~~~~~~~ nest/mpls.Y:194:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 194 | { "ranges", RANGES }, | ^~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "babel", BABEL }, | ^~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "metric", METRIC }, | ^~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "rxcost", RXCOST }, | ^~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "hello", HELLO }, | ^~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "update", UPDATE }, | ^~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "interval", INTERVAL }, | ^~~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "wired", WIRED }, | ^~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "wireless", WIRELESS }, | ^~~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "rx", RX }, | ^~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "tx", TX }, | ^~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "buffer", BUFFER }, | ^~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "priority", PRIORITY }, | ^~~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "hop", HOP }, | ^~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "babel_metric", BABEL_METRIC }, | ^~~~~~~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "entries", ENTRIES }, | ^~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "randomize", RANDOMIZE }, | ^~~~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "authentication", AUTHENTICATION }, | ^~~~~~~~~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "mac", MAC }, | ^~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "permissive", PERMISSIVE }, | ^~~~~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "extended", EXTENDED }, | ^~~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "tunnel", TUNNEL }, | ^~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "rtt", RTT }, | ^~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "decay", DECAY }, | ^~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "send", SEND }, | ^~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "timestamps", TIMESTAMPS }, | ^~~~~~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "cost", COST }, | ^~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "delay", DELAY }, | ^~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "prefer", PREFER }, | ^~~~~~~~ proto/babel/config.Y:25:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 25 | { "native", NATIVE }, | ^~~~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "bfd", BFD }, | ^~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "idle", IDLE }, | ^~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "multiplier", MULTIPLIER }, | ^~~~~~~~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "address", ADDRESS }, | ^~~~~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "multihop", MULTIHOP }, | ^~~~~~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "neighbor", NEIGHBOR }, | ^~~~~~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "dev", DEV }, | ^~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "local", LOCAL }, | ^~~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "simple", SIMPLE }, | ^~~~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "meticulous", METICULOUS }, | ^~~~~~~~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "strict", STRICT }, | ^~~~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "bind", BIND }, | ^~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "zero", ZERO }, | ^~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "udp6", UDP6 }, | ^~~~~~ proto/bfd/config.Y:24:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 24 | { "checksum", CHECKSUM }, | ^~~~~~~~~~ proto/bfd/config.Y:236:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 236 | { "sessions", SESSIONS }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "hold", HOLD }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "connect", CONNECT }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "retry", RETRY }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "keepalive", KEEPALIVE }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "startup", STARTUP }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "via", VIA }, | ^~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "self", SELF }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "path", PATH }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "forget", FORGET }, | ^~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "after", AFTER }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_path", BGP_PATH }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_local_pref", BGP_LOCAL_PREF }, | ^~~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_med", BGP_MED }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_origin", BGP_ORIGIN }, | ^~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_next_hop", BGP_NEXT_HOP }, | ^~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_atomic_aggr", BGP_ATOMIC_AGGR }, | ^~~~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_aggregator", BGP_AGGREGATOR }, | ^~~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_community", BGP_COMMUNITY }, | ^~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_ext_community", BGP_EXT_COMMUNITY }, | ^~~~~~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[20]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_large_community", BGP_LARGE_COMMUNITY }, | ^~~~~~~~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "rr", RR }, | ^~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "rs", RS }, | ^~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "client", CLIENT }, | ^~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "cluster", CLUSTER }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "as4", AS4 }, | ^~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "advertise", ADVERTISE }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "capabilities", CAPABILITIES }, | ^~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "older", OLDER }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "missing", MISSING }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "lladdr", LLADDR }, | ^~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "drop", DROP }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "ignore", IGNORE }, | ^~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "enhanced", ENHANCED }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "refresh", REFRESH }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "interpret", INTERPRET }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "communities", COMMUNITIES }, | ^~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_originator_id", BGP_ORIGINATOR_ID }, | ^~~~~~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[17]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_cluster_list", BGP_CLUSTER_LIST }, | ^~~~~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "igp", IGP }, | ^~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "gateway", GATEWAY }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "recursive", RECURSIVE }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "med", MED }, | ^~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "ttl", TTL }, | ^~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "security", SECURITY }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "deterministic", DETERMINISTIC }, | ^~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "secondary", SECONDARY }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "allow", ALLOW }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "paths", PATHS }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "aware", AWARE }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "setkey", SETKEY }, | ^~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "confederation", CONFEDERATION }, | ^~~~~~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "member", MEMBER }, | ^~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "multicast", MULTICAST }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "lived", LIVED }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "stale", STALE }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "ibgp", IBGP }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "ebgp", EBGP }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "mandatory", MANDATORY }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "internal", INTERNAL }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "external", EXTERNAL }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "sets", SETS }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "name", NAME }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "digits", DIGITS }, | ^~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_aigp", BGP_AIGP }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "aigp", AIGP }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "originate", ORIGINATE }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "enforce", ENFORCE }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "first", FIRST }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "free", FREE }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "validate", VALIDATE }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "role", ROLE }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "roles", ROLES }, | ^~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "peer", PEER }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "provider", PROVIDER }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "customer", CUSTOMER }, | ^~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "rs_server", RS_SERVER }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "rs_client", RS_CLIENT }, | ^~~~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "require", REQUIRE }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "bgp_otc", BGP_OTC }, | ^~~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "global", GLOBAL }, | ^~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "recv", RECV }, | ^~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "single", SINGLE }, | ^~~~~~~~ proto/bgp/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "double", DOUBLE }, | ^~~~~~~~ proto/bgp/config.Y:41:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 41 | { "secret", SECRET }, | ^~~~~~~~ proto/bgp/config.Y:41:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 41 | { "deprecated", DEPRECATED }, | ^~~~~~~~~~~~ proto/bgp/config.Y:41:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 41 | { "preferred", PREFERRED }, | ^~~~~~~~~~~ proto/bgp/config.Y:41:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 41 | { "cmac", CMAC }, | ^~~~~~ proto/bgp/config.Y:41:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 41 | { "aes128", AES128 }, | ^~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "cease", CEASE }, | ^~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "hit", HIT }, | ^~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "administrative", ADMINISTRATIVE }, | ^~~~~~~~~~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "shutdown", SHUTDOWN }, | ^~~~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "configuration", CONFIGURATION }, | ^~~~~~~~~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "change", CHANGE }, | ^~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "deconfigured", DECONFIGURED }, | ^~~~~~~~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "connection", CONNECTION }, | ^~~~~~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "rejected", REJECTED }, | ^~~~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "collision", COLLISION }, | ^~~~~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "of", OF }, | ^~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[20]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "aspa_check_upstream", ASPA_CHECK_UPSTREAM }, | ^~~~~~~~~~~~~~~~~~~~~ proto/bgp/config.Y:46:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[22]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 46 | { "aspa_check_downstream", ASPA_CHECK_DOWNSTREAM }, | ^~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/config.Y:544:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 544 | { "ORIGIN_IGP", -((T_ENUM_BGP_ORIGIN<<16) | ORIGIN_IGP) }, | ^~~~~~~~~~~~ proto/bgp/config.Y:544:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 544 | { "ORIGIN_EGP", -((T_ENUM_BGP_ORIGIN<<16) | ORIGIN_EGP) }, | ^~~~~~~~~~~~ proto/bgp/config.Y:544:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 544 | { "ORIGIN_INCOMPLETE", -((T_ENUM_BGP_ORIGIN<<16) | ORIGIN_INCOMPLETE) }, | ^~~~~~~~~~~~~~~~~~~ proto/mrt/config.Y:20:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 20 | { "mrt", MRT }, | ^~~~~ proto/mrt/config.Y:20:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 20 | { "filename", FILENAME }, | ^~~~~~~~~~ proto/mrt/config.Y:20:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 20 | { "always", ALWAYS }, | ^~~~~~~~ proto/ospf/config.Y:193:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 193 | { "v2", V2 }, | ^~~~ proto/ospf/config.Y:193:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 193 | { "v3", V3 }, | ^~~~ proto/ospf/config.Y:194:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 194 | { "ospf", OSPF }, | ^~~~~~ proto/ospf/config.Y:194:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 194 | { "ospf_metric1", OSPF_METRIC1 }, | ^~~~~~~~~~~~~~ proto/ospf/config.Y:194:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 194 | { "ospf_metric2", OSPF_METRIC2 }, | ^~~~~~~~~~~~~~ proto/ospf/config.Y:194:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 194 | { "ospf_tag", OSPF_TAG }, | ^~~~~~~~~~ proto/ospf/config.Y:194:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 194 | { "ospf_router_id", OSPF_ROUTER_ID }, | ^~~~~~~~~~~~~~~~ proto/ospf/config.Y:195:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 195 | { "area", AREA }, | ^~~~~~ proto/ospf/config.Y:195:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 195 | { "rfc1583compat", RFC1583COMPAT }, | ^~~~~~~~~~~~~~~ proto/ospf/config.Y:195:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 195 | { "stub", STUB }, | ^~~~~~ proto/ospf/config.Y:195:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 195 | { "tick", TICK }, | ^~~~~~ proto/ospf/config.Y:195:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 195 | { "cost2", COST2 }, | ^~~~~~~ proto/ospf/config.Y:195:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 195 | { "retransmit", RETRANSMIT }, | ^~~~~~~~~~~~ proto/ospf/config.Y:196:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 196 | { "transmit", TRANSMIT }, | ^~~~~~~~~~ proto/ospf/config.Y:196:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 196 | { "dead", DEAD }, | ^~~~~~ proto/ospf/config.Y:196:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 196 | { "broadcast", BROADCAST }, | ^~~~~~~~~~~ proto/ospf/config.Y:196:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 196 | { "bcast", BCAST }, | ^~~~~~~ proto/ospf/config.Y:197:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 197 | { "nonbroadcast", NONBROADCAST }, | ^~~~~~~~~~~~~~ proto/ospf/config.Y:197:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 197 | { "nbma", NBMA }, | ^~~~~~ proto/ospf/config.Y:197:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 197 | { "pointopoint", POINTOPOINT }, | ^~~~~~~~~~~~~ proto/ospf/config.Y:197:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 197 | { "ptp", PTP }, | ^~~~~ proto/ospf/config.Y:197:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[17]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 197 | { "pointomultipoint", POINTOMULTIPOINT }, | ^~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:197:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 197 | { "ptmp", PTMP }, | ^~~~~~ proto/ospf/config.Y:198:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 198 | { "cryptographic", CRYPTOGRAPHIC }, | ^~~~~~~~~~~~~~~ proto/ospf/config.Y:199:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 199 | { "eligible", ELIGIBLE }, | ^~~~~~~~~~ proto/ospf/config.Y:199:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 199 | { "poll", POLL }, | ^~~~~~ proto/ospf/config.Y:199:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 199 | { "networks", NETWORKS }, | ^~~~~~~~~~ proto/ospf/config.Y:199:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 199 | { "hidden", HIDDEN }, | ^~~~~~~~ proto/ospf/config.Y:199:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 199 | { "virtual", VIRTUAL }, | ^~~~~~~~~ proto/ospf/config.Y:199:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 199 | { "only", ONLY }, | ^~~~~~ proto/ospf/config.Y:200:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 200 | { "large", LARGE }, | ^~~~~~~ proto/ospf/config.Y:200:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 200 | { "normal", NORMAL }, | ^~~~~~~~ proto/ospf/config.Y:200:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 200 | { "stubnet", STUBNET }, | ^~~~~~~~~ proto/ospf/config.Y:200:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 200 | { "tag", TAG }, | ^~~~~ proto/ospf/config.Y:201:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 201 | { "lsadb", LSADB }, | ^~~~~~~ proto/ospf/config.Y:201:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 201 | { "ecmp", ECMP }, | ^~~~~~ proto/ospf/config.Y:201:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 201 | { "nssa", NSSA }, | ^~~~~~ proto/ospf/config.Y:201:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 201 | { "translator", TRANSLATOR }, | ^~~~~~~~~~~~ proto/ospf/config.Y:201:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 201 | { "stability", STABILITY }, | ^~~~~~~~~~~ proto/ospf/config.Y:202:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 202 | { "lsid", LSID }, | ^~~~~~ proto/ospf/config.Y:202:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 202 | { "instance", INSTANCE }, | ^~~~~~~~~~ proto/ospf/config.Y:202:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 202 | { "real", REAL }, | ^~~~~~ proto/ospf/config.Y:202:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 202 | { "netmask", NETMASK }, | ^~~~~~~~~ proto/ospf/config.Y:203:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 203 | { "merge", MERGE }, | ^~~~~~~ proto/ospf/config.Y:203:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 203 | { "lsa", LSA }, | ^~~~~ proto/ospf/config.Y:203:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 203 | { "suppression", SUPPRESSION }, | ^~~~~~~~~~~~~ proto/ospf/config.Y:203:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 203 | { "rfc5838", RFC5838 }, | ^~~~~~~~~ proto/ospf/config.Y:203:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 203 | { "pe", PE }, | ^~~~ proto/ospf/config.Y:526:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 526 | { "topology", TOPOLOGY }, | ^~~~~~~~~~ proto/ospf/config.Y:534:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 534 | { "state", STATE }, | ^~~~~~~ proto/pipe/config.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "pipe", PIPE }, | ^~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "radv", RADV }, | ^~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "ra", RA }, | ^~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "solicited", SOLICITED }, | ^~~~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "unicast", UNICAST }, | ^~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "managed", MANAGED }, | ^~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "other", OTHER }, | ^~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "config", CONFIG }, | ^~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "linger", LINGER }, | ^~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "mtu", MTU }, | ^~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "reachable", REACHABLE }, | ^~~~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "retrans", RETRANS }, | ^~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "timer", TIMER }, | ^~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "current", CURRENT }, | ^~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "valid", VALID }, | ^~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "mult", MULT }, | ^~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "lifetime", LIFETIME }, | ^~~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "skip", SKIP }, | ^~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "autonomous", AUTONOMOUS }, | ^~~~~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "rdnss", RDNSS }, | ^~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "dnssl", DNSSL }, | ^~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "ns", NS }, | ^~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "trigger", TRIGGER }, | ^~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "sensitive", SENSITIVE }, | ^~~~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "low", LOW }, | ^~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "medium", MEDIUM }, | ^~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "high", HIGH }, | ^~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "propagate", PROPAGATE }, | ^~~~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "ra_preference", RA_PREFERENCE }, | ^~~~~~~~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "ra_lifetime", RA_LIFETIME }, | ^~~~~~~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "custom", CUSTOM }, | ^~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "option", OPTION }, | ^~~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "value", VALUE }, | ^~~~~~~ proto/radv/config.Y:40:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 40 | { "pd", PD }, | ^~~~ proto/radv/config.Y:47:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 47 | { "RA_PREF_LOW", -((T_ENUM_RA_PREFERENCE<<16) | RA_PREF_LOW) }, | ^~~~~~~~~~~~~ proto/radv/config.Y:47:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 47 | { "RA_PREF_MEDIUM", -((T_ENUM_RA_PREFERENCE<<16) | RA_PREF_MEDIUM) }, | ^~~~~~~~~~~~~~~~ proto/radv/config.Y:47:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 47 | { "RA_PREF_HIGH", -((T_ENUM_RA_PREFERENCE<<16) | RA_PREF_HIGH) }, | ^~~~~~~~~~~~~~ proto/rip/config.Y:35:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | { "ng", NG }, | ^~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "rip", RIP }, | ^~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "infinity", INFINITY }, | ^~~~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "timeout", TIMEOUT }, | ^~~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "garbage", GARBAGE }, | ^~~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "mode", MODE }, | ^~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "version", VERSION }, | ^~~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "split", SPLIT }, | ^~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "horizon", HORIZON }, | ^~~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "poison", POISON }, | ^~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "reverse", REVERSE }, | ^~~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "plaintext", PLAINTEXT }, | ^~~~~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "demand", DEMAND }, | ^~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "circuit", CIRCUIT }, | ^~~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "rip_metric", RIP_METRIC }, | ^~~~~~~~~~~~ proto/rip/config.Y:36:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 36 | { "rip_tag", RIP_TAG }, | ^~~~~~~~~ proto/rpki/config.Y:35:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | { "remote", REMOTE }, | ^~~~~~~~ proto/rpki/config.Y:35:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | { "bird", BIRD }, | ^~~~~~ proto/rpki/config.Y:35:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | { "private", PRIVATE }, | ^~~~~~~~~ proto/rpki/config.Y:35:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | { "public", PUBLIC }, | ^~~~~~~~ proto/rpki/config.Y:35:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | { "ssh", SSH }, | ^~~~~ proto/rpki/config.Y:35:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | { "transport", TRANSPORT }, | ^~~~~~~~~~~ proto/rpki/config.Y:35:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | { "user", USER }, | ^~~~~~ proto/rpki/config.Y:35:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | { "expire", EXPIRE }, | ^~~~~~~~ proto/static/config.Y:49:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 49 | { "prohibit", PROHIBIT }, | ^~~~~~~~~~ proto/static/config.Y:50:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 50 | { "blackhole", BLACKHOLE }, | ^~~~~~~~~~~ proto/static/config.Y:50:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 50 | { "unreachable", UNREACHABLE }, | ^~~~~~~~~~~~~ proto/static/config.Y:51:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 51 | { "transit", TRANSIT }, | ^~~~~~~~~ proto/static/config.Y:51:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 51 | { "providers", PROVIDERS }, | ^~~~~~~~~~~ sysdep/unix/config.Y:21:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 21 | { "syslog", SYSLOG }, | ^~~~~~~~ sysdep/unix/config.Y:21:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 21 | { "stderr", STDERR }, | ^~~~~~~~ sysdep/unix/config.Y:21:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 21 | { "udp", UDP }, | ^~~~~ sysdep/unix/config.Y:21:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 21 | { "cli", CLI }, | ^~~~~ sysdep/unix/config.Y:22:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 22 | { "trace", TRACE }, | ^~~~~~~ sysdep/unix/config.Y:22:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 22 | { "info", INFO }, | ^~~~~~ sysdep/unix/config.Y:22:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 22 | { "warning", WARNING }, | ^~~~~~~~~ sysdep/unix/config.Y:22:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 22 | { "auth", AUTH }, | ^~~~~~ sysdep/unix/config.Y:22:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 22 | { "fatal", FATAL }, | ^~~~~~~ sysdep/unix/config.Y:22:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 22 | { "bug", BUG }, | ^~~~~ sysdep/unix/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "latency", LATENCY }, | ^~~~~~~~~ sysdep/unix/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "watchdog", WATCHDOG }, | ^~~~~~~~~~ sysdep/unix/config.Y:23:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 23 | { "threads", THREADS }, | ^~~~~~~~~ sysdep/unix/config.Y:163:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 163 | { "configure", CONFIGURE }, | ^~~~~~~~~~~ sysdep/unix/config.Y:166:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 166 | { "soft", SOFT }, | ^~~~~~ sysdep/unix/config.Y:173:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 173 | { "confirm", CONFIRM }, | ^~~~~~~~~ sysdep/unix/config.Y:176:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 176 | { "undo", UNDO }, | ^~~~~~ sysdep/unix/config.Y:185:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 185 | { "down", DOWN }, | ^~~~~~ sysdep/unix/krt.Y:32:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 32 | { "kernel", KERNEL }, | ^~~~~~~~ sysdep/unix/krt.Y:32:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 32 | { "persist", PERSIST }, | ^~~~~~~~~ sysdep/unix/krt.Y:32:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[5]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 32 | { "scan", SCAN }, | ^~~~~~ sysdep/unix/krt.Y:32:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 32 | { "learn", LEARN }, | ^~~~~~~ sysdep/unix/krt.Y:32:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[7]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 32 | { "device", DEVICE }, | ^~~~~~~~ sysdep/unix/krt.Y:32:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 32 | { "krt_source", KRT_SOURCE }, | ^~~~~~~~~~~~ sysdep/unix/krt.Y:32:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 32 | { "krt_metric", KRT_METRIC }, | ^~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "netlink", NETLINK }, | ^~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_prefsrc", KRT_PREFSRC }, | ^~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_realm", KRT_REALM }, | ^~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[10]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_scope", KRT_SCOPE }, | ^~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_mtu", KRT_MTU }, | ^~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_window", KRT_WINDOW }, | ^~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[8]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_rtt", KRT_RTT }, | ^~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_rttvar", KRT_RTTVAR }, | ^~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_ssthresh", KRT_SSTHRESH }, | ^~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[9]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_cwnd", KRT_CWND }, | ^~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[11]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_advmss", KRT_ADVMSS }, | ^~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[15]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_reordering", KRT_REORDERING }, | ^~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_hoplimit", KRT_HOPLIMIT }, | ^~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_initcwnd", KRT_INITCWND }, | ^~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_rto_min", KRT_RTO_MIN }, | ^~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_initrwnd", KRT_INITRWND }, | ^~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_quickack", KRT_QUICKACK }, | ^~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_congctl", KRT_CONGCTL }, | ^~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:13:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[23]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 13 | { "krt_fastopen_no_cookie", KRT_FASTOPEN_NO_COOKIE }, | ^~~~~~~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_mtu", KRT_LOCK_MTU }, | ^~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_window", KRT_LOCK_WINDOW }, | ^~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[13]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_rtt", KRT_LOCK_RTT }, | ^~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_rttvar", KRT_LOCK_RTTVAR }, | ^~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_ssthresh", KRT_LOCK_SSTHRESH }, | ^~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_cwnd", KRT_LOCK_CWND }, | ^~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_advmss", KRT_LOCK_ADVMSS }, | ^~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[20]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_reordering", KRT_LOCK_REORDERING }, | ^~~~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_hoplimit", KRT_LOCK_HOPLIMIT }, | ^~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_initcwnd", KRT_LOCK_INITCWND }, | ^~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[17]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_rto_min", KRT_LOCK_RTO_MIN }, | ^~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_initrwnd", KRT_LOCK_INITRWND }, | ^~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_quickack", KRT_LOCK_QUICKACK }, | ^~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[17]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_congctl", KRT_LOCK_CONGCTL }, | ^~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[28]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_lock_fastopen_no_cookie", KRT_LOCK_FASTOPEN_NO_COOKIE }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_feature_ecn", KRT_FEATURE_ECN }, | ^~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:19:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[20]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 19 | { "krt_feature_allfrag", KRT_FEATURE_ALLFRAG }, | ^~~~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:26:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 26 | { "krt_sstresh", KRT_SSTRESH }, | ^~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.Y:26:3: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[17]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 26 | { "krt_lock_sstresh", KRT_LOCK_SSTRESH }, | ^~~~~~~~~~~~~~~~~~ conf/cf-lex.l:74:1: warning: passing 'char[0]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 74 | HASH_DEFINE_REHASH_FN(SYM, struct symbol) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:112:5: note: expanded from macro 'HASH_DEFINE_REHASH_FN' 112 | { HASH_REHASH(* (HASH(type) *) v, id, p, step); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:98:2: note: expanded from macro 'HASH_REHASH' 98 | HASH_INSERT(v, id, _n); \ | ^~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:45:38: note: expanded from macro 'HASH_INSERT' 45 | u32 _h = HASH_FN(v, id, id##_KEY((node))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ conf/cf-lex.l:64:21: note: expanded from macro 'SYM_KEY' 64 | #define SYM_KEY(n) n->name | ^ ./lib/hash.h:18:46: note: expanded from macro 'HASH_FN' 18 | #define HASH_FN(v,id,key...) ((u32) (id##_FN(key)) >> (32 - (v).order)) | ~~~~~~~~^~~~ conf/cf-lex.l:67:28: note: expanded from macro 'SYM_FN' 67 | #define SYM_FN(k) cf_hash(k) | ^ conf/cf-lex.l:62:33: note: passing argument to parameter 'c' here 62 | static uint cf_hash(const byte *c); | ^ obj/conf/cf-lex.c:11948:13: warning: passing 'char *' to parameter of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 11948 | YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11949 | (yy_n_chars), num_to_read ); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ conf/cf-lex.l:97:56: note: expanded from macro 'YY_INPUT' 97 | #define YY_INPUT(buf,result,max) result = cf_read_hook(buf, max, ifs->fd); | ^~~ conf/cf-lex.l:569:19: warning: passing 'const byte *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 569 | uint l = strlen(c); | ^ /usr/include/string.h:100:28: note: passing argument to parameter here 100 | size_t strlen(const char *) __pure; | ^ conf/cf-lex.l:575:19: warning: passing 'const byte *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 575 | strcpy(s->name, c); | ^ /usr/include/string.h:87:56: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ conf/cf-lex.l:580:3: warning: passing 'char[0]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 580 | HASH_INSERT2(scope->hash, SYM, p, s); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:146:5: note: expanded from macro 'HASH_INSERT2' 146 | HASH_INSERT(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:45:38: note: expanded from macro 'HASH_INSERT' 45 | u32 _h = HASH_FN(v, id, id##_KEY((node))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ conf/cf-lex.l:64:21: note: expanded from macro 'SYM_KEY' 64 | #define SYM_KEY(n) n->name | ^ ./lib/hash.h:18:46: note: expanded from macro 'HASH_FN' 18 | #define HASH_FN(v,id,key...) ((u32) (id##_FN(key)) >> (32 - (v).order)) | ~~~~~~~~^~~~ conf/cf-lex.l:67:28: note: expanded from macro 'SYM_FN' 67 | #define SYM_FN(k) cf_hash(k) | ^ conf/cf-lex.l:391:21: note: passing argument to parameter 'c' here 391 | cf_hash(const byte *c) | ^ conf/cf-lex.l:606:62: warning: passing 'const byte *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 606 | if (scope->hash.data && (s = HASH_FIND(scope->hash, SYM, c))) | ^ ./lib/hash.h:38:48: note: expanded from macro 'HASH_FIND' 38 | while (_n && !HASH_EQ(v, id, id##_KEY(_n), key)) \ | ^~~ ./lib/hash.h:17:45: note: expanded from macro 'HASH_EQ' 17 | #define HASH_EQ(v,id,k1,k2...) (id##_EQ(k1, k2)) | ^~ conf/cf-lex.l:66:32: note: expanded from macro 'SYM_EQ' 66 | #define SYM_EQ(a,b) !strcmp(a,b) | ^ /usr/include/string.h:85:39: note: passing argument to parameter here 85 | int strcmp(const char *, const char *) __pure; | ^ conf/cf-lex.l:655:68: warning: passing 'char[0]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 655 | return cf_new_symbol(conf->current_scope, conf->pool, conf->mem, sym->name); | ^~~~~~~~~ conf/cf-lex.l:562:81: note: passing argument to parameter 'c' here 562 | cf_new_symbol(struct sym_scope *scope, pool *p, struct linpool *lp, const byte *c) | ^ conf/cf-lex.l:668:31: warning: passing 'char[64]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 668 | s = cf_get_symbol(conf, buf); | ^~~ conf/cf-lex.l:624:48: note: passing argument to parameter 'c' here 624 | cf_get_symbol(struct config *conf, const byte *c) | ^ conf/cf-lex.l:681:50: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 681 | struct symbol *sym = cf_get_symbol(new_config, data); | ^~~~ conf/cf-lex.l:624:48: note: passing argument to parameter 'c' here 624 | cf_get_symbol(struct config *conf, const byte *c) | ^ 639 warnings generated. CC -o obj/conf/conf.o -c conf/conf.c CC -o obj/filter/filter.o -c filter/filter.c filter/filter.c:453:14: warning: passing 'char[0]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 453 | if ((osym = cf_find_symbol(old, sym->name)) && | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./conf/conf.h:216:16: note: expanded from macro 'cf_find_symbol' 216 | )((where), (what)) | ^~~~~~ ./conf/conf.h:210:87: note: passing argument to parameter 'c' here 210 | static inline struct symbol *cf_find_symbol_cfg(const struct config *cfg, const byte *c) | ^ filter/filter.c:462:14: warning: passing 'char[0]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 462 | if ((osym = cf_find_symbol(old, sym->name)) && | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./conf/conf.h:216:16: note: expanded from macro 'cf_find_symbol' 216 | )((where), (what)) | ^~~~~~ ./conf/conf.h:210:87: note: passing argument to parameter 'c' here 210 | static inline struct symbol *cf_find_symbol_cfg(const struct config *cfg, const byte *c) | ^ 2 warnings generated. CC -o obj/filter/data.o -c filter/data.c filter/data.c:549:21: warning: passing 'const char *const' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 549 | return patmatch(v2->val.s, v1->val.s); | ^~~~~~~~~ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ filter/data.c:549:32: warning: passing 'const char *const' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 549 | return patmatch(v2->val.s, v1->val.s); | ^~~~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ filter/data.c:634:24: warning: passing 'char[1024]' to parameter of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 634 | case T_EC: ec_format(buf2, v->val.ec); buffer_print(buf, "%s", buf2); return; | ^~~~ ./nest/attrs.h:217:21: note: passing argument to parameter 'buf' here 217 | int ec_format(byte *buf, u64 ec); | ^ filter/data.c:635:24: warning: passing 'char[1024]' to parameter of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 635 | case T_LC: lc_format(buf2, v->val.lc); buffer_print(buf, "%s", buf2); return; | ^~~~ ./nest/attrs.h:219:21: note: passing argument to parameter 'buf' here 219 | int lc_format(byte *buf, lcomm lc); | ^ filter/data.c:640:42: warning: passing 'char[1024]' to parameter of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 640 | case T_PATH: as_path_format(v->val.ad, buf2, 1000); buffer_print(buf, "(path %s)", buf2); return; | ^~~~ ./nest/attrs.h:45:53: note: passing argument to parameter 'buf' here 45 | void as_path_format(const struct adata *path, byte *buf, uint size) ACCESS_WRITE(2, 3); | ^ filter/data.c:641:50: warning: passing 'char[1024]' to parameter of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 641 | case T_CLIST: int_set_format(v->val.ad, 1, -1, buf2, 1000); buffer_print(buf, "(clist %s)", buf2); return; | ^~~~ ./nest/attrs.h:216:79: note: passing argument to parameter 'buf' here 216 | int int_set_format(const struct adata *set, enum isf_way way, int from, byte *buf, uint size) ACCESS_WRITE(4, 5); | ^ filter/data.c:642:47: warning: passing 'char[1024]' to parameter of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 642 | case T_ECLIST: ec_set_format(v->val.ad, -1, buf2, 1000); buffer_print(buf, "(eclist %s)", buf2); return; | ^~~~ ./nest/attrs.h:218:60: note: passing argument to parameter 'buf' here 218 | int ec_set_format(const struct adata *set, int from, byte *buf, uint size) ACCESS_WRITE(3, 4); | ^ filter/data.c:643:47: warning: passing 'char[1024]' to parameter of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 643 | case T_LCLIST: lc_set_format(v->val.ad, -1, buf2, 1000); buffer_print(buf, "(lclist %s)", buf2); return; | ^~~~ ./nest/attrs.h:220:60: note: passing argument to parameter 'buf' here 220 | int lc_set_format(const struct adata *set, int from, byte *buf, uint size) ACCESS_WRITE(3, 4); | ^ filter/data.c:656:24: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 656 | return lp_strdup(lp, b.start); | ^~~~~~~ ./lib/string.h:61:36: note: passing argument to parameter 'c' here 61 | lp_strdup(linpool *lp, const char *c) | ^ filter/data.c:664:14: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[1024]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 664 | .start = val_dump_buffer, | ^~~~~~~~~~~~~~~ filter/data.c:665:12: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 665 | .end = val_dump_buffer + 1024, | ^~~~~~~~~~~~~~~~~~~~~~ 11 warnings generated. CC -o obj/filter/f-util.o -c filter/f-util.c filter/f-util.c:137:9: warning: initializing 'char *' with an expression of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 137 | char *types = tbuf.start + 3; | ^ ~~~~~~~~~~~~~~ filter/f-util.c:148:52: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 148 | struct symbol *sym = cf_find_symbol_scope(scope, name); | ^~~~ ./conf/conf.h:209:80: note: passing argument to parameter 'c' here 209 | struct symbol *cf_find_symbol_scope(const struct sym_scope *scope, const byte *c); | ^ filter/f-util.c:169:59: warning: passing 'char[10]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 169 | struct symbol *ms = scope ? cf_find_symbol_scope(scope, "!for_next") : NULL; | ^~~~~~~~~~~ ./conf/conf.h:209:80: note: passing argument to parameter 'c' here 209 | struct symbol *cf_find_symbol_scope(const struct sym_scope *scope, const byte *c); | ^ filter/f-util.c:247:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 247 | HASH_REMOVE(ca_hash, CA, cas); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ filter/f-util.c:247:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ filter/f-util.c:247:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ 4 warnings generated. CC -o obj/filter/tree.o -c filter/tree.c CC -o obj/filter/trie.o -c filter/trie.c gm4 -s -DTARGET=C -P filter/decl.m4 filter/f-inst.c obj/.dir-stamp >obj/filter/inst-gen.c CC -o obj/filter/inst-gen.o -c obj/filter/inst-gen.c filter/f-inst.c:287:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 287 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:287:17: note: place parentheses around the assignment to silence this warning 287 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:287:17: note: use '==' to turn this assignment into an equality comparison 287 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:288:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 288 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:288:17: note: place parentheses around the assignment to silence this warning 288 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:288:17: note: use '==' to turn this assignment into an equality comparison 288 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:292:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 292 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:292:17: note: place parentheses around the assignment to silence this warning 292 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:292:17: note: use '==' to turn this assignment into an equality comparison 292 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:293:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 293 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:293:17: note: place parentheses around the assignment to silence this warning 293 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:293:17: note: use '==' to turn this assignment into an equality comparison 293 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:297:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 297 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:297:17: note: place parentheses around the assignment to silence this warning 297 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:297:17: note: use '==' to turn this assignment into an equality comparison 297 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:298:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 298 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:298:17: note: place parentheses around the assignment to silence this warning 298 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:298:17: note: use '==' to turn this assignment into an equality comparison 298 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:302:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 302 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:302:17: note: place parentheses around the assignment to silence this warning 302 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:302:17: note: use '==' to turn this assignment into an equality comparison 302 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:303:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 303 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:303:17: note: place parentheses around the assignment to silence this warning 303 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:303:17: note: use '==' to turn this assignment into an equality comparison 303 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:308:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 308 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:308:17: note: place parentheses around the assignment to silence this warning 308 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:308:17: note: use '==' to turn this assignment into an equality comparison 308 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:318:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 318 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:318:17: note: place parentheses around the assignment to silence this warning 318 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:318:17: note: use '==' to turn this assignment into an equality comparison 318 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:329:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 329 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:329:17: note: place parentheses around the assignment to silence this warning 329 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:329:17: note: use '==' to turn this assignment into an equality comparison 329 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:330:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 330 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:330:17: note: place parentheses around the assignment to silence this warning 330 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:330:17: note: use '==' to turn this assignment into an equality comparison 330 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:339:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 339 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:339:17: note: place parentheses around the assignment to silence this warning 339 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:339:17: note: use '==' to turn this assignment into an equality comparison 339 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:340:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 340 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:340:17: note: place parentheses around the assignment to silence this warning 340 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:340:17: note: use '==' to turn this assignment into an equality comparison 340 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:379:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 379 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:379:17: note: place parentheses around the assignment to silence this warning 379 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:379:17: note: use '==' to turn this assignment into an equality comparison 379 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:380:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 380 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:380:17: note: place parentheses around the assignment to silence this warning 380 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:380:17: note: use '==' to turn this assignment into an equality comparison 380 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:381:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 381 | } while (child3 = child3->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:381:17: note: place parentheses around the assignment to silence this warning 381 | } while (child3 = child3->next); | ^ | ( ) filter/f-inst.c:381:17: note: use '==' to turn this assignment into an equality comparison 381 | } while (child3 = child3->next); | ^ | == filter/f-inst.c:436:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 436 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:436:17: note: place parentheses around the assignment to silence this warning 436 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:436:17: note: use '==' to turn this assignment into an equality comparison 436 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:437:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 437 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:437:17: note: place parentheses around the assignment to silence this warning 437 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:437:17: note: use '==' to turn this assignment into an equality comparison 437 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:443:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 443 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:443:17: note: place parentheses around the assignment to silence this warning 443 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:443:17: note: use '==' to turn this assignment into an equality comparison 443 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:444:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 444 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:444:17: note: place parentheses around the assignment to silence this warning 444 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:444:17: note: use '==' to turn this assignment into an equality comparison 444 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:450:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 450 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:450:17: note: place parentheses around the assignment to silence this warning 450 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:450:17: note: use '==' to turn this assignment into an equality comparison 450 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:451:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 451 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:451:17: note: place parentheses around the assignment to silence this warning 451 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:451:17: note: use '==' to turn this assignment into an equality comparison 451 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:461:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 461 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:461:17: note: place parentheses around the assignment to silence this warning 461 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:461:17: note: use '==' to turn this assignment into an equality comparison 461 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:462:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 462 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:462:17: note: place parentheses around the assignment to silence this warning 462 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:462:17: note: use '==' to turn this assignment into an equality comparison 462 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:472:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 472 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:472:17: note: place parentheses around the assignment to silence this warning 472 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:472:17: note: use '==' to turn this assignment into an equality comparison 472 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:477:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 477 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:477:17: note: place parentheses around the assignment to silence this warning 477 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:477:17: note: use '==' to turn this assignment into an equality comparison 477 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:478:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 478 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:478:17: note: place parentheses around the assignment to silence this warning 478 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:478:17: note: use '==' to turn this assignment into an equality comparison 478 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:486:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 486 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:486:17: note: place parentheses around the assignment to silence this warning 486 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:486:17: note: use '==' to turn this assignment into an equality comparison 486 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:487:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 487 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:487:17: note: place parentheses around the assignment to silence this warning 487 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:487:17: note: use '==' to turn this assignment into an equality comparison 487 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:495:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 495 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:495:17: note: place parentheses around the assignment to silence this warning 495 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:495:17: note: use '==' to turn this assignment into an equality comparison 495 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:499:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 499 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:499:17: note: place parentheses around the assignment to silence this warning 499 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:499:17: note: use '==' to turn this assignment into an equality comparison 499 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:500:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 500 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:500:17: note: place parentheses around the assignment to silence this warning 500 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:500:17: note: use '==' to turn this assignment into an equality comparison 500 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:505:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 505 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:505:17: note: place parentheses around the assignment to silence this warning 505 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:505:17: note: use '==' to turn this assignment into an equality comparison 505 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:529:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 529 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:529:17: note: place parentheses around the assignment to silence this warning 529 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:529:17: note: use '==' to turn this assignment into an equality comparison 529 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:556:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 556 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:556:17: note: place parentheses around the assignment to silence this warning 556 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:556:17: note: use '==' to turn this assignment into an equality comparison 556 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:557:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 557 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:557:17: note: place parentheses around the assignment to silence this warning 557 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:557:17: note: use '==' to turn this assignment into an equality comparison 557 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:558:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 558 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:558:17: note: place parentheses around the assignment to silence this warning 558 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:558:17: note: use '==' to turn this assignment into an equality comparison 558 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:559:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 559 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:559:17: note: place parentheses around the assignment to silence this warning 559 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:559:17: note: use '==' to turn this assignment into an equality comparison 559 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:586:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 586 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:586:17: note: place parentheses around the assignment to silence this warning 586 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:586:17: note: use '==' to turn this assignment into an equality comparison 586 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:595:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 595 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:595:17: note: place parentheses around the assignment to silence this warning 595 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:595:17: note: use '==' to turn this assignment into an equality comparison 595 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:604:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 604 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:604:17: note: place parentheses around the assignment to silence this warning 604 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:604:17: note: use '==' to turn this assignment into an equality comparison 604 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:613:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 613 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:613:17: note: place parentheses around the assignment to silence this warning 613 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:613:17: note: use '==' to turn this assignment into an equality comparison 613 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:622:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 622 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:622:17: note: place parentheses around the assignment to silence this warning 622 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:622:17: note: use '==' to turn this assignment into an equality comparison 622 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:637:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 637 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:637:17: note: place parentheses around the assignment to silence this warning 637 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:637:17: note: use '==' to turn this assignment into an equality comparison 637 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:646:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 646 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:646:17: note: place parentheses around the assignment to silence this warning 646 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:646:17: note: use '==' to turn this assignment into an equality comparison 646 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:676:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 676 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:676:17: note: place parentheses around the assignment to silence this warning 676 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:676:17: note: use '==' to turn this assignment into an equality comparison 676 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:715:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 715 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:715:17: note: place parentheses around the assignment to silence this warning 715 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:715:17: note: use '==' to turn this assignment into an equality comparison 715 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:861:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 861 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:861:17: note: place parentheses around the assignment to silence this warning 861 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:861:17: note: use '==' to turn this assignment into an equality comparison 861 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:916:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 916 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:916:17: note: place parentheses around the assignment to silence this warning 916 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:916:17: note: use '==' to turn this assignment into an equality comparison 916 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:999:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 999 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:999:17: note: place parentheses around the assignment to silence this warning 999 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:999:17: note: use '==' to turn this assignment into an equality comparison 999 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1000:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1000 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1000:17: note: place parentheses around the assignment to silence this warning 1000 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1000:17: note: use '==' to turn this assignment into an equality comparison 1000 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1001:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1001 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1001:17: note: place parentheses around the assignment to silence this warning 1001 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1001:17: note: use '==' to turn this assignment into an equality comparison 1001 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1002:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1002 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1002:17: note: place parentheses around the assignment to silence this warning 1002 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1002:17: note: use '==' to turn this assignment into an equality comparison 1002 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1003:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1003 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1003:17: note: place parentheses around the assignment to silence this warning 1003 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1003:17: note: use '==' to turn this assignment into an equality comparison 1003 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1006:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1006 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1006:17: note: place parentheses around the assignment to silence this warning 1006 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1006:17: note: use '==' to turn this assignment into an equality comparison 1006 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1042:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1042 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1042:17: note: place parentheses around the assignment to silence this warning 1042 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1042:17: note: use '==' to turn this assignment into an equality comparison 1042 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1078:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1078 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1078:17: note: place parentheses around the assignment to silence this warning 1078 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1078:17: note: use '==' to turn this assignment into an equality comparison 1078 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1088:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1088 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1088:17: note: place parentheses around the assignment to silence this warning 1088 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1088:17: note: use '==' to turn this assignment into an equality comparison 1088 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1098:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1098 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1098:17: note: place parentheses around the assignment to silence this warning 1098 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1098:17: note: use '==' to turn this assignment into an equality comparison 1098 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1101:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1101 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1101:17: note: place parentheses around the assignment to silence this warning 1101 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1101:17: note: use '==' to turn this assignment into an equality comparison 1101 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1109:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1109 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1109:17: note: place parentheses around the assignment to silence this warning 1109 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1109:17: note: use '==' to turn this assignment into an equality comparison 1109 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1112:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1112 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1112:17: note: place parentheses around the assignment to silence this warning 1112 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1112:17: note: use '==' to turn this assignment into an equality comparison 1112 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1115:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1115 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1115:17: note: place parentheses around the assignment to silence this warning 1115 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1115:17: note: use '==' to turn this assignment into an equality comparison 1115 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1118:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1118 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1118:17: note: place parentheses around the assignment to silence this warning 1118 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1118:17: note: use '==' to turn this assignment into an equality comparison 1118 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1121:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1121 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1121:17: note: place parentheses around the assignment to silence this warning 1121 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1121:17: note: use '==' to turn this assignment into an equality comparison 1121 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1124:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1124 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1124:17: note: place parentheses around the assignment to silence this warning 1124 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1124:17: note: use '==' to turn this assignment into an equality comparison 1124 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1127:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1127 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1127:17: note: place parentheses around the assignment to silence this warning 1127 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1127:17: note: use '==' to turn this assignment into an equality comparison 1127 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1130:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1130 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1130:17: note: place parentheses around the assignment to silence this warning 1130 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1130:17: note: use '==' to turn this assignment into an equality comparison 1130 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1133:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1133 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1133:17: note: place parentheses around the assignment to silence this warning 1133 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1133:17: note: use '==' to turn this assignment into an equality comparison 1133 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1136:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1136 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1136:17: note: place parentheses around the assignment to silence this warning 1136 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1136:17: note: use '==' to turn this assignment into an equality comparison 1136 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1139:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1139 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1139:17: note: place parentheses around the assignment to silence this warning 1139 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1139:17: note: use '==' to turn this assignment into an equality comparison 1139 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1142:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1142 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1142:17: note: place parentheses around the assignment to silence this warning 1142 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1142:17: note: use '==' to turn this assignment into an equality comparison 1142 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1145:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1145 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1145:17: note: place parentheses around the assignment to silence this warning 1145 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1145:17: note: use '==' to turn this assignment into an equality comparison 1145 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1148:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1148 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1148:17: note: place parentheses around the assignment to silence this warning 1148 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1148:17: note: use '==' to turn this assignment into an equality comparison 1148 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1153:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1153 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1153:17: note: place parentheses around the assignment to silence this warning 1153 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1153:17: note: use '==' to turn this assignment into an equality comparison 1153 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1237:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1237 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1237:17: note: place parentheses around the assignment to silence this warning 1237 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1237:17: note: use '==' to turn this assignment into an equality comparison 1237 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1241:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1241 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1241:17: note: place parentheses around the assignment to silence this warning 1241 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1241:17: note: use '==' to turn this assignment into an equality comparison 1241 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1285:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1285 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1285:17: note: place parentheses around the assignment to silence this warning 1285 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1285:17: note: use '==' to turn this assignment into an equality comparison 1285 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1286:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1286 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1286:17: note: place parentheses around the assignment to silence this warning 1286 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1286:17: note: use '==' to turn this assignment into an equality comparison 1286 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1294:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1294 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1294:17: note: place parentheses around the assignment to silence this warning 1294 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1294:17: note: use '==' to turn this assignment into an equality comparison 1294 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1295:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1295 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1295:17: note: place parentheses around the assignment to silence this warning 1295 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1295:17: note: use '==' to turn this assignment into an equality comparison 1295 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1302:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1302 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1302:17: note: place parentheses around the assignment to silence this warning 1302 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1302:17: note: use '==' to turn this assignment into an equality comparison 1302 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1303:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1303 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1303:17: note: place parentheses around the assignment to silence this warning 1303 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1303:17: note: use '==' to turn this assignment into an equality comparison 1303 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1310:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1310 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1310:17: note: place parentheses around the assignment to silence this warning 1310 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1310:17: note: use '==' to turn this assignment into an equality comparison 1310 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1311:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1311 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1311:17: note: place parentheses around the assignment to silence this warning 1311 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1311:17: note: use '==' to turn this assignment into an equality comparison 1311 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1318:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1318 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1318:17: note: place parentheses around the assignment to silence this warning 1318 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1318:17: note: use '==' to turn this assignment into an equality comparison 1318 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1319:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1319 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1319:17: note: place parentheses around the assignment to silence this warning 1319 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1319:17: note: use '==' to turn this assignment into an equality comparison 1319 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1326:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1326 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1326:17: note: place parentheses around the assignment to silence this warning 1326 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1326:17: note: use '==' to turn this assignment into an equality comparison 1326 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1327:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1327 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1327:17: note: place parentheses around the assignment to silence this warning 1327 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1327:17: note: use '==' to turn this assignment into an equality comparison 1327 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1333:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1333 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1333:17: note: place parentheses around the assignment to silence this warning 1333 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1333:17: note: use '==' to turn this assignment into an equality comparison 1333 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1334:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1334 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1334:17: note: place parentheses around the assignment to silence this warning 1334 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1334:17: note: use '==' to turn this assignment into an equality comparison 1334 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1347:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1347 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1347:17: note: place parentheses around the assignment to silence this warning 1347 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1347:17: note: use '==' to turn this assignment into an equality comparison 1347 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1348:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1348 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1348:17: note: place parentheses around the assignment to silence this warning 1348 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1348:17: note: use '==' to turn this assignment into an equality comparison 1348 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1354:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1354 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1354:17: note: place parentheses around the assignment to silence this warning 1354 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1354:17: note: use '==' to turn this assignment into an equality comparison 1354 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1355:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1355 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1355:17: note: place parentheses around the assignment to silence this warning 1355 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1355:17: note: use '==' to turn this assignment into an equality comparison 1355 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1361:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1361 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1361:17: note: place parentheses around the assignment to silence this warning 1361 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1361:17: note: use '==' to turn this assignment into an equality comparison 1361 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1362:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1362 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1362:17: note: place parentheses around the assignment to silence this warning 1362 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1362:17: note: use '==' to turn this assignment into an equality comparison 1362 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1368:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1368 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1368:17: note: place parentheses around the assignment to silence this warning 1368 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1368:17: note: use '==' to turn this assignment into an equality comparison 1368 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1369:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1369 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1369:17: note: place parentheses around the assignment to silence this warning 1369 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1369:17: note: use '==' to turn this assignment into an equality comparison 1369 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1375:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1375 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1375:17: note: place parentheses around the assignment to silence this warning 1375 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1375:17: note: use '==' to turn this assignment into an equality comparison 1375 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1376:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1376 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1376:17: note: place parentheses around the assignment to silence this warning 1376 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1376:17: note: use '==' to turn this assignment into an equality comparison 1376 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1382:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1382 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1382:17: note: place parentheses around the assignment to silence this warning 1382 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1382:17: note: use '==' to turn this assignment into an equality comparison 1382 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1383:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1383 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1383:17: note: place parentheses around the assignment to silence this warning 1383 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1383:17: note: use '==' to turn this assignment into an equality comparison 1383 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1389:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1389 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1389:17: note: place parentheses around the assignment to silence this warning 1389 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1389:17: note: use '==' to turn this assignment into an equality comparison 1389 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1390:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1390 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1390:17: note: place parentheses around the assignment to silence this warning 1390 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1390:17: note: use '==' to turn this assignment into an equality comparison 1390 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1396:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1396 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1396:17: note: place parentheses around the assignment to silence this warning 1396 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1396:17: note: use '==' to turn this assignment into an equality comparison 1396 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1397:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1397 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1397:17: note: place parentheses around the assignment to silence this warning 1397 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1397:17: note: use '==' to turn this assignment into an equality comparison 1397 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1408:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1408 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1408:17: note: place parentheses around the assignment to silence this warning 1408 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1408:17: note: use '==' to turn this assignment into an equality comparison 1408 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1409:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1409 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1409:17: note: place parentheses around the assignment to silence this warning 1409 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1409:17: note: use '==' to turn this assignment into an equality comparison 1409 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1416:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1416 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1416:17: note: place parentheses around the assignment to silence this warning 1416 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1416:17: note: use '==' to turn this assignment into an equality comparison 1416 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1417:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1417 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1417:17: note: place parentheses around the assignment to silence this warning 1417 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1417:17: note: use '==' to turn this assignment into an equality comparison 1417 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1423:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1423 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1423:17: note: place parentheses around the assignment to silence this warning 1423 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1423:17: note: use '==' to turn this assignment into an equality comparison 1423 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1424:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1424 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1424:17: note: place parentheses around the assignment to silence this warning 1424 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1424:17: note: use '==' to turn this assignment into an equality comparison 1424 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1437:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1437 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1437:17: note: place parentheses around the assignment to silence this warning 1437 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1437:17: note: use '==' to turn this assignment into an equality comparison 1437 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1438:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1438 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1438:17: note: place parentheses around the assignment to silence this warning 1438 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1438:17: note: use '==' to turn this assignment into an equality comparison 1438 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1444:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1444 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1444:17: note: place parentheses around the assignment to silence this warning 1444 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1444:17: note: use '==' to turn this assignment into an equality comparison 1444 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1445:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1445 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1445:17: note: place parentheses around the assignment to silence this warning 1445 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1445:17: note: use '==' to turn this assignment into an equality comparison 1445 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1451:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1451 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1451:17: note: place parentheses around the assignment to silence this warning 1451 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1451:17: note: use '==' to turn this assignment into an equality comparison 1451 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1452:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1452 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1452:17: note: place parentheses around the assignment to silence this warning 1452 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1452:17: note: use '==' to turn this assignment into an equality comparison 1452 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1462:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1462 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1462:17: note: place parentheses around the assignment to silence this warning 1462 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1462:17: note: use '==' to turn this assignment into an equality comparison 1462 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1463:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1463 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1463:17: note: place parentheses around the assignment to silence this warning 1463 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1463:17: note: use '==' to turn this assignment into an equality comparison 1463 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1469:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1469 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1469:17: note: place parentheses around the assignment to silence this warning 1469 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1469:17: note: use '==' to turn this assignment into an equality comparison 1469 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1470:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1470 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1470:17: note: place parentheses around the assignment to silence this warning 1470 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1470:17: note: use '==' to turn this assignment into an equality comparison 1470 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1476:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1476 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1476:17: note: place parentheses around the assignment to silence this warning 1476 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1476:17: note: use '==' to turn this assignment into an equality comparison 1476 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1477:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1477 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1477:17: note: place parentheses around the assignment to silence this warning 1477 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1477:17: note: use '==' to turn this assignment into an equality comparison 1477 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1487:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1487 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1487:17: note: place parentheses around the assignment to silence this warning 1487 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1487:17: note: use '==' to turn this assignment into an equality comparison 1487 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1488:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1488 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1488:17: note: place parentheses around the assignment to silence this warning 1488 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1488:17: note: use '==' to turn this assignment into an equality comparison 1488 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1494:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1494 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1494:17: note: place parentheses around the assignment to silence this warning 1494 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1494:17: note: use '==' to turn this assignment into an equality comparison 1494 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1495:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1495 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1495:17: note: place parentheses around the assignment to silence this warning 1495 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1495:17: note: use '==' to turn this assignment into an equality comparison 1495 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1501:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1501 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1501:17: note: place parentheses around the assignment to silence this warning 1501 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1501:17: note: use '==' to turn this assignment into an equality comparison 1501 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1502:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1502 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1502:17: note: place parentheses around the assignment to silence this warning 1502 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1502:17: note: use '==' to turn this assignment into an equality comparison 1502 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1512:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1512 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1512:17: note: place parentheses around the assignment to silence this warning 1512 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1512:17: note: use '==' to turn this assignment into an equality comparison 1512 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1513:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1513 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1513:17: note: place parentheses around the assignment to silence this warning 1513 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1513:17: note: use '==' to turn this assignment into an equality comparison 1513 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1523:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1523 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1523:17: note: place parentheses around the assignment to silence this warning 1523 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1523:17: note: use '==' to turn this assignment into an equality comparison 1523 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1524:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1524 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1524:17: note: place parentheses around the assignment to silence this warning 1524 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1524:17: note: use '==' to turn this assignment into an equality comparison 1524 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1530:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1530 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1530:17: note: place parentheses around the assignment to silence this warning 1530 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1530:17: note: use '==' to turn this assignment into an equality comparison 1530 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1531:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1531 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1531:17: note: place parentheses around the assignment to silence this warning 1531 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1531:17: note: use '==' to turn this assignment into an equality comparison 1531 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1541:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1541 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1541:17: note: place parentheses around the assignment to silence this warning 1541 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1541:17: note: use '==' to turn this assignment into an equality comparison 1541 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1542:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1542 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1542:17: note: place parentheses around the assignment to silence this warning 1542 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1542:17: note: use '==' to turn this assignment into an equality comparison 1542 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1548:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1548 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1548:17: note: place parentheses around the assignment to silence this warning 1548 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1548:17: note: use '==' to turn this assignment into an equality comparison 1548 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1549:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1549 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1549:17: note: place parentheses around the assignment to silence this warning 1549 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1549:17: note: use '==' to turn this assignment into an equality comparison 1549 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1559:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1559 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1559:17: note: place parentheses around the assignment to silence this warning 1559 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1559:17: note: use '==' to turn this assignment into an equality comparison 1559 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1560:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1560 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1560:17: note: place parentheses around the assignment to silence this warning 1560 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1560:17: note: use '==' to turn this assignment into an equality comparison 1560 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1566:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1566 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1566:17: note: place parentheses around the assignment to silence this warning 1566 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1566:17: note: use '==' to turn this assignment into an equality comparison 1566 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1567:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1567 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1567:17: note: place parentheses around the assignment to silence this warning 1567 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1567:17: note: use '==' to turn this assignment into an equality comparison 1567 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1608:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1608 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1608:17: note: place parentheses around the assignment to silence this warning 1608 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1608:17: note: use '==' to turn this assignment into an equality comparison 1608 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1609:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1609 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1609:17: note: place parentheses around the assignment to silence this warning 1609 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1609:17: note: use '==' to turn this assignment into an equality comparison 1609 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1630:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1630 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1630:17: note: place parentheses around the assignment to silence this warning 1630 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1630:17: note: use '==' to turn this assignment into an equality comparison 1630 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1631:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1631 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1631:17: note: place parentheses around the assignment to silence this warning 1631 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1631:17: note: use '==' to turn this assignment into an equality comparison 1631 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1645:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1645 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1645:17: note: place parentheses around the assignment to silence this warning 1645 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1645:17: note: use '==' to turn this assignment into an equality comparison 1645 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1660:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1660 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1660:17: note: place parentheses around the assignment to silence this warning 1660 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1660:17: note: use '==' to turn this assignment into an equality comparison 1660 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1666:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1666 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1666:17: note: place parentheses around the assignment to silence this warning 1666 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1666:17: note: use '==' to turn this assignment into an equality comparison 1666 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:500:28: warning: passing 'char[5]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 500 | f_register_method(T_NET, "type", method); | ^~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:503:27: warning: passing 'char[6]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 503 | f_register_method(T_IP, "is_v4", method); | ^~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:557:29: warning: passing 'char[6]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 557 | f_register_method(T_PATH, "empty", method); | ^~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:558:30: warning: passing 'char[6]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 558 | f_register_method(T_CLIST, "empty", method); | ^~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:559:31: warning: passing 'char[6]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 559 | f_register_method(T_ECLIST, "empty", method); | ^~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:562:31: warning: passing 'char[6]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 562 | f_register_method(T_LCLIST, "empty", method); | ^~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:593:29: warning: passing 'char[10]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 593 | f_register_method(T_PATH, "!for_next", method); | ^~~~~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:602:30: warning: passing 'char[10]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 602 | f_register_method(T_CLIST, "!for_next", method); | ^~~~~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:611:31: warning: passing 'char[10]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 611 | f_register_method(T_ECLIST, "!for_next", method); | ^~~~~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:620:31: warning: passing 'char[10]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 620 | f_register_method(T_LCLIST, "!for_next", method); | ^~~~~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:636:37: warning: passing 'char[10]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 636 | f_register_method(T_ROUTES_BLOCK, "!for_next", method); | ^~~~~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1000:28: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1000 | f_register_method(T_NET, "len", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1001:29: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1001 | f_register_method(T_PATH, "len", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1002:30: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1002 | f_register_method(T_CLIST, "len", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1003:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1003 | f_register_method(T_ECLIST, "len", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1005:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1005 | f_register_method(T_LCLIST, "len", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1041:28: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1041 | f_register_method(T_NET, "src", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1078:28: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1078 | f_register_method(T_NET, "dst", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1088:28: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1088 | f_register_method(T_NET, "maxlen", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1098:28: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1098 | f_register_method(T_NET, "asn", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1100:28: warning: passing 'char[3]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1100 | f_register_method(T_NET, "ip", method); | ^~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1109:28: warning: passing 'char[3]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1109 | f_register_method(T_NET, "rd", method); | ^~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1112:29: warning: passing 'char[6]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1112 | f_register_method(T_PATH, "first", method); | ^~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1115:29: warning: passing 'char[5]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1115 | f_register_method(T_PATH, "last", method); | ^~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1118:29: warning: passing 'char[19]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1118 | f_register_method(T_PATH, "last_nonaggregated", method); | ^~~~~~~~~~~~~~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1121:29: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1121 | f_register_method(T_PAIR, "asn", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1124:29: warning: passing 'char[5]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1124 | f_register_method(T_PAIR, "data", method); | ^~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1127:27: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1127 | f_register_method(T_LC, "asn", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1130:27: warning: passing 'char[6]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1130 | f_register_method(T_LC, "data1", method); | ^~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1133:27: warning: passing 'char[6]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1133 | f_register_method(T_LC, "data2", method); | ^~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1136:30: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1136 | f_register_method(T_CLIST, "min", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1139:30: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1139 | f_register_method(T_CLIST, "max", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1142:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1142 | f_register_method(T_ECLIST, "min", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1145:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1145 | f_register_method(T_ECLIST, "max", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1148:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1148 | f_register_method(T_LCLIST, "min", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1150:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1150 | f_register_method(T_LCLIST, "max", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1293:27: warning: passing 'char[5]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1293 | f_register_method(T_IP, "mask", method); | ^~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1301:29: warning: passing 'char[8]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1301 | f_register_method(T_PATH, "prepend", method); | ^~~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1309:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1309 | f_register_method(T_STRING, "append", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1317:35: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1317 | f_register_method(T_BYTESTRING, "append", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1325:30: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1325 | f_register_method(T_CLIST, "add", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1332:30: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1332 | f_register_method(T_CLIST, "add", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1346:30: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1346 | f_register_method(T_CLIST, "add", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1353:30: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1353 | f_register_method(T_CLIST, "add", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1360:30: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1360 | f_register_method(T_CLIST, "add", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1367:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1367 | f_register_method(T_ECLIST, "add", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1374:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1374 | f_register_method(T_ECLIST, "add", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1381:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1381 | f_register_method(T_LCLIST, "add", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1388:31: warning: passing 'char[4]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1388 | f_register_method(T_LCLIST, "add", method); | ^~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1395:29: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1395 | f_register_method(T_PATH, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1407:29: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1407 | f_register_method(T_PATH, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1415:30: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1415 | f_register_method(T_CLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1422:30: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1422 | f_register_method(T_CLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1436:30: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1436 | f_register_method(T_CLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1443:30: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1443 | f_register_method(T_CLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1450:30: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1450 | f_register_method(T_CLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1461:30: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1461 | f_register_method(T_CLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1468:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1468 | f_register_method(T_ECLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1475:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1475 | f_register_method(T_ECLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1486:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1486 | f_register_method(T_ECLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1493:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1493 | f_register_method(T_LCLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1500:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1500 | f_register_method(T_LCLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1511:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1511 | f_register_method(T_LCLIST, "delete", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1522:29: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1522 | f_register_method(T_PATH, "filter", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1529:30: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1529 | f_register_method(T_CLIST, "filter", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1540:30: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1540 | f_register_method(T_CLIST, "filter", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1547:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1547 | f_register_method(T_ECLIST, "filter", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1558:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1558 | f_register_method(T_ECLIST, "filter", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1565:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1565 | f_register_method(T_LCLIST, "filter", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ filter/f-inst.c:1576:31: warning: passing 'char[7]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1576 | f_register_method(T_LCLIST, "filter", method); | ^~~~~~~~ filter/decl.m4:647:46: note: passing argument to parameter 'name' here 647 | f_register_method(enum f_type t, const byte *name, struct f_method *dsc) | ^ 223 warnings generated. CC -o obj/lib/bitmap.o -c lib/bitmap.c CC -o obj/lib/bitops.o -c lib/bitops.c CC -o obj/lib/blake2s.o -c lib/blake2s.c CC -o obj/lib/blake2b.o -c lib/blake2b.c CC -o obj/lib/checksum.o -c lib/checksum.c CC -o obj/lib/event.o -c lib/event.c CC -o obj/lib/flowspec.o -c lib/flowspec.c lib/flowspec.c:1319:14: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1319 | .start = buf, | ^~~ lib/flowspec.c:1320:12: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1320 | .pos = buf, | ^~~ lib/flowspec.c:1321:12: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1321 | .end = buf + blen, | ^~~~~~~~~~ lib/flowspec.c:1366:44: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1366 | b.pos = b.start + MIN(blen - 6, strlen(b.start)); | ^~~~~~~ ./lib/birdlib.h:33:25: note: expanded from macro 'MIN' 33 | #define MIN(a,b) MIN_(a,b) | ^ ./lib/birdlib.h:26:26: note: expanded from macro 'MIN_' 26 | #define MIN_(a,b) (((a)<(b))?(a):(b)) | ^ /usr/include/string.h:100:28: note: passing argument to parameter here 100 | size_t strlen(const char *) __pure; | ^ lib/flowspec.c:1366:44: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1366 | b.pos = b.start + MIN(blen - 6, strlen(b.start)); | ^~~~~~~ ./lib/birdlib.h:33:25: note: expanded from macro 'MIN' 33 | #define MIN(a,b) MIN_(a,b) | ^ ./lib/birdlib.h:26:35: note: expanded from macro 'MIN_' 26 | #define MIN_(a,b) (((a)<(b))?(a):(b)) | ^ /usr/include/string.h:100:28: note: passing argument to parameter here 100 | size_t strlen(const char *) __pure; | ^ 5 warnings generated. CC -o obj/lib/idm.o -c lib/idm.c CC -o obj/lib/ip.o -c lib/ip.c CC -o obj/lib/lists.o -c lib/lists.c CC -o obj/lib/mac.o -c lib/mac.c CC -o obj/lib/md5.o -c lib/md5.c CC -o obj/lib/mempool.o -c lib/mempool.c lib/mempool.c:202:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 202 | while (c = m->first_large) | ~~^~~~~~~~~~~~~~~~ lib/mempool.c:202:12: note: place parentheses around the assignment to silence this warning 202 | while (c = m->first_large) | ^ | ( ) lib/mempool.c:202:12: note: use '==' to turn this assignment into an equality comparison 202 | while (c = m->first_large) | ^ | == 1 warning generated. CC -o obj/lib/net.o -c lib/net.c CC -o obj/lib/patmatch.o -c lib/patmatch.c CC -o obj/lib/printf.o -c lib/printf.c CC -o obj/lib/resource.o -c lib/resource.c lib/resource.c:92:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 92 | while (rr = (resource *) r->n.next) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ lib/resource.c:92:13: note: place parentheses around the assignment to silence this warning 92 | while (rr = (resource *) r->n.next) | ^ | ( ) lib/resource.c:92:13: note: use '==' to turn this assignment into an equality comparison 92 | while (rr = (resource *) r->n.next) | ^ | == 1 warning generated. CC -o obj/lib/sha1.o -c lib/sha1.c CC -o obj/lib/sha256.o -c lib/sha256.c CC -o obj/lib/sha512.o -c lib/sha512.c CC -o obj/lib/slab.o -c lib/slab.c In file included from lib/slab.c:177: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 97 | if (node->TLIST_ITEM.next = list->first) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning 97 | if (node->TLIST_ITEM.next = list->first) | ^ | ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison 97 | if (node->TLIST_ITEM.next = list->first) | ^ | == lib/slab.c:278:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 278 | if (h = s->empty_heads.first) | ~~^~~~~~~~~~~~~~~~~~~~~~ lib/slab.c:278:9: note: place parentheses around the assignment to silence this warning 278 | if (h = s->empty_heads.first) | ^ | ( ) lib/slab.c:278:9: note: use '==' to turn this assignment into an equality comparison 278 | if (h = s->empty_heads.first) | ^ | == 2 warnings generated. CC -o obj/lib/slists.o -c lib/slists.c lib/slists.c:76:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 76 | if (f = n->readers) | ~~^~~~~~~~~~~~ lib/slists.c:76:9: note: place parentheses around the assignment to silence this warning 76 | if (f = n->readers) | ^ | ( ) lib/slists.c:76:9: note: use '==' to turn this assignment into an equality comparison 76 | if (f = n->readers) | ^ | == 1 warning generated. CC -o obj/lib/strtoul.o -c lib/strtoul.c CC -o obj/lib/tbf.o -c lib/tbf.c CC -o obj/lib/timer.o -c lib/timer.c lib/timer.c:211:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 211 | while (t = timers_first(loop)) | ~~^~~~~~~~~~~~~~~~~~~~ lib/timer.c:211:12: note: place parentheses around the assignment to silence this warning 211 | while (t = timers_first(loop)) | ^ | ( ) lib/timer.c:211:12: note: use '==' to turn this assignment into an equality comparison 211 | while (t = timers_first(loop)) | ^ | == lib/timer.c:371:17: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 371 | if (!strfusec(tbuf, tbuf_size, fmt, t2)) | ^~~~ lib/timer.c:315:16: note: passing argument to parameter 'buf' here 315 | strfusec(char *buf, int size, const char *fmt, uint usec) | ^ lib/timer.c:374:25: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 374 | if (!strftime(x, max, tbuf, &tm)) | ^~~~ /usr/include/time.h:129:67: note: passing argument to parameter here 129 | size_t strftime(char * __restrict, size_t, const char * __restrict, | ^ 3 warnings generated. CC -o obj/lib/xmalloc.o -c lib/xmalloc.c CC -o obj/nest/a-path.o -c nest/a-path.c nest/a-path.c:418:12: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 418 | strcpy(b->end - 12, "..."); | ^~~~~~~~~~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ nest/a-path.c:777:18: warning: assigning to 'const char *' from 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 777 | pp->val.sp = pos - 1; | ^ ~~~~~~~ nest/a-path.c:811:13: warning: initializing 'const u8 *' (aka 'const unsigned char *') with an expression of type 'const char *const' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 811 | const u8 *p = pos->val.sp; | ^ ~~~~~~~~~~~ nest/a-path.c:837:13: warning: initializing 'const u8 *' (aka 'const unsigned char *') with an expression of type 'const char *const' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 837 | const u8 *p = pos->val.sp; | ^ ~~~~~~~~~~~ 4 warnings generated. CC -o obj/nest/a-set.o -c nest/a-set.c nest/a-set.c:50:13: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 50 | strcpy(buf, " ..."); | ^~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ nest/a-set.c:62:20: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 62 | buf += bsprintf(buf, "(%d,%d)", z[i] >> 16, z[i] & 0xffff); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/a-set.c:65:20: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 65 | buf += bsprintf(buf, "%R", z[i]); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/a-set.c:68:20: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 68 | buf += bsprintf(buf, "%u", z[i]); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/a-set.c:98:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 98 | return bsprintf(buf, "(%s, %u, %u)", kind, key, val); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/a-set.c:105:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 105 | return bsprintf(buf, "(%s, %R, %u)", kind, key, val); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/a-set.c:112:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 112 | return bsprintf(buf, "(%s, %u, %u)", kind, key, val); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/a-set.c:118:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | return bsprintf(buf, "(generic, 0x%x, 0x%x)", key, val); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/a-set.c:137:13: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 137 | strcpy(buf, " ..."); | ^~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ nest/a-set.c:155:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 155 | return bsprintf(buf, "(%u, %u, %u)", lc.asn, lc.ldp1, lc.ldp2); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/a-set.c:172:13: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 172 | strcpy(buf, "..."); | ^~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ nest/a-set.c:178:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 178 | buf += bsprintf(buf, "(%u, %u, %u)", d[i], d[i+1], d[i+2]); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ 12 warnings generated. CC -o obj/nest/cli.o -c nest/cli.c In file included from nest/cli.c:67: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/cli.c:131:18: warning: passing 'byte[512]' (aka 'unsigned char[512]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 131 | size = bsprintf(buf, " "); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/cli.c:133:18: warning: passing 'byte[512]' (aka 'unsigned char[512]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 133 | size = bsprintf(buf, "%04d-", cd); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/cli.c:143:23: warning: passing 'byte[512]' (aka 'unsigned char[512]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 143 | size = bsprintf(buf, "%04d ", cd); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/cli.c:149:20: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 149 | cnt = bvsnprintf(buf+size, sizeof(buf)-size-1, msg, args); | ^~~~~~~~ ./lib/string.h:21:22: note: passing argument to parameter 'str' here 21 | int bvsnprintf(char *str, int size, const char *fmt, va_list args) ACCESS_WRITE(1, 2); | ^ nest/cli.c:169:24: warning: passing 'byte[64]' (aka 'unsigned char[64]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 169 | int n = bsprintf(buf, "<%d messages lost>\n", c->ring_overflow); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/cli.c:209:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 209 | if (o = c->tx_buf) | ~~^~~~~~~~~~~ nest/cli.c:209:9: note: place parentheses around the assignment to silence this warning 209 | if (o = c->tx_buf) | ^ | ( ) nest/cli.c:209:9: note: use '==' to turn this assignment into an equality comparison 209 | if (o = c->tx_buf) | ^ | == nest/cli.c:212:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 212 | while (p = o->next) | ~~^~~~~~~~~ nest/cli.c:212:16: note: place parentheses around the assignment to silence this warning 212 | while (p = o->next) | ^ | ( ) nest/cli.c:212:16: note: use '==' to turn this assignment into an equality comparison 212 | while (p = o->next) | ^ | == nest/cli.c:266:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 266 | cli_rh_len = strlen(c->rx_buf); | ^~~~~~~~~ /usr/include/string.h:100:28: note: passing argument to parameter here 100 | size_t strlen(const char *) __pure; | ^ nest/cli.c:369:16: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 369 | len = strlen(msg) + 1; | ^~~ /usr/include/string.h:100:28: note: passing argument to parameter here 100 | size_t strlen(const char *) __pure; | ^ 10 warnings generated. CC -o obj/nest/cmds.o -c nest/cmds.c In file included from nest/cmds.c:12: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/cmds.c:29:18: warning: passing 'byte[32]' (aka 'unsigned char[32]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 29 | tm_format_time(tim, tf_base, current_time()); | ^~~ ./lib/timer.h:127:27: note: passing argument to parameter 'x' here 127 | void tm_format_time(char *x, struct timeformat *fmt, btime t); | ^ nest/cmds.c:33:18: warning: passing 'byte[32]' (aka 'unsigned char[32]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 33 | tm_format_time(tim, tf_base, boot_time); | ^~~ ./lib/timer.h:127:27: note: passing argument to parameter 'x' here 127 | void tm_format_time(char *x, struct timeformat *fmt, btime t); | ^ nest/cmds.c:35:18: warning: passing 'byte[32]' (aka 'unsigned char[32]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 35 | tm_format_time(tim, tf_base, config->load_time); | ^~~ ./lib/timer.h:127:27: note: passing argument to parameter 'x' here 127 | void tm_format_time(char *x, struct timeformat *fmt, btime t); | ^ 4 warnings generated. CC -o obj/nest/iface.o -c nest/iface.c In file included from nest/iface.c:31: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/iface.c:377:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 377 | WALK_LIST_DELSAFE(a, b, i->addrs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/iface.c:377:4: note: place parentheses around the assignment to silence this warning 377 | WALK_LIST_DELSAFE(a, b, i->addrs) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/iface.c:377:4: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/iface.c:728:19: warning: initializing 'const char *' with an expression of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 728 | const char *t = p->pattern; | ^ ~~~~~~~~~~ nest/iface.c:739:18: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 739 | if (!patmatch(t, i->name)) | ^ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ nest/iface.c:739:21: warning: passing 'char[16]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 739 | if (!patmatch(t, i->name)) | ^~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ nest/iface.c:786:42: warning: passing 'const byte *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 786 | ((x->pattern != y->pattern) && strcmp(x->pattern, y->pattern)) || | ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here 85 | int strcmp(const char *, const char *) __pure; | ^ nest/iface.c:786:54: warning: passing 'const byte *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 786 | ((x->pattern != y->pattern) && strcmp(x->pattern, y->pattern)) || | ^~~~~~~~~~ /usr/include/string.h:85:39: note: passing argument to parameter here 85 | int strcmp(const char *, const char *) __pure; | ^ nest/iface.c:822:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 822 | flg = (a->flags & IA_PRIMARY) ? "Preferred, " : (a->flags & IA_SECONDARY) ? "Secondary, " : ""; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/iface.c:825:14: warning: passing 'byte[55]' (aka 'unsigned char[55]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 825 | bsprintf(opp, "opposite %I, ", a->opposite); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/iface.c:892:11: warning: passing 'byte[56]' (aka 'unsigned char[56]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 892 | bsprintf(a4, "%I/%d", i->addr4->ip, i->addr4->prefix.pxlen); | ^~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/iface.c:897:11: warning: passing 'byte[56]' (aka 'unsigned char[56]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 897 | bsprintf(a6, "%I/%d", i->addr6->ip, i->addr6->prefix.pxlen); | ^~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ 11 warnings generated. CC -o obj/nest/locks.o -c nest/locks.c CC -o obj/nest/mpls.o -c nest/mpls.c In file included from nest/mpls.c:87: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/mpls.c:254:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 254 | WALK_LIST_DELSAFE(r, r2, old_ranges) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/mpls.c:254:3: note: place parentheses around the assignment to silence this warning 254 | WALK_LIST_DELSAFE(r, r2, old_ranges) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/mpls.c:254:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/mpls.c:335:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 335 | WALK_LIST_DELSAFE(m, m2, old_domains) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/mpls.c:335:3: note: place parentheses around the assignment to silence this warning 335 | WALK_LIST_DELSAFE(m, m2, old_domains) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/mpls.c:335:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/mpls.c:964:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 964 | HASH_REMOVE2(m->net_hash, NET, m->pool, fec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ nest/mpls.c:964:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ nest/mpls.c:964:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ nest/mpls.c:969:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 969 | HASH_REMOVE2(m->rta_hash, RTA, m->pool, fec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ nest/mpls.c:969:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ nest/mpls.c:969:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ nest/mpls.c:995:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 995 | HASH_REMOVE2(m->label_hash, LABEL, m->pool, fec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ nest/mpls.c:995:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ nest/mpls.c:995:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ 6 warnings generated. CC -o obj/nest/neighbor.o -c nest/neighbor.c nest/neighbor.c:548:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 548 | WALK_LIST_DELSAFE(n, m, neigh_hash_table[i]) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/neighbor.c:548:5: note: place parentheses around the assignment to silence this warning 548 | WALK_LIST_DELSAFE(n, m, neigh_hash_table[i]) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/neighbor.c:548:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ 1 warning generated. CC -o obj/nest/password.o -c nest/password.c CC -o obj/nest/proto.o -c nest/proto.c In file included from nest/proto.c:22: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/proto.c:1344:13: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1344 | sym = cf_find_symbol(new, oc->name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./conf/conf.h:216:16: note: expanded from macro 'cf_find_symbol' 216 | )((where), (what)) | ^~~~~~ ./conf/conf.h:210:87: note: passing argument to parameter 'c' here 210 | static inline struct symbol *cf_find_symbol_cfg(const struct config *cfg, const byte *c) | ^ nest/proto.c:1349:26: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1349 | struct symbol *parsym = cf_find_symbol(new, oc->parent->name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./conf/conf.h:216:16: note: expanded from macro 'cf_find_symbol' 216 | )((where), (what)) | ^~~~~~ ./conf/conf.h:210:87: note: passing argument to parameter 'c' here 210 | static inline struct symbol *cf_find_symbol_cfg(const struct config *cfg, const byte *c) | ^ nest/proto.c:1356:29: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1356 | sym = cf_get_symbol(new, oc->name); | ^~~~~~~~ ./conf/conf.h:218:63: note: passing argument to parameter 'c' here 218 | struct symbol *cf_get_symbol(struct config *conf, const byte *c); | ^ nest/proto.c:1450:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1450 | WALK_LIST_DELSAFE(p, n, proto_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/proto.c:1450:3: note: place parentheses around the assignment to silence this warning 1450 | WALK_LIST_DELSAFE(p, n, proto_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/proto.c:1450:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/proto.c:1773:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1773 | WALK_LIST_DELSAFE(p, p_next, proto_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/proto.c:1773:3: note: place parentheses around the assignment to silence this warning 1773 | WALK_LIST_DELSAFE(p, p_next, proto_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/proto.c:1773:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/proto.c:2146:18: warning: passing 'byte[32]' (aka 'unsigned char[32]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2146 | tm_format_time(tbuf, (this_cli->tf ?: &config->tf_proto), p->last_state_change); | ^~~~ ./lib/timer.h:127:27: note: passing argument to parameter 'x' here 127 | void tm_format_time(char *x, struct timeformat *fmt, btime t); | ^ nest/proto.c:2316:27: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2316 | if (!patt || patmatch(patt, p->name)) | ^~~~ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ nest/proto.c:2316:33: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2316 | if (!patt || patmatch(patt, p->name)) | ^~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ 9 warnings generated. CC -o obj/nest/proto-build.o -c obj/nest/proto-build.c CC -o obj/nest/rt-attr.o -c nest/rt-attr.c In file included from nest/rt-attr.c:51: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/rt-attr.c:154:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 154 | HASH_WALK_FILTER(src_hash, next, src, sp) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' 193 | for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) | ~~^~~~~ nest/rt-attr.c:154:3: note: place parentheses around the assignment to silence this warning 154 | HASH_WALK_FILTER(src_hash, next, src, sp) | ^ | ( ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' 193 | for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) | ^ nest/rt-attr.c:154:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' 193 | for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) | ^ nest/rt-attr.c:833:22: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 833 | *buf += bsprintf(*buf, "igp_metric"); | ^~~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:837:22: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 837 | *buf += bsprintf(*buf, "mpls_label"); | ^~~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:841:22: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 841 | *buf += bsprintf(*buf, "mpls_policy"); | ^~~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:845:22: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 845 | *buf += bsprintf(*buf, "mpls_class"); | ^~~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:849:22: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 849 | *buf += bsprintf(*buf, "aspa_providers"); | ^~~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:872:9: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 872 | strcpy(buf, " ..."); | ^~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ nest/rt-attr.c:876:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 876 | buf += bsprintf(buf, " %s", names[i]); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:881:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 881 | bsprintf(buf, " %08x", data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:896:11: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 896 | strcpy(buf, " ..."); | ^~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ nest/rt-attr.c:902:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 902 | buf += bsprintf(buf, "%02x", ad->data[i]); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:970:20: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 970 | pos += bsprintf(pos, "%s", name); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:974:18: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 974 | pos += bsprintf(pos, "%02x.", EA_PROTO(e->id)); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:976:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 976 | else if (p = class_to_protocol[EA_PROTO(e->id)]) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-attr.c:976:14: note: place parentheses around the assignment to silence this warning 976 | else if (p = class_to_protocol[EA_PROTO(e->id)]) | ^ | ( ) nest/rt-attr.c:976:14: note: use '==' to turn this assignment into an equality comparison 976 | else if (p = class_to_protocol[EA_PROTO(e->id)]) | ^ | == nest/rt-attr.c:978:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 978 | pos += bsprintf(pos, "%s.", p->name); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:981:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 981 | pos += strlen(pos); | ^~~ /usr/include/string.h:100:28: note: passing argument to parameter here 100 | size_t strlen(const char *) __pure; | ^ nest/rt-attr.c:984:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 984 | pos += bsprintf(pos, "%02x.", EA_PROTO(e->id)); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:989:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 989 | pos += bsprintf(pos, "%02x", EA_ID(e->id)); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:996:11: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 996 | bsprintf(pos, "undefined"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:1001:13: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1001 | bsprintf(pos, "%u", e->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:1007:13: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1007 | bsprintf(pos, "%I", *(ip_addr *) ad->data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:1010:13: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1010 | bsprintf(pos, "%R", e->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:1016:13: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1016 | bsprintf(pos, "%08x", e->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:1028:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1028 | bsnprintf(pos, end - pos, "%s", (const char *) ad->data); | ^~~ ./lib/string.h:20:21: note: passing argument to parameter 'str' here 20 | int bsnprintf(char *str, int size, const char *fmt, ...) ACCESS_WRITE(1, 2); | ^ nest/rt-attr.c:1031:13: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1031 | bsprintf(pos, "", e->type); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-attr.c:1079:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1079 | if (e = e->next) | ~~^~~~~~~~~ nest/rt-attr.c:1079:13: note: place parentheses around the assignment to silence this warning 1079 | if (e = e->next) | ^ | ( ) nest/rt-attr.c:1079:13: note: use '==' to turn this assignment into an equality comparison 1079 | if (e = e->next) | ^ | == 27 warnings generated. CC -o obj/nest/rt-dev.o -c nest/rt-dev.c CC -o obj/nest/rt-fib.o -c nest/rt-fib.c nest/rt-fib.c:190:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 190 | while (e = x) | ~~^~~ nest/rt-fib.c:190:16: note: place parentheses around the assignment to silence this warning 190 | while (e = x) | ^ | ( ) nest/rt-fib.c:190:16: note: use '==' to turn this assignment into an equality comparison 190 | while (e = x) | ^ | == nest/rt-fib.c:465:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 465 | if (it = e->readers) | ~~~^~~~~~~~~~~~ nest/rt-fib.c:465:11: note: place parentheses around the assignment to silence this warning 465 | if (it = e->readers) | ^ | ( ) nest/rt-fib.c:465:11: note: use '==' to turn this assignment into an equality comparison 465 | if (it = e->readers) | ^ | == nest/rt-fib.c:515:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 515 | if (n = f->hash_table[h]) | ~~^~~~~~~~~~~~~~~~~~ nest/rt-fib.c:515:11: note: place parentheses around the assignment to silence this warning 515 | if (n = f->hash_table[h]) | ^ | ( ) nest/rt-fib.c:515:11: note: use '==' to turn this assignment into an equality comparison 515 | if (n = f->hash_table[h]) | ^ | == nest/rt-fib.c:518:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 518 | if (i->next = n->readers) | ~~~~~~~~^~~~~~~~~~~~ nest/rt-fib.c:518:14: note: place parentheses around the assignment to silence this warning 518 | if (i->next = n->readers) | ^ | ( ) nest/rt-fib.c:518:14: note: use '==' to turn this assignment into an equality comparison 518 | if (i->next = n->readers) | ^ | == nest/rt-fib.c:550:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 550 | if (k = i->next) | ~~^~~~~~~~~ nest/rt-fib.c:550:9: note: place parentheses around the assignment to silence this warning 550 | if (k = i->next) | ^ | ( ) nest/rt-fib.c:550:9: note: use '==' to turn this assignment into an equality comparison 550 | if (k = i->next) | ^ | == nest/rt-fib.c:563:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 563 | if (j = n->readers) | ~~^~~~~~~~~~~~ nest/rt-fib.c:563:9: note: place parentheses around the assignment to silence this warning 563 | if (j = n->readers) | ^ | ( ) nest/rt-fib.c:563:9: note: use '==' to turn this assignment into an equality comparison 563 | if (j = n->readers) | ^ | == nest/rt-fib.c:573:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 573 | if (n = n->next) | ~~^~~~~~~~~ nest/rt-fib.c:573:9: note: place parentheses around the assignment to silence this warning 573 | if (n = n->next) | ^ | ( ) nest/rt-fib.c:573:9: note: use '==' to turn this assignment into an equality comparison 573 | if (n = n->next) | ^ | == nest/rt-fib.c:577:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 577 | if (n = f->hash_table[hpos]) | ~~^~~~~~~~~~~~~~~~~~~~~ nest/rt-fib.c:577:11: note: place parentheses around the assignment to silence this warning 577 | if (n = f->hash_table[hpos]) | ^ | ( ) nest/rt-fib.c:577:11: note: use '==' to turn this assignment into an equality comparison 577 | if (n = f->hash_table[hpos]) | ^ | == 8 warnings generated. CC -o obj/nest/rt-show.o -c nest/rt-show.c In file included from nest/rt-show.c:15: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/rt-show.c:50:18: warning: passing 'byte[32]' (aka 'unsigned char[32]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 50 | tm_format_time(tm, (c->tf ?: &config->tf_route), e->lastmod); | ^~ ./lib/timer.h:127:27: note: passing argument to parameter 'x' here 127 | void tm_format_time(char *x, struct timeformat *fmt, btime t); | ^ nest/rt-show.c:52:14: warning: passing 'byte[47]' (aka 'unsigned char[47]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 52 | bsprintf(from, " from %I", a->from); | ^~~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-show.c:64:14: warning: passing 'byte[256]' (aka 'unsigned char[256]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 64 | bsprintf(info, " (%d)", a->pref); | ^~~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ nest/rt-show.c:196:28: warning: passing 'byte[273]' (aka 'unsigned char[273]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 196 | net_format(n->n.addr, ia, sizeof(ia)); | ^~ ./lib/net.h:639:41: note: passing argument to parameter 'buf' here 639 | int net_format(const net_addr *N, char *buf, int buflen) ACCESS_WRITE(2, 3); | ^ nest/rt-show.c:198:16: warning: passing 'byte[273]' (aka 'unsigned char[273]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 198 | bsnprintf(ia, sizeof(ia), "%N mpls %d", n->n.addr, label); | ^~ ./lib/string.h:20:21: note: passing argument to parameter 'str' here 20 | int bsnprintf(char *str, int size, const char *fmt, ...) ACCESS_WRITE(1, 2); | ^ nest/rt-show.c:417:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 417 | WALK_LIST_DELSAFE(tab, tabx, d->tables) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/rt-show.c:417:3: note: place parentheses around the assignment to silence this warning 417 | WALK_LIST_DELSAFE(tab, tabx, d->tables) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/rt-show.c:417:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ 7 warnings generated. CC -o obj/nest/rt-table.o -c nest/rt-table.c nest/rt-table.c:249:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 249 | case NET_IP4: TW(4, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' 230 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:249:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:249:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:250:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 250 | case NET_VPN4: TW(4, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' 230 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' 245 | net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); | ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:250:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:250:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:251:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 251 | case NET_IP6: TW(6, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' 230 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:251:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:251:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:252:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 252 | case NET_VPN6: TW(6, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' 230 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' 245 | net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); | ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:252:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:252:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:261:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 261 | case NET_IP4: FW(4, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' 236 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:261:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:261:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:262:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 262 | case NET_VPN4: FW(4, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' 236 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' 245 | net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); | ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:262:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:262:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:263:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 263 | case NET_IP6: FW(6, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' 236 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:263:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:263:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:264:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 264 | case NET_VPN6: FW(6, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' 236 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' 245 | net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); | ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:264:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:264:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:586:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 586 | if (better = new->src->proto->rte_better) | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:586:14: note: place parentheses around the assignment to silence this warning 586 | if (better = new->src->proto->rte_better) | ^ | ( ) nest/rt-table.c:586:14: note: use '==' to turn this assignment into an equality comparison 586 | if (better = new->src->proto->rte_better) | ^ | == nest/rt-table.c:605:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 605 | if (mergable = pri->src->proto->rte_mergable) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:605:16: note: place parentheses around the assignment to silence this warning 605 | if (mergable = pri->src->proto->rte_mergable) | ^ | ( ) nest/rt-table.c:605:16: note: use '==' to turn this assignment into an equality comparison 605 | if (mergable = pri->src->proto->rte_mergable) | ^ | == nest/rt-table.c:833:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 833 | if (new_best = export_filter(c, r, &new_free, 0)) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:833:20: note: place parentheses around the assignment to silence this warning 833 | if (new_best = export_filter(c, r, &new_free, 0)) | ^ | ( ) nest/rt-table.c:833:20: note: use '==' to turn this assignment into an equality comparison 833 | if (new_best = export_filter(c, r, &new_free, 0)) | ^ | == nest/rt-table.c:1169:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1169 | while (old = *k) | ~~~~^~~~ nest/rt-table.c:1169:14: note: place parentheses around the assignment to silence this warning 1169 | while (old = *k) | ^ | ( ) nest/rt-table.c:1169:14: note: use '==' to turn this assignment into an equality comparison 1169 | while (old = *k) | ^ | == nest/rt-table.c:1594:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1594 | if (nn = net_find(c->table, n)) | ~~~^~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1594:10: note: place parentheses around the assignment to silence this warning 1594 | if (nn = net_find(c->table, n)) | ^ | ( ) nest/rt-table.c:1594:10: note: use '==' to turn this assignment into an equality comparison 1594 | if (nn = net_find(c->table, n)) | ^ | == nest/rt-table.c:1689:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1689 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1689:3: note: place parentheses around the assignment to silence this warning 1689 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1689:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1715:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1715 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1715:3: note: place parentheses around the assignment to silence this warning 1715 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1715:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1736:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1736 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1736:3: note: place parentheses around the assignment to silence this warning 1736 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1736:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1781:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1781 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1781:3: note: place parentheses around the assignment to silence this warning 1781 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1781:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:2369:33: warning: passing 'char[8]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2369 | rt_new_table(cf_get_symbol(c, "master4"), NET_IP4); | ^~~~~~~~~ ./conf/conf.h:218:63: note: passing argument to parameter 'c' here 218 | struct symbol *cf_get_symbol(struct config *conf, const byte *c); | ^ nest/rt-table.c:2370:33: warning: passing 'char[8]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2370 | rt_new_table(cf_get_symbol(c, "master6"), NET_IP6); | ^~~~~~~~~ ./conf/conf.h:218:63: note: passing argument to parameter 'c' here 218 | struct symbol *cf_get_symbol(struct config *conf, const byte *c); | ^ nest/rt-table.c:2476:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] 2476 | else | ^ nest/rt-table.c:2684:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2684 | for (k = &n->routes; e = *k; k = &e->next) | ~~^~~~ nest/rt-table.c:2684:26: note: place parentheses around the assignment to silence this warning 2684 | for (k = &n->routes; e = *k; k = &e->next) | ^ | ( ) nest/rt-table.c:2684:26: note: use '==' to turn this assignment into an equality comparison 2684 | for (k = &n->routes; e = *k; k = &e->next) | ^ | == nest/rt-table.c:2718:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2718 | for (k = &n->routes; e = *k; k = &e->next) | ~~^~~~ nest/rt-table.c:2718:26: note: place parentheses around the assignment to silence this warning 2718 | for (k = &n->routes; e = *k; k = &e->next) | ^ | ( ) nest/rt-table.c:2718:26: note: use '==' to turn this assignment into an equality comparison 2718 | for (k = &n->routes; e = *k; k = &e->next) | ^ | == nest/rt-table.c:2871:24: warning: passing 'char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2871 | struct symbol *sym = cf_find_symbol(cf, name); | ^~~~~~~~~~~~~~~~~~~~~~~~ ./conf/conf.h:216:16: note: expanded from macro 'cf_find_symbol' 216 | )((where), (what)) | ^~~~~~ ./conf/conf.h:210:87: note: passing argument to parameter 'c' here 210 | static inline struct symbol *cf_find_symbol_cfg(const struct config *cfg, const byte *c) | ^ nest/rt-table.c:3048:32: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3048 | for (pos = &net->routes; old = *pos; pos = &old->next) | ~~~~^~~~~~ nest/rt-table.c:3048:32: note: place parentheses around the assignment to silence this warning 3048 | for (pos = &net->routes; old = *pos; pos = &old->next) | ^ | ( ) nest/rt-table.c:3048:32: note: use '==' to turn this assignment into an equality comparison 3048 | for (pos = &net->routes; old = *pos; pos = &old->next) | ^ | == nest/rt-table.c:3177:30: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3177 | if (c->reload_next_rte = n->routes) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ nest/rt-table.c:3177:30: note: place parentheses around the assignment to silence this warning 3177 | if (c->reload_next_rte = n->routes) | ^ | ( ) nest/rt-table.c:3177:30: note: use '==' to turn this assignment into an equality comparison 3177 | if (c->reload_next_rte = n->routes) | ^ | == nest/rt-table.c:3215:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3215 | while (e = *ee) | ~~^~~~~ nest/rt-table.c:3215:14: note: place parentheses around the assignment to silence this warning 3215 | while (e = *ee) | ^ | ( ) nest/rt-table.c:3215:14: note: use '==' to turn this assignment into an equality comparison 3215 | while (e = *ee) | ^ | == nest/rt-table.c:3268:32: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3268 | for (pos = &net->routes; old = *pos; pos = &old->next) | ~~~~^~~~~~ nest/rt-table.c:3268:32: note: place parentheses around the assignment to silence this warning 3268 | for (pos = &net->routes; old = *pos; pos = &old->next) | ^ | ( ) nest/rt-table.c:3268:32: note: use '==' to turn this assignment into an equality comparison 3268 | for (pos = &net->routes; old = *pos; pos = &old->next) | ^ | == nest/rt-table.c:3578:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3578 | WALK_LIST_DELSAFE(n, x, hc->hostentries) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/rt-table.c:3578:3: note: place parentheses around the assignment to silence this warning 3578 | WALK_LIST_DELSAFE(n, x, hc->hostentries) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/rt-table.c:3578:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ 28 warnings generated. CC -o obj/proto/babel/babel.o -c proto/babel/babel.c In file included from proto/babel/babel.c:44: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/babel/babel.c:137:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 137 | WALK_LIST_DELSAFE(n, nx, e->sources) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/babel/babel.c:137:3: note: place parentheses around the assignment to silence this warning 137 | WALK_LIST_DELSAFE(n, nx, e->sources) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/babel/babel.c:137:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/babel/babel.c:244:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 244 | WALK_LIST_DELSAFE(r, rx, e->routes) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/babel/babel.c:244:5: note: place parentheses around the assignment to silence this warning 244 | WALK_LIST_DELSAFE(r, rx, e->routes) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/babel/babel.c:244:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/babel/babel.c:412:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 412 | WALK_LIST_DELSAFE(sr, srx, e->requests) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/babel/babel.c:412:3: note: place parentheses around the assignment to silence this warning 412 | WALK_LIST_DELSAFE(sr, srx, e->requests) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/babel/babel.c:412:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/babel/babel.c:534:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 534 | WALK_LIST_DELSAFE(nbr, nbx, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/babel/babel.c:534:5: note: place parentheses around the assignment to silence this warning 534 | WALK_LIST_DELSAFE(nbr, nbx, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/babel/babel.c:534:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/babel/babel.c:1011:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1011 | FIB_WALK(rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:1011:3: note: place parentheses around the assignment to silence this warning 1011 | FIB_WALK(rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:1011:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2179:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2179 | FIB_WALK(&p->ip4_rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2179:3: note: place parentheses around the assignment to silence this warning 2179 | FIB_WALK(&p->ip4_rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2179:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2184:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2184 | FIB_WALK(&p->ip6_rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2184:3: note: place parentheses around the assignment to silence this warning 2184 | FIB_WALK(&p->ip6_rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2184:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2199:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2199 | buf += bsprintf(buf, " (%d/%d) [%lR]", rte->attrs->pref, | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/babel/babel.c:2209:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2209 | bsprintf(buf, "metric: %d", a->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/babel/babel.c:2216:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2216 | bsprintf(buf, "router_id: %lR", rid); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/babel/babel.c:2248:26: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2248 | if (iff && !patmatch(iff, ifa->iface->name)) | ^~~ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/babel/babel.c:2248:31: warning: passing 'char[16]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2248 | if (iff && !patmatch(iff, ifa->iface->name)) | ^~~~~~~~~~~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/babel/babel.c:2285:26: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2285 | if (iff && !patmatch(iff, ifa->iface->name)) | ^~~ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/babel/babel.c:2285:31: warning: passing 'char[16]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2285 | if (iff && !patmatch(iff, ifa->iface->name)) | ^~~~~~~~~~~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/babel/babel.c:2309:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2309 | FIB_WALK(rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2309:3: note: place parentheses around the assignment to silence this warning 2309 | FIB_WALK(rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2309:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2324:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2324 | else if (r = e->selected) | ~~^~~~~~~~~~~~~ proto/babel/babel.c:2324:16: note: place parentheses around the assignment to silence this warning 2324 | else if (r = e->selected) | ^ | ( ) proto/babel/babel.c:2324:16: note: use '==' to turn this assignment into an equality comparison 2324 | else if (r = e->selected) | ^ | == proto/babel/babel.c:2359:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2359 | FIB_WALK(rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2359:3: note: place parentheses around the assignment to silence this warning 2359 | FIB_WALK(rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2359:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 18 warnings generated. CC -o obj/proto/babel/packets.o -c proto/babel/packets.c In file included from proto/babel/packets.c:13: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/babel/packets.c:1929:29: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1929 | mac_init(&ctx, pass->alg, pass->password, pass->length); | ^~~~~~~~~~~~~~ ./lib/mac.h:116:61: note: passing argument to parameter 'key' here 116 | void mac_init(struct mac_context *ctx, uint id, const byte *key, uint keylen); | ^ 2 warnings generated. CC -o obj/proto/bfd/bfd.o -c proto/bfd/bfd.c In file included from proto/bfd/bfd.c:103: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/bfd/bfd.c:547:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 547 | HASH_REMOVE(p->session_hash_id, HASH_ID, s); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bfd/bfd.c:547:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:547:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:548:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 548 | HASH_REMOVE(p->session_hash_ip, HASH_IP, s); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bfd/bfd.c:548:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:548:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:754:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 754 | WALK_LIST_DELSAFE(n, nn, bfd_wait_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/bfd/bfd.c:754:3: note: place parentheses around the assignment to silence this warning 754 | WALK_LIST_DELSAFE(n, nn, bfd_wait_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bfd/bfd.c:754:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bfd/bfd.c:992:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 992 | WALK_LIST_DELSAFE(n, nn, s->request_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/bfd/bfd.c:992:5: note: place parentheses around the assignment to silence this warning 992 | WALK_LIST_DELSAFE(n, nn, s->request_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bfd/bfd.c:992:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bfd/bfd.c:1210:18: warning: passing 'byte[32]' (aka 'unsigned char[32]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1210 | tm_format_time(tbuf, (this_cli->tf ?: &config->tf_proto), s->last_state_change); | ^~~~ ./lib/timer.h:127:27: note: passing argument to parameter 'x' here 127 | void tm_format_time(char *x, struct timeformat *fmt, btime t); | ^ proto/bfd/bfd.c:1226:77: warning: passing 'byte[16]' (aka 'unsigned char[16]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1226 | cli_msg(-1020, " %-21s %s", "Local diagnostic:", bfd_diag_name(loc_diag, dbuf)); | ^~~~ ./nest/cli.h:87:44: note: expanded from macro 'cli_msg' 87 | #define cli_msg(x...) cli_printf(this_cli, x) | ^ proto/bfd/bfd.c:145:27: note: passing argument to parameter 'buf' here 145 | bfd_diag_name(u8 id, char buf[BFD_DIAG_BUFFER_SIZE]) | ^ proto/bfd/bfd.c:1227:78: warning: passing 'byte[16]' (aka 'unsigned char[16]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1227 | cli_msg(-1020, " %-21s %s", "Remote diagnostic:", bfd_diag_name(rem_diag, dbuf)); | ^~~~ ./nest/cli.h:87:44: note: expanded from macro 'cli_msg' 87 | #define cli_msg(x...) cli_printf(this_cli, x) | ^ proto/bfd/bfd.c:145:27: note: passing argument to parameter 'buf' here 145 | bfd_diag_name(u8 id, char buf[BFD_DIAG_BUFFER_SIZE]) | ^ 8 warnings generated. CC -o obj/proto/bfd/io.o -c proto/bfd/io.c proto/bfd/io.c:496:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 496 | else if (t = timers_first(&loop->time)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bfd/io.c:496:16: note: place parentheses around the assignment to silence this warning 496 | else if (t = timers_first(&loop->time)) | ^ | ( ) proto/bfd/io.c:496:16: note: use '==' to turn this assignment into an equality comparison 496 | else if (t = timers_first(&loop->time)) | ^ | == 1 warning generated. CC -o obj/proto/bfd/packets.o -c proto/bfd/packets.c In file included from proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/bfd/packets.c:172:13: warning: passing 'byte[0]' (aka 'unsigned char[0]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 172 | strncpy(auth->data, pass->password, hash_len); | ^~~~~~~~~~ /usr/include/string.h:112:32: note: passing argument to parameter here 112 | char *strncpy(char * __restrict, const char * __restrict, size_t); | ^ proto/bfd/packets.c:265:13: warning: passing 'byte[0]' (aka 'unsigned char[0]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 265 | strncpy(auth->data, pass->password, hash_len); | ^~~~~~~~~~ /usr/include/string.h:112:32: note: passing argument to parameter here 112 | char *strncpy(char * __restrict, const char * __restrict, size_t); | ^ 3 warnings generated. CC -o obj/proto/bgp/attrs.o -c proto/bgp/attrs.c proto/bgp/attrs.c:414:12: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 414 | bsprintf(buf, (a->u.data <= 2) ? bgp_origin_names[a->u.data] : "?"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:533:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 533 | bsprintf(buf, "%I", nh[0]); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:535:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 535 | bsprintf(buf, "%I %I", nh[0], nh[1]); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:619:12: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 619 | bsprintf(buf, "%I4 AS%u", get_ip4(data+4), get_u32(data+0)); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:881:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 881 | bsprintf(buf, "?"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:883:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 883 | bsprintf(buf, "%lu", get_u64(b + 3)); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:970:9: warning: initializing 'char *' with an expression of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 970 | char *pos = buf; | ^ ~~~ proto/bgp/attrs.c:1253:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] 1253 | else | ^ proto/bgp/attrs.c:1632:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1632 | HASH_REMOVE2(c->bucket_hash, RBH, c->pool, b); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bgp/attrs.c:1632:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:1632:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:1726:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1726 | HASH_REMOVE2(c->prefix_hash, PXH, c->pool, px); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bgp/attrs.c:1726:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:1726:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:2456:20: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2456 | len = bsprintf(buf, "%s", d->name); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2468:12: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2468 | bsprintf(buf, "%02x%s", i, (a->flags & BAF_TRANSITIVE) ? " [t]" : ""); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2479:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2479 | buf += bsprintf(buf, " (%d", e->attrs->pref); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2482:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2482 | buf += bsprintf(buf, "-"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2485:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2485 | buf += bsprintf(buf, "s"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2490:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2490 | buf += bsprintf(buf, "/%lu", metric); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2495:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2495 | buf += bsprintf(buf, "/-"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2497:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2497 | buf += bsprintf(buf, "/?"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2499:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2499 | buf += bsprintf(buf, "/%d", e->attrs->igp_metric); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2501:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2501 | buf += bsprintf(buf, ") ["); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2504:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2504 | buf += bsprintf(buf, "AS%u", origas); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2506:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2506 | buf += bsprintf(buf, "%c", "ie?"[o->u.data]); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/attrs.c:2507:10: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2507 | strcpy(buf, "]"); | ^~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ 23 warnings generated. CC -o obj/proto/bgp/bgp.o -c proto/bgp/bgp.c In file included from proto/bgp/bgp.c:122: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/bgp/bgp.c:705:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 705 | WALK_LIST_DELSAFE(key, key2, old_keys) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/bgp/bgp.c:705:5: note: place parentheses around the assignment to silence this warning 705 | WALK_LIST_DELSAFE(key, key2, old_keys) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bgp/bgp.c:705:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bgp/bgp.c:2703:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2703 | if (tab = cf->c.global->def_tables[type]) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/bgp.c:2703:11: note: place parentheses around the assignment to silence this warning 2703 | if (tab = cf->c.global->def_tables[type]) | ^ | ( ) proto/bgp/bgp.c:2703:11: note: use '==' to turn this assignment into an equality comparison 2703 | if (tab = cf->c.global->def_tables[type]) | ^ | == proto/bgp/bgp.c:2899:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 2899 | else | ^ proto/bgp/bgp.c:2906:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 2906 | else | ^ proto/bgp/bgp.c:3074:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3074 | WALK_LIST_DELSAFE(C, C2, p->p.channels) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/bgp/bgp.c:3074:3: note: place parentheses around the assignment to silence this warning 3074 | WALK_LIST_DELSAFE(C, C2, p->p.channels) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bgp/bgp.c:3074:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bgp/bgp.c:3306:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3306 | bsprintf(buf, "%s%s", err1, err2); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/bgp.c:3308:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3308 | bsprintf(buf, "%-14s%s%s", bgp_state_dsc(p), err1, err2); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/bgp.c:3329:12: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3329 | strcpy(b.end - 32, " ... "); | ^~~~~~~~~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ proto/bgp/bgp.c:3331:17: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3331 | cli_msg(code, b.start); | ^~~~~~~ ./nest/cli.h:87:44: note: expanded from macro 'cli_msg' 87 | #define cli_msg(x...) cli_printf(this_cli, x) | ^ ./nest/cli.h:79:63: note: passing argument to parameter 'fmt' here 79 | static inline void cli_printf(cli *cli, int code, const char *fmt, ...) | ^ 10 warnings generated. CC -o obj/proto/bgp/packets.o -c proto/bgp/packets.c In file included from proto/bgp/packets.c:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/bgp/packets.c:835:10: warning: returning 'char *' from a function with result type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 835 | return buf; | ^~~ proto/bgp/packets.c:3286:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[23]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3286 | { 1, 0, "Invalid message header" }, | ^~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3287:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[28]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3287 | { 1, 1, "Connection not synchronized" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3288:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[19]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3288 | { 1, 2, "Bad message length" }, | ^~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3289:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[17]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3289 | { 1, 3, "Bad message type" }, | ^~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3290:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[21]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3290 | { 2, 0, "Invalid OPEN message" }, | ^~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3291:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[27]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3291 | { 2, 1, "Unsupported version number" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3292:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[12]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3292 | { 2, 2, "Bad peer AS" }, | ^~~~~~~~~~~~~ proto/bgp/packets.c:3293:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[19]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3293 | { 2, 3, "Bad BGP identifier" }, | ^~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3294:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[31]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3294 | { 2, 4, "Unsupported optional parameter" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3295:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[23]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3295 | { 2, 5, "Authentication failure" }, | ^~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3296:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[23]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3296 | { 2, 6, "Unacceptable hold time" }, | ^~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3297:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[28]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3297 | { 2, 7, "Required capability missing" }, /* [RFC5492] */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3298:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[22]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3298 | { 2, 8, "No supported AFI/SAFI" }, /* This error msg is nonstandard */ | ^~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3299:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[14]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3299 | { 2,11, "Role mismatch" }, /* From Open Policy, RFC 9234 */ | ^~~~~~~~~~~~~~~ proto/bgp/packets.c:3300:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[23]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3300 | { 3, 0, "Invalid UPDATE message" }, | ^~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3301:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[25]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3301 | { 3, 1, "Malformed attribute list" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3302:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[34]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3302 | { 3, 2, "Unrecognized well-known attribute" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3303:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[28]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3303 | { 3, 3, "Missing mandatory attribute" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3304:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[24]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3304 | { 3, 4, "Invalid attribute flags" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3305:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[25]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3305 | { 3, 5, "Invalid attribute length" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3306:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[25]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3306 | { 3, 6, "Invalid ORIGIN attribute" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3307:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[16]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3307 | { 3, 7, "AS routing loop" }, /* Deprecated */ | ^~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3308:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[27]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3308 | { 3, 8, "Invalid NEXT_HOP attribute" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3309:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[25]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3309 | { 3, 9, "Optional attribute error" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3310:12: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[22]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3310 | { 3, 10, "Invalid network field" }, | ^~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3311:12: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[18]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3311 | { 3, 11, "Malformed AS_PATH" }, | ^~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3312:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[19]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3312 | { 4, 0, "Hold timer expired" }, | ^~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3313:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[27]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3313 | { 5, 0, "Finite state machine error" }, /* Subcodes are according to [RFC6608] */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3314:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[37]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3314 | { 5, 1, "Unexpected message in OpenSent state" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3315:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[40]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3315 | { 5, 2, "Unexpected message in OpenConfirm state" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3316:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[40]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3316 | { 5, 3, "Unexpected message in Established state" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3317:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[6]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3317 | { 6, 0, "Cease" }, /* Subcodes are according to [RFC4486] */ | ^~~~~~~ proto/bgp/packets.c:3318:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[35]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3318 | { 6, 1, "Maximum number of prefixes reached" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3319:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[24]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3319 | { 6, 2, "Administrative shutdown" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3320:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[19]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3320 | { 6, 3, "Peer de-configured" }, | ^~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3321:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[21]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3321 | { 6, 4, "Administrative reset" }, | ^~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3322:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[20]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3322 | { 6, 5, "Connection rejected" }, | ^~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3323:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[27]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3323 | { 6, 6, "Other configuration change" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3324:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[32]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3324 | { 6, 7, "Connection collision resolution" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3325:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[17]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3325 | { 6, 8, "Out of Resources" }, | ^~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3326:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[30]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3326 | { 7, 0, "Invalid ROUTE-REFRESH message" }, /* [RFC7313] */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3327:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[37]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3327 | { 7, 1, "Invalid ROUTE-REFRESH message length" }, /* [RFC7313] */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3328:11: warning: initializing 'byte *' (aka 'unsigned char *') with an expression of type 'char[24]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3328 | { 8, 0, "Send hold timer expired" }, /* [RFC9687] */ | ^~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3347:14: warning: returning 'byte *' (aka 'unsigned char *') from a function with result type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3347 | return bgp_msg_table[i].msg; | ^~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:3374:28: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3374 | proto_set_message(&p->p, msg, msg_len); | ^~~ ./nest/protocol.h:276:47: note: passing argument to parameter 'msg' here 276 | void proto_set_message(struct proto *p, char *msg, int len); | ^ proto/bgp/packets.c:3375:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3375 | *bp += bsprintf(*bp, ": \"%s\"", p->p.message); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/packets.c:3398:18: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3398 | t += bsprintf(t, ": %u", (len == 2) ? get_u16(data) : get_u32(data)); | ^ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/packets.c:3404:18: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3404 | t += bsprintf(t, " (%s)", bgp_format_role_name(get_u8(data))); | ^ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/packets.c:3418:16: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3418 | t += bsprintf(t, "%02x", data[i]); | ^ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/bgp/packets.c:3423:15: warning: initializing 'const byte *' (aka 'const unsigned char *') with an expression of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 3423 | const byte *dsc = bgp_error_dsc(code, subcode); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52 warnings generated. CC -o obj/proto/mrt/mrt.o -c proto/mrt/mrt.c In file included from proto/mrt/mrt.c:48: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/mrt/mrt.c:195:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 195 | for (last = src; next = strstr(last, key); last = next + klen) | ~~~~~^~~~~~~~~~~~~~~~~~~ proto/mrt/mrt.c:195:25: note: place parentheses around the assignment to silence this warning 195 | for (last = src; next = strstr(last, key); last = next + klen) | ^ | ( ) proto/mrt/mrt.c:195:25: note: use '==' to turn this assignment into an equality comparison 195 | for (last = src; next = strstr(last, key); last = next + klen) | ^ | == proto/mrt/mrt.c:232:18: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 232 | if (patmatch(pattern, tab->name) && | ^~~~~~~ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/mrt/mrt.c:232:27: warning: passing 'char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 232 | if (patmatch(pattern, tab->name) && | ^~~~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/mrt/mrt.c:516:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 516 | for (rt0 = n->routes; rt = rt0; rt0 = rt0->next) | ~~~^~~~~ proto/mrt/mrt.c:516:28: note: place parentheses around the assignment to silence this warning 516 | for (rt0 = n->routes; rt = rt0; rt0 = rt0->next) | ^ | ( ) proto/mrt/mrt.c:516:28: note: use '==' to turn this assignment into an equality comparison 516 | for (rt0 = n->routes; rt = rt0; rt0 = rt0->next) | ^ | == 5 warnings generated. CC -o obj/proto/ospf/dbdes.o -c proto/ospf/dbdes.c In file included from proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == 1 warning generated. CC -o obj/proto/ospf/hello.o -c proto/ospf/hello.c In file included from proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == 1 warning generated. CC -o obj/proto/ospf/iface.o -c proto/ospf/iface.c In file included from proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/iface.c:267:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 267 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:267:3: note: place parentheses around the assignment to silence this warning 267 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:267:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:791:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 791 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:791:5: note: place parentheses around the assignment to silence this warning 791 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:791:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:910:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 910 | WALK_LIST_DELSAFE(nb, nbx, ifa->nbma_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:910:3: note: place parentheses around the assignment to silence this warning 910 | WALK_LIST_DELSAFE(nb, nbx, ifa->nbma_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:910:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:1165:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1165 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:1165:5: note: place parentheses around the assignment to silence this warning 1165 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:1165:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:1200:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1200 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:1200:7: note: place parentheses around the assignment to silence this warning 1200 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:1200:7: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:1387:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1387 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:1387:3: note: place parentheses around the assignment to silence this warning 1387 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/iface.c:1387:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ 7 warnings generated. CC -o obj/proto/ospf/lsack.o -c proto/ospf/lsack.c In file included from proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == 1 warning generated. CC -o obj/proto/ospf/lsalib.o -c proto/ospf/lsalib.c In file included from proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/lsalib.c:173:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 173 | if (code = LOOKUP(opaque_lsa_types, id >> 24)) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/lsalib.c:173:16: note: place parentheses around the assignment to silence this warning 173 | if (code = LOOKUP(opaque_lsa_types, id >> 24)) | ^ | ( ) proto/ospf/lsalib.c:173:16: note: use '==' to turn this assignment into an equality comparison 173 | if (code = LOOKUP(opaque_lsa_types, id >> 24)) | ^ | == 2 warnings generated. CC -o obj/proto/ospf/lsreq.o -c proto/ospf/lsreq.c In file included from proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == 1 warning generated. CC -o obj/proto/ospf/lsupd.o -c proto/ospf/lsupd.c In file included from proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/lsupd.c:439:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 439 | WALK_SLIST_DELSAFE(ret, nxt, n->lsrtl) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~~ proto/ospf/lsupd.c:439:3: note: place parentheses around the assignment to silence this warning 439 | WALK_SLIST_DELSAFE(ret, nxt, n->lsrtl) | ^ | ( ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/lsupd.c:439:3: note: use '==' to turn this assignment into an equality comparison ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) | ^ 2 warnings generated. CC -o obj/proto/ospf/neighbor.o -c proto/ospf/neighbor.c In file included from proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/neighbor.c:541:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 541 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/neighbor.c:541:7: note: place parentheses around the assignment to silence this warning 541 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/neighbor.c:541:7: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ 2 warnings generated. CC -o obj/proto/ospf/ospf.o -c proto/ospf/ospf.c In file included from proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/ospf.c:531:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 531 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:531:3: note: place parentheses around the assignment to silence this warning 531 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:531:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:561:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 561 | strcpy(buf, "Alone"); | ^~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ proto/ospf/ospf.c:563:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 563 | strcpy(buf, "Running"); | ^~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ proto/ospf/ospf.c:588:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 588 | buf += bsprintf(buf, " %s", type); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:589:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 589 | buf += bsprintf(buf, " (%d/%d", rte->attrs->pref, ea_get_int(rte->attrs->eattrs, EA_OSPF_METRIC1, LSINFINITY)); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:591:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 591 | buf += bsprintf(buf, "/%d", ea_get_int(rte->attrs->eattrs, EA_OSPF_METRIC2, LSINFINITY)); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:592:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 592 | buf += bsprintf(buf, ")"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:597:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 597 | buf += bsprintf(buf, " [%x]", ea->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:602:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 602 | buf += bsprintf(buf, " [%R]", ea->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:611:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 611 | bsprintf(buf, "metric1"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:614:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 614 | bsprintf(buf, "metric2"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:617:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 617 | bsprintf(buf, "tag: 0x%08x", a->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:620:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 620 | bsprintf(buf, "router_id"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/ospf/ospf.c:642:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 642 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/ospf.c:642:5: note: place parentheses around the assignment to silence this warning 642 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/ospf.c:642:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/ospf.c:759:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 759 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/ospf.c:759:3: note: place parentheses around the assignment to silence this warning 759 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/ospf.c:759:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/ospf.c:766:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 766 | WALK_LIST_DELSAFE(oa, oax, p->area_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/ospf/ospf.c:766:3: note: place parentheses around the assignment to silence this warning 766 | WALK_LIST_DELSAFE(oa, oax, p->area_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/ospf.c:766:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/ospf.c:793:35: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 793 | if ((iff == NULL) || patmatch(iff, ifa->ifname)) | ^~~ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/ospf/ospf.c:793:40: warning: passing 'char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 793 | if ((iff == NULL) || patmatch(iff, ifa->ifname)) | ^~~~~~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/ospf/ospf.c:853:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 853 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:853:5: note: place parentheses around the assignment to silence this warning 853 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:853:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:866:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 866 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:866:5: note: place parentheses around the assignment to silence this warning 866 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:866:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:895:35: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 895 | if ((iff == NULL) || patmatch(iff, ifa->ifname)) | ^~~ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/ospf/ospf.c:895:40: warning: passing 'char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 895 | if ((iff == NULL) || patmatch(iff, ifa->ifname)) | ^~~~~~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ 23 warnings generated. CC -o obj/proto/ospf/packet.o -c proto/ospf/packet.c In file included from proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/packet.c:67:13: warning: passing 'u8[8]' (aka 'unsigned char[8]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 67 | strncpy(auth->password, pass->password, sizeof(auth->password)); | ^~~~~~~~~~~~~~ /usr/include/string.h:112:32: note: passing argument to parameter here 112 | char *strncpy(char * __restrict, const char * __restrict, size_t); | ^ proto/ospf/packet.c:114:15: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 114 | strncpy(auth_tail, pass->password, auth_len); | ^~~~~~~~~ /usr/include/string.h:112:32: note: passing argument to parameter here 112 | char *strncpy(char * __restrict, const char * __restrict, size_t); | ^ proto/ospf/packet.c:118:25: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 118 | mac_fill(pass->alg, pass->password, pass->length, (byte *) pkt, *plen, auth_tail); | ^~~~~~~~~~~~~~ ./lib/mac.h:127:36: note: passing argument to parameter 'key' here 127 | void mac_fill(uint id, const byte *key, uint keylen, const byte *data, uint datalen, byte *mac); | ^ proto/ospf/packet.c:203:32: warning: passing 'u8[8]' (aka 'unsigned char[8]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 203 | if (!password_verify(pass, auth->password, sizeof(auth->password))) | ^~~~~~~~~~~~~~ ./nest/password.h:29:67: note: passing argument to parameter 'p2' here 29 | static inline int password_verify(struct password_item *p1, char *p2, uint size) | ^ proto/ospf/packet.c:238:15: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 238 | strncpy(auth_tail, pass->password, auth_len); | ^~~~~~~~~ /usr/include/string.h:112:32: note: passing argument to parameter here 112 | char *strncpy(char * __restrict, const char * __restrict, size_t); | ^ proto/ospf/packet.c:242:32: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 242 | if (!mac_verify(pass->alg, pass->password, pass->length, | ^~~~~~~~~~~~~~ ./lib/mac.h:128:37: note: passing argument to parameter 'key' here 128 | int mac_verify(uint id, const byte *key, uint keylen, const byte *data, uint datalen, const byte *mac); | ^ proto/ospf/packet.c:439:55: warning: passing 'uint *' (aka 'unsigned int *') to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign] 439 | struct ospf_packet *pkt = (void *) sk_rx_buffer(sk, &len); | ^~~~ ./lib/socket.h:155:35: note: passing argument to parameter 'len' here 155 | byte * sk_rx_buffer(sock *s, int *len); /* Temporary */ | ^ 8 warnings generated. CC -o obj/proto/ospf/rt.o -c proto/ospf/rt.c In file included from proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/rt.c:1008:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] 1008 | if ((nf->n.oa->areaid == oa->areaid)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ proto/ospf/rt.c:1008:25: note: remove extraneous parentheses around the comparison to silence this warning 1008 | if ((nf->n.oa->areaid == oa->areaid)) | ~ ^ ~ proto/ospf/rt.c:1008:25: note: use '=' to turn this equality comparison into an assignment 1008 | if ((nf->n.oa->areaid == oa->areaid)) | ^~ | = proto/ospf/rt.c:1212:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1212 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1212:3: note: place parentheses around the assignment to silence this warning 1212 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1212:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1220:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1220 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1220:3: note: place parentheses around the assignment to silence this warning 1220 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1220:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1286:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1286 | FIB_WALK(&oa->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1286:7: note: place parentheses around the assignment to silence this warning 1286 | FIB_WALK(&oa->rtr, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1286:7: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1297:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1297 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1297:3: note: place parentheses around the assignment to silence this warning 1297 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1297:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1337:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1337 | FIB_WALK(&oa->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1337:7: note: place parentheses around the assignment to silence this warning 1337 | FIB_WALK(&oa->rtr, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1337:7: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1382:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1382 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1382:3: note: place parentheses around the assignment to silence this warning 1382 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1382:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1410:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1410 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1410:3: note: place parentheses around the assignment to silence this warning 1410 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1410:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1630:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1630 | FIB_WALK(&p->rtf, ort, ri) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1630:3: note: place parentheses around the assignment to silence this warning 1630 | FIB_WALK(&p->rtf, ort, ri) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1630:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1653:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1653 | FIB_WALK(&oa->rtr, ort, ri) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1653:5: note: place parentheses around the assignment to silence this warning 1653 | FIB_WALK(&oa->rtr, ort, ri) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1653:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1662:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1662 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1662:7: note: place parentheses around the assignment to silence this warning 1662 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1662:7: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1669:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1669 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1669:7: note: place parentheses around the assignment to silence this warning 1669 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1669:7: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 13 warnings generated. CC -o obj/proto/ospf/topology.o -c proto/ospf/topology.c In file included from proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/topology.c:518:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 518 | WALK_SLIST_DELSAFE(en, nxt, p->lsal) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~~ proto/ospf/topology.c:518:3: note: place parentheses around the assignment to silence this warning 518 | WALK_SLIST_DELSAFE(en, nxt, p->lsal) | ^ | ( ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/topology.c:518:3: note: use '==' to turn this assignment into an equality comparison ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/topology.c:1741:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1741 | if (en = ifa->link_lsa) | ~~~^~~~~~~~~~~~~~~ proto/ospf/topology.c:1741:10: note: place parentheses around the assignment to silence this warning 1741 | if (en = ifa->link_lsa) | ^ | ( ) proto/ospf/topology.c:1741:10: note: use '==' to turn this assignment into an equality comparison 1741 | if (en = ifa->link_lsa) | ^ | == 3 warnings generated. CC -o obj/proto/pipe/pipe.o -c proto/pipe/pipe.c In file included from proto/pipe/pipe.c:39: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/pipe/pipe.c:204:12: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 204 | bsprintf(buf, "%s <=> %s", p->pri->table->name, p->sec->table->name); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ 2 warnings generated. CC -o obj/proto/radv/packets.o -c proto/radv/packets.c In file included from proto/radv/packets.c:12: In file included from proto/radv/radv.h:23: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/radv/packets.c:336:9: warning: initializing 'char *' with an expression of type 'byte *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 336 | char *buf = ifa->sk->tbuf; | ^ ~~~~~~~~~~~~~ proto/radv/packets.c:402:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 402 | FIB_WALK(&p->routes, struct radv_route, rt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/radv/packets.c:402:5: note: place parentheses around the assignment to silence this warning 402 | FIB_WALK(&p->routes, struct radv_route, rt) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/radv/packets.c:402:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 3 warnings generated. CC -o obj/proto/radv/radv.o -c proto/radv/radv.c In file included from proto/radv/radv.c:12: In file included from proto/radv/radv.h:23: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/radv/radv.c:172:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 172 | WALK_LIST_DELSAFE(pfx, next, ifa->prefixes) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/radv/radv.c:172:3: note: place parentheses around the assignment to silence this warning 172 | WALK_LIST_DELSAFE(pfx, next, ifa->prefixes) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/radv/radv.c:172:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/radv/radv.c:195:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 195 | WALK_LIST_DELSAFE(px, pxn, ifa->prefixes) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/radv/radv.c:195:3: note: place parentheses around the assignment to silence this warning 195 | WALK_LIST_DELSAFE(px, pxn, ifa->prefixes) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/radv/radv.c:195:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/radv/radv.c:730:12: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 730 | strcpy(buf, "Suppressed"); | ^~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ proto/radv/radv.c:756:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 756 | bsprintf(buf, "preference: %s", radv_pref_str(a->u.data)); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/radv/radv.c:759:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 759 | bsprintf(buf, "lifetime"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ 6 warnings generated. CC -o obj/proto/rip/packets.o -c proto/rip/packets.c In file included from proto/rip/packets.c:14: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/rip/packets.c:316:15: warning: passing 'byte[0]' (aka 'unsigned char[0]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 316 | strncpy(tail->auth_data, pass->password, auth_len); | ^~~~~~~~~~~~~~~ /usr/include/string.h:112:32: note: passing argument to parameter here 112 | char *strncpy(char * __restrict, const char * __restrict, size_t); | ^ proto/rip/packets.c:320:25: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 320 | mac_fill(pass->alg, pass->password, pass->length, | ^~~~~~~~~~~~~~ ./lib/mac.h:127:36: note: passing argument to parameter 'key' here 127 | void mac_fill(uint id, const byte *key, uint keylen, const byte *data, uint datalen, byte *mac); | ^ proto/rip/packets.c:405:15: warning: passing 'byte[0]' (aka 'unsigned char[0]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 405 | strncpy(tail->auth_data, pass->password, auth_len); | ^~~~~~~~~~~~~~~ /usr/include/string.h:112:32: note: passing argument to parameter here 112 | char *strncpy(char * __restrict, const char * __restrict, size_t); | ^ proto/rip/packets.c:409:32: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 409 | if (!mac_verify(pass->alg, pass->password, pass->length, | ^~~~~~~~~~~~~~ ./lib/mac.h:128:37: note: passing argument to parameter 'key' here 128 | int mac_verify(uint id, const byte *key, uint keylen, const byte *data, uint datalen, const byte *mac); | ^ 5 warnings generated. CC -o obj/proto/rip/rip.o -c proto/rip/rip.c In file included from proto/rip/rip.c:81: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/rip/rip.c:265:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 265 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ~~~^~~~~ proto/rip/rip.c:265:29: note: place parentheses around the assignment to silence this warning 265 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ^ | ( ) proto/rip/rip.c:265:29: note: use '==' to turn this assignment into an equality comparison 265 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ^ | == proto/rip/rip.c:312:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 312 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ~~~^~~~~ proto/rip/rip.c:312:29: note: place parentheses around the assignment to silence this warning 312 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ^ | ( ) proto/rip/rip.c:312:29: note: use '==' to turn this assignment into an equality comparison 312 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ^ | == proto/rip/rip.c:411:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 411 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/rip.c:411:3: note: place parentheses around the assignment to silence this warning 411 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/rip/rip.c:411:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/rip/rip.c:922:31: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 922 | for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) | ~~~^~~~~ proto/rip/rip.c:922:31: note: place parentheses around the assignment to silence this warning 922 | for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) | ^ | ( ) proto/rip/rip.c:922:31: note: use '==' to turn this assignment into an equality comparison 922 | for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) | ^ | == proto/rip/rip.c:982:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 982 | WALK_LIST_DELSAFE(n, nn, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/rip/rip.c:982:5: note: place parentheses around the assignment to silence this warning 982 | WALK_LIST_DELSAFE(n, nn, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/rip/rip.c:982:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/rip/rip.c:1221:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1221 | buf += bsprintf(buf, " (%d/%d)", rte->attrs->pref, rt_metric); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/rip/rip.c:1224:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1224 | bsprintf(buf, " [%04x]", rt_tag); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/rip/rip.c:1233:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1233 | bsprintf(buf, "metric: %d", a->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/rip/rip.c:1237:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1237 | bsprintf(buf, "tag: %04x", a->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/rip/rip.c:1267:26: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1267 | if (iff && !patmatch(iff, ifa->iface->name)) | ^~~ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/rip/rip.c:1267:31: warning: passing 'char[16]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1267 | if (iff && !patmatch(iff, ifa->iface->name)) | ^~~~~~~~~~~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/rip/rip.c:1302:26: warning: passing 'const char *' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1302 | if (iff && !patmatch(iff, ifa->iface->name)) | ^~~ ./lib/string.h:43:26: note: passing argument to parameter 'pat' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/rip/rip.c:1302:31: warning: passing 'char[16]' to parameter of type 'const byte *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1302 | if (iff && !patmatch(iff, ifa->iface->name)) | ^~~~~~~~~~~~~~~~ ./lib/string.h:43:43: note: passing argument to parameter 'str' here 43 | int patmatch(const byte *pat, const byte *str); | ^ proto/rip/rip.c:1325:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1325 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/rip.c:1325:3: note: place parentheses around the assignment to silence this warning 1325 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/rip/rip.c:1325:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 15 warnings generated. CC -o obj/proto/rpki/rpki.o -c proto/rpki/rpki.c In file included from proto/rpki/rpki.c:98: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/rpki/rpki.c:877:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 877 | bsprintf(buf, "%s", rpki_cache_state_to_str(p->cache->state)); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/rpki/rpki.c:879:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 879 | bsprintf(buf, "No cache server configured"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ 3 warnings generated. CC -o obj/proto/rpki/packets.o -c proto/rpki/packets.c CC -o obj/proto/rpki/tcp_transport.o -c proto/rpki/tcp_transport.c CC -o obj/proto/rpki/ssh_transport.o -c proto/rpki/ssh_transport.c CC -o obj/proto/rpki/transport.o -c proto/rpki/transport.c CC -o obj/proto/static/static.o -c proto/static/static.c In file included from proto/static/static.c:43: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/static/static.c:810:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 810 | buf += bsprintf(buf, " (%d/%u)", rte->attrs->pref, a->u.data); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ proto/static/static.c:812:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 812 | buf += bsprintf(buf, " (%d)", rte->attrs->pref); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ 3 warnings generated. CC -o obj/sysdep/unix/alloc.o -c sysdep/unix/alloc.c CC -o obj/sysdep/unix/io.o -c sysdep/unix/io.c In file included from sysdep/unix/io.c:45: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == sysdep/unix/io.c:674:58: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] 674 | if (getsockopt(s->fd, SOL_SOCKET, SO_RCVBUF, &oldsize, &oldsize_s) < 0) | ^~~~~~~~~~ /usr/include/sys/socket.h:706:72: note: passing argument to parameter here 706 | int getsockopt(int, int, int, void * __restrict, socklen_t * __restrict); | ^ sysdep/unix/io.c:1273:35: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] 1273 | if ((getsockname(s->fd, &sa.sa, &sa_len) < 0) || | ^~~~~~~ /usr/include/sys/socket.h:705:74: note: passing argument to parameter here 705 | int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict); | ^ sysdep/unix/io.c:1299:66: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] 1299 | int fd = accept(s->fd, ((type == SK_TCP) ? &rem_sa.sa : NULL), &rem_sa_len); | ^~~~~~~~~~~ /usr/include/sys/socket.h:696:69: note: passing argument to parameter here 696 | int accept(int, struct sockaddr * __restrict, socklen_t * __restrict); | ^ sysdep/unix/io.c:1321:38: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] 1321 | if ((getsockname(fd, &loc_sa.sa, &loc_sa_len) < 0) || | ^~~~~~~~~~~ /usr/include/sys/socket.h:705:74: note: passing argument to parameter here 705 | int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict); | ^ sysdep/unix/io.c:1401:15: warning: 'ssh_is_server_known' is deprecated [-Wdeprecated-declarations] 1401 | switch (ssh_is_server_known(s->ssh->session)) | ^ /usr/local/include/libssh/libssh.h:582:1: note: 'ssh_is_server_known' has been explicitly marked deprecated here 582 | SSH_DEPRECATED LIBSSH_API int ssh_is_server_known(ssh_session session); | ^ /usr/local/include/libssh/libssh.h:81:40: note: expanded from macro 'SSH_DEPRECATED' 81 | #define SSH_DEPRECATED __attribute__ ((deprecated)) | ^ sysdep/unix/io.c:1612:12: warning: assigning to 'byte *' (aka 'unsigned char *') from 'char[1]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1612 | s->ttx = ""; /* Force s->ttx != s->tpos */ | ^ ~~ sysdep/unix/io.c:1623:12: warning: assigning to 'byte *' (aka 'unsigned char *') from 'char[1]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1623 | s->ttx = ""; /* Force s->ttx != s->tpos */ | ^ ~~ sysdep/unix/io.c:2077:7: warning: 'ssh_channel_select' is deprecated [-Wdeprecated-declarations] 2077 | if (ssh_channel_select(rchans, NULL, NULL, &timev) == SSH_EINTR) | ^ /usr/local/include/libssh/libssh.h:584:1: note: 'ssh_channel_select' has been explicitly marked deprecated here 584 | SSH_DEPRECATED LIBSSH_API int ssh_channel_select(ssh_channel *readchans, ssh_channel *writechans, ssh_channel *exceptchans, struct | ^ /usr/local/include/libssh/libssh.h:81:40: note: expanded from macro 'SSH_DEPRECATED' 81 | #define SSH_DEPRECATED __attribute__ ((deprecated)) | ^ sysdep/unix/io.c:2255:54: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] 2255 | if (getsockopt(s->fd, SOL_SOCKET, SO_ERROR, &se, &sse) < 0) | ^~~~ /usr/include/sys/socket.h:706:72: note: passing argument to parameter here 706 | int getsockopt(int, int, int, void * __restrict, socklen_t * __restrict); | ^ sysdep/unix/io.c:2501:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2501 | if (t = timers_first(&main_timeloop)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io.c:2501:13: note: place parentheses around the assignment to silence this warning 2501 | if (t = timers_first(&main_timeloop)) | ^ | ( ) sysdep/unix/io.c:2501:13: note: use '==' to turn this assignment into an equality comparison 2501 | if (t = timers_first(&main_timeloop)) | ^ | == 11 warnings generated. CC -o obj/sysdep/unix/krt.o -c sysdep/unix/krt.c sysdep/unix/krt.c:340:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 340 | for(mm=&n->routes; m = *mm; mm=&m->next) | ~~^~~~~ sysdep/unix/krt.c:340:24: note: place parentheses around the assignment to silence this warning 340 | for(mm=&n->routes; m = *mm; mm=&m->next) | ^ | ( ) sysdep/unix/krt.c:340:24: note: use '==' to turn this assignment into an equality comparison 340 | for(mm=&n->routes; m = *mm; mm=&m->next) | ^ | == sysdep/unix/krt.c:393:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 393 | while (e = *ee) | ~~^~~~~ sysdep/unix/krt.c:393:16: note: place parentheses around the assignment to silence this warning 393 | while (e = *ee) | ^ | ( ) sysdep/unix/krt.c:393:16: note: use '==' to turn this assignment into an equality comparison 393 | while (e = *ee) | ^ | == sysdep/unix/krt.c:453:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 453 | for(gg=&n->routes; g = *gg; gg = &g->next) | ~~^~~~~ sysdep/unix/krt.c:453:24: note: place parentheses around the assignment to silence this warning 453 | for(gg=&n->routes; g = *gg; gg = &g->next) | ^ | ( ) sysdep/unix/krt.c:453:24: note: use '==' to turn this assignment into an equality comparison 453 | for(gg=&n->routes; g = *gg; gg = &g->next) | ^ | == sysdep/unix/krt.c:491:23: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 491 | for(gg=&n->routes; g=*gg; gg=&g->next) | ~^~~~ sysdep/unix/krt.c:491:23: note: place parentheses around the assignment to silence this warning 491 | for(gg=&n->routes; g=*gg; gg=&g->next) | ^ | ( ) sysdep/unix/krt.c:491:23: note: use '==' to turn this assignment into an equality comparison 491 | for(gg=&n->routes; g=*gg; gg=&g->next) | ^ | == sysdep/unix/krt.c:563:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 563 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/krt.c:563:3: note: place parentheses around the assignment to silence this warning 563 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ sysdep/unix/krt.c:563:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ sysdep/unix/krt.c:733:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 733 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/krt.c:733:3: note: place parentheses around the assignment to silence this warning 733 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ sysdep/unix/krt.c:733:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ sysdep/unix/krt.c:1187:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1187 | bsprintf(buf, "source"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ sysdep/unix/krt.c:1191:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1191 | bsprintf(buf, "metric"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ 8 warnings generated. CC -o obj/sysdep/unix/log.o -c sysdep/unix/log.c In file included from sysdep/unix/log.c:28: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == sysdep/unix/log.c:210:12: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 210 | strcpy(buf->end - 100, " ... "); | ^~~~~~~~~~~~~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ sysdep/unix/log.c:237:33: warning: passing 'byte[32]' (aka 'unsigned char[32]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 237 | if (!tm_format_real_time(tbuf, sizeof(tbuf), fmt, current_real_time())) | ^~~~ ./lib/timer.h:128:31: note: passing argument to parameter 'x' here 128 | int tm_format_real_time(char *x, size_t max, const char *fmt, btime t); | ^ sysdep/unix/log.c:238:10: warning: passing 'byte[32]' (aka 'unsigned char[32]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 238 | strcpy(tbuf, ""); | ^~~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ sysdep/unix/log.c:242:26: warning: passing 'byte[32]' (aka 'unsigned char[32]') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 242 | off_t msg_len = strlen(tbuf) + strlen(class_names[class]) + | ^~~~ /usr/include/string.h:100:28: note: passing argument to parameter here 100 | size_t strlen(const char *) __pure; | ^ sysdep/unix/log.c:257:10: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 257 | fputs(buf->start, l->fh); | ^~~~~~~~~~ /usr/include/stdio.h:261:35: note: passing argument to parameter here 261 | int fputs(const char * __restrict, FILE * __restrict); | ^ 6 warnings generated. CC -o obj/sysdep/unix/main.o -c sysdep/unix/main.c In file included from sysdep/unix/main.c:38: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == In file included from sysdep/unix/main.c:442: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == 2 warnings generated. CC -o obj/sysdep/unix/random.o -c sysdep/unix/random.c CC -o obj/sysdep/bsd-netlink/netlink.o -c sysdep/bsd-netlink/netlink.c sysdep/bsd-netlink/netlink.c:851:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 851 | else | ^ sysdep/bsd-netlink/netlink.c:1223:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1223 | while (h = nl_get_scan()) | ~~^~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.c:1223:12: note: place parentheses around the assignment to silence this warning 1223 | while (h = nl_get_scan()) | ^ | ( ) sysdep/bsd-netlink/netlink.c:1223:12: note: use '==' to turn this assignment into an equality comparison 1223 | while (h = nl_get_scan()) | ^ | == sysdep/bsd-netlink/netlink.c:1250:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1250 | while (h = nl_get_scan()) | ~~^~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.c:1250:12: note: place parentheses around the assignment to silence this warning 1250 | while (h = nl_get_scan()) | ^ | ( ) sysdep/bsd-netlink/netlink.c:1250:12: note: use '==' to turn this assignment into an equality comparison 1250 | while (h = nl_get_scan()) | ^ | == sysdep/bsd-netlink/netlink.c:1257:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1257 | while (h = nl_get_scan()) | ~~^~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.c:1257:12: note: place parentheses around the assignment to silence this warning 1257 | while (h = nl_get_scan()) | ^ | ( ) sysdep/bsd-netlink/netlink.c:1257:12: note: use '==' to turn this assignment into an equality comparison 1257 | while (h = nl_get_scan()) | ^ | == sysdep/bsd-netlink/netlink.c:1403:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1403 | else if (ea = ea_find(eattrs, EA_KRT_SCOPE)) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.c:1403:15: note: place parentheses around the assignment to silence this warning 1403 | else if (ea = ea_find(eattrs, EA_KRT_SCOPE)) | ^ | ( ) sysdep/bsd-netlink/netlink.c:1403:15: note: use '==' to turn this assignment into an equality comparison 1403 | else if (ea = ea_find(eattrs, EA_KRT_SCOPE)) | ^ | == sysdep/bsd-netlink/netlink.c:1410:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1410 | if (ea = ea_find(eattrs, EA_KRT_PREFSRC)) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.c:1410:10: note: place parentheses around the assignment to silence this warning 1410 | if (ea = ea_find(eattrs, EA_KRT_PREFSRC)) | ^ | ( ) sysdep/bsd-netlink/netlink.c:1410:10: note: use '==' to turn this assignment into an equality comparison 1410 | if (ea = ea_find(eattrs, EA_KRT_PREFSRC)) | ^ | == sysdep/bsd-netlink/netlink.c:1413:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1413 | if (ea = ea_find(eattrs, EA_KRT_REALM)) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.c:1413:10: note: place parentheses around the assignment to silence this warning 1413 | if (ea = ea_find(eattrs, EA_KRT_REALM)) | ^ | ( ) sysdep/bsd-netlink/netlink.c:1413:10: note: use '==' to turn this assignment into an equality comparison 1413 | if (ea = ea_find(eattrs, EA_KRT_REALM)) | ^ | == sysdep/bsd-netlink/netlink.c:1422:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1422 | while (ea = ea_walk(&ews, EA_KRT_METRICS, KRT_METRICS_MAX)) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.c:1422:13: note: place parentheses around the assignment to silence this warning 1422 | while (ea = ea_walk(&ews, EA_KRT_METRICS, KRT_METRICS_MAX)) | ^ | ( ) sysdep/bsd-netlink/netlink.c:1422:13: note: use '==' to turn this assignment into an equality comparison 1422 | while (ea = ea_walk(&ews, EA_KRT_METRICS, KRT_METRICS_MAX)) | ^ | == sysdep/bsd-netlink/netlink.c:1428:15: warning: assigning to 'const char *' from 'const byte[0]' (aka 'const unsigned char[0]') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 1428 | cc_algo = ea->u.ptr->data; | ^ ~~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.c:1877:11: warning: add explicit braces to avoid dangling else [-Wdangling-else] 1877 | else if (t == RTAX_CC_ALGO) | ^ sysdep/bsd-netlink/netlink.c:1933:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1933 | while (h = nl_get_scan()) | ~~^~~~~~~~~~~~~~~ sysdep/bsd-netlink/netlink.c:1933:12: note: place parentheses around the assignment to silence this warning 1933 | while (h = nl_get_scan()) | ^ | ( ) sysdep/bsd-netlink/netlink.c:1933:12: note: use '==' to turn this assignment into an equality comparison 1933 | while (h = nl_get_scan()) | ^ | == sysdep/bsd-netlink/netlink.c:2151:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2151 | HASH_REMOVE2(nl_table_map, RTH, krt_pool, p); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ sysdep/bsd-netlink/netlink.c:2151:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ sysdep/bsd-netlink/netlink.c:2151:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ sysdep/bsd-netlink/netlink.c:2192:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2192 | bsprintf(buf, "prefsrc"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ sysdep/bsd-netlink/netlink.c:2196:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2196 | bsprintf(buf, "realm"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ sysdep/bsd-netlink/netlink.c:2200:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2200 | bsprintf(buf, "scope"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ sysdep/bsd-netlink/netlink.c:2204:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2204 | buf += bsprintf(buf, "lock:"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ sysdep/bsd-netlink/netlink.c:2209:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2209 | buf += bsprintf(buf, "features:"); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ sysdep/bsd-netlink/netlink.c:2217:16: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 2217 | bsprintf(buf, "%s", krt_metrics_names[id]); | ^~~ ./lib/string.h:18:20: note: passing argument to parameter 'str' here 18 | int bsprintf(char *str, const char *fmt, ...); | ^ 18 warnings generated. LD -L/usr/local/lib -pthread -o bird obj/conf/cf-parse.tab.o obj/conf/cf-lex.o obj/conf/conf.o obj/filter/filter.o obj/filter/data.o obj/filter/f-util.o obj/filter/tree.o obj/filter/trie.o obj/filter/inst-gen.o obj/lib/bitmap.o obj/lib/bitops.o obj/lib/blake2s.o obj/lib/blake2b.o obj/lib/checksum.o obj/lib/event.o obj/lib/flowspec.o obj/lib/idm.o obj/lib/ip.o obj/lib/lists.o obj/lib/mac.o obj/lib/md5.o obj/lib/mempool.o obj/lib/net.o obj/lib/patmatch.o obj/lib/printf.o obj/lib/resource.o obj/lib/sha1.o obj/lib/sha256.o obj/lib/sha512.o obj/lib/slab.o obj/lib/slists.o obj/lib/strtoul.o obj/lib/tbf.o obj/lib/timer.o obj/lib/xmalloc.o obj/nest/a-path.o obj/nest/a-set.o obj/nest/cli.o obj/nest/cmds.o obj/nest/iface.o obj/nest/locks.o obj/nest/mpls.o obj/nest/neighbor.o obj/nest/password.o obj/nest/proto.o obj/nest/proto-build.o obj/nest/rt-attr.o obj/nest/rt-dev.o obj/nest/rt-fib.o obj/nest/rt-show.o obj/nest/rt-table.o obj/proto/babel/babel.o obj/proto/babel/packets.o obj/proto/bfd/bfd.o obj/proto/bfd/io.o obj/proto/bfd/packets.o obj/proto/bgp/attrs.o obj/proto/bgp/bgp.o obj/proto/bgp/packets.o obj/proto/mrt/mrt.o obj/proto/ospf/dbdes.o obj/proto/ospf/hello.o obj/proto/ospf/iface.o obj/proto/ospf/lsack.o obj/proto/ospf/lsalib.o obj/proto/ospf/lsreq.o obj/proto/ospf/lsupd.o obj/proto/ospf/neighbor.o obj/proto/ospf/ospf.o obj/proto/ospf/packet.o obj/proto/ospf/rt.o obj/proto/ospf/topology.o obj/proto/pipe/pipe.o obj/proto/radv/packets.o obj/proto/radv/radv.o obj/proto/rip/packets.o obj/proto/rip/rip.o obj/proto/rpki/rpki.o obj/proto/rpki/packets.o obj/proto/rpki/tcp_transport.o obj/proto/rpki/ssh_transport.o obj/proto/rpki/transport.o obj/proto/static/static.o obj/sysdep/unix/alloc.o obj/sysdep/unix/io.o obj/sysdep/unix/krt.o obj/sysdep/unix/log.o obj/sysdep/unix/main.o obj/sysdep/unix/random.o obj/sysdep/bsd-netlink/netlink.o -lssh CC -o obj/client/commands.o -c client/commands.c CC -o obj/client/util.o -c client/util.c CC -o obj/client/client.o -c client/client.c client/client.c:332:19: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 332 | server_got_reply(start); | ^~~~~ client/client.c:271:24: note: passing argument to parameter 'x' here 271 | server_got_reply(char *x) | ^ client/client.c:343:14: warning: passing 'byte[4096]' (aka 'unsigned char[4096]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 343 | strcpy(server_read_buf, "?"); | ^~~~~~~~~~~~~~~ /usr/include/string.h:87:31: note: passing argument to parameter here 87 | char *strcpy(char * __restrict, const char * __restrict); | ^ 2 warnings generated. CC -o obj/client/birdcl.o -c client/birdcl.c LD -L/usr/local/lib -pthread -o birdcl obj/client/commands.o obj/client/util.o obj/client/client.o obj/client/birdcl.o CC -o obj/client/birdc.o -c client/birdc.c LD -L/usr/local/lib -pthread -o birdc obj/client/commands.o obj/client/util.o obj/client/client.o obj/client/birdc.o -lreadline -ltinfo =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Staging for bird2-2.18 ===> Generating temporary packing list ===> Creating groups /usr/bin/install -c -d /wrkdirs/usr/ports/net/bird2/work-netlink/stage//usr/local/sbin /wrkdirs/usr/ports/net/bird2/work-netlink/stage//usr/local/etc /wrkdirs/usr/ports/net/bird2/work-netlink/stage//var/run for BIN in bird birdcl birdc ; do \ install -s -m 555 ./$BIN /wrkdirs/usr/ports/net/bird2/work-netlink/stage//usr/local/sbin/$BIN ; \ done if ! test -f /wrkdirs/usr/ports/net/bird2/work-netlink/stage//usr/local/etc/bird.conf ; then \ install -m 0644 ./doc/bird.conf.example /wrkdirs/usr/ports/net/bird2/work-netlink/stage//usr/local/etc/bird.conf.sample ; \ else \ echo "Not overwriting old bird.conf" ; \ fi ====> Compressing man pages (compress-man) ===> Staging rc.d startup script(s) =========================================================================== =================================================== ===== env: 'PKG_NOTES=build_timestamp ports_top_git_hash ports_top_checkout_unclean port_git_hash port_checkout_unclean built_by' 'PKG_NOTE_build_timestamp=2026-01-22T17:02:53+0000' 'PKG_NOTE_ports_top_git_hash=076a295eb33c' 'PKG_NOTE_ports_top_checkout_unclean=no' 'PKG_NOTE_port_git_hash=0ced8ca27476' 'PKG_NOTE_port_checkout_unclean=no' 'PKG_NOTE_built_by=poudriere-git-3.4.2' NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Building packages for bird2-2.18 ===> Building bird2-2.18 =========================================================================== =>> Cleaning up wrkdir ===> Cleaning for bird2-2.18 build of net/bird2@netlink | bird2-2.18 ended at Thu Jan 22 12:06:22 EST 2026 build time: 00:03:33