=>> Building shells/heirloom-sh build started at Fri Feb 20 12:41:14 EST 2026 port directory: /usr/ports/shells/heirloom-sh package name: heirloom-sh-050706_2 building for: FreeBSD pkg.DaveG.ca 15.0-RELEASE-p3 FreeBSD 15.0-RELEASE-p3 1500068 amd64 maintained by: hrs@FreeBSD.org Makefile datestamp: -rw-r--r-- 1 root wheel 993 Nov 22 2024 /usr/ports/shells/heirloom-sh/Makefile Ports top last git commit: eac71dbf758c Ports top unclean checkout: no Port dir last git commit: 6b7215ed5652 Port dir unclean checkout: no Poudriere version: poudriere-git-3.4.2 Host OSVERSION: 1500068 Jail OSVERSION: 1500068 Job Id: 13 ---Begin Environment--- SHELL=/bin/sh OSVERSION=1500068 UNAME_v=FreeBSD 15.0-RELEASE-p3 1500068 UNAME_r=15.0-RELEASE-p3 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_15_0_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_15_0_x64-HEAD-ALL/13/.p OUTPUT_REDIRECTED_STDOUT=3 P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS MASTERNAME=freebsd_15_0_x64-HEAD-ALL SCRIPTPREFIX=/usr/local/share/poudriere SCRIPTNAME=bulk.sh OLDPWD=/usr/local/poudriere/data/.m/freebsd_15_0_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= MAKE_ARGS= ---End Poudriere Port Flags/Env--- ---Begin OPTIONS List--- ===> The following configuration options are available for heirloom-sh-050706_2: DOCS=on: Build and/or install documentation ===> Use 'make config' to modify these settings ---End OPTIONS List--- --MAINTAINER-- hrs@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/shells/heirloom-sh/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/shells/heirloom-sh/work XDG_CACHE_HOME=/wrkdirs/usr/ports/shells/heirloom-sh/work/.cache HOME=/wrkdirs/usr/ports/shells/heirloom-sh/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/shells/heirloom-sh/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/shells/heirloom-sh/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/shells/heirloom-sh/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/shells/heirloom-sh/work XDG_CACHE_HOME=/wrkdirs/usr/ports/shells/heirloom-sh/work/.cache HOME=/wrkdirs/usr/ports/shells/heirloom-sh/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/shells/heirloom-sh/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/shells/heirloom-sh/work/.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 " CPP="cpp" CPPFLAGS="" LDFLAGS=" " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " 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-- PORTDOCS="" OSREL=15.0 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/heirloom-sh" EXAMPLESDIR="share/examples/heirloom-sh" DATADIR="share/heirloom-sh" WWWDIR="www/heirloom-sh" ETCDIR="etc/heirloom-sh" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/heirloom-sh DOCSDIR=/usr/local/share/doc/heirloom-sh EXAMPLESDIR=/usr/local/share/examples/heirloom-sh WWWDIR=/usr/local/www/heirloom-sh ETCDIR=/usr/local/etc/heirloom-sh --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 ===> heirloom-sh-050706_2 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 ===> heirloom-sh-050706_2 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of heirloom-sh-050706_2 =========================================================================== =================================================== ===== 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 heirloom-sh-050706_2 for building =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by heirloom-sh-050706_2 for building => SHA256 Checksum OK for heirloom-sh-050706.tar.bz2. =========================================================================== =================================================== ===== 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 heirloom-sh-050706_2 for building ===> Extracting for heirloom-sh-050706_2 => SHA256 Checksum OK for heirloom-sh-050706.tar.bz2. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Patching for heirloom-sh-050706_2 ===> Applying FreeBSD patches for heirloom-sh-050706_2 from /usr/ports/shells/heirloom-sh/files =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> heirloom-sh-050706_2 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. ===> heirloom-sh-050706_2 depends on file: /usr/local/bin/ccache - found ===> Returning to build of heirloom-sh-050706_2 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Configuring for heirloom-sh-050706_2 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Building for heirloom-sh-050706_2 --- args.o --- --- blok.o --- --- bltin.o --- --- cmd.o --- --- ctype.o --- --- defs.o --- --- echo.o --- --- error.o --- --- expand.o --- --- fault.o --- --- func.o --- --- hash.o --- --- hashserv.o --- --- io.o --- --- jobs.o --- --- macro.o --- --- main.o --- --- msg.o --- --- name.o --- --- print.o --- --- pwd.o --- --- service.o --- --- setbrk.o --- --- stak.o --- --- string.o --- --- test.o --- --- ulimit.o --- --- word.o --- --- xec.o --- --- gmatch.o --- --- getopt.o --- --- strsig.o --- --- version.o --- --- mapmalloc.o --- --- umask.o --- --- sh.1.out --- --- args.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith args.c --- blok.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith blok.c --- bltin.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith bltin.c --- cmd.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith cmd.c --- ctype.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith ctype.c --- defs.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith defs.c --- echo.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith echo.c --- error.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith error.c --- expand.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith expand.c --- fault.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith fault.c --- func.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith func.c --- hash.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith hash.c --- hashserv.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith hashserv.c --- io.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith io.c --- jobs.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith jobs.c --- macro.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith macro.c --- main.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith main.c --- msg.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith msg.c --- name.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith name.c --- print.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith print.c --- pwd.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith pwd.c --- service.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith service.c --- setbrk.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith setbrk.c --- stak.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith stak.c --- string.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith string.c --- test.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith test.c --- ulimit.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith ulimit.c --- word.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith word.c --- xec.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith xec.c --- gmatch.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith gmatch.c --- getopt.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith getopt.c --- strsig.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith strsig.c --- version.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith version.c --- mapmalloc.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith mapmalloc.c --- sh.1.out --- test "x" != x && cat sh.1 >sh.1.out || sed '/BEGIN SPELL/,/END SPELL/d' sh.1.out --- umask.o --- cc -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64L -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wuninitialized -Wmultichar -Wpointer-arith umask.c --- error.o --- error.c:48:7: warning: passing 'const char[]' to parameter of type '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] 48 | prs(colon); | ^~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ error.c:58:12: warning: passing 'char *' to parameter of type '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] 58 | failed(s, NIL); | ^~~ ./mode.h:51:13: note: expanded from macro 'NIL' 51 | #define NIL ((char*)0) | ^~~~~~~~~~ error.c:42:54: note: passing argument to parameter 's2' here 42 | failed(const unsigned char *s1, const unsigned char *s2) | ^ error.c:114:7: warning: passing 'const char[]' to parameter of type '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] 114 | prs(colon); | ^~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ 3 warnings generated. --- echo.o --- echo.c:61:18: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 61 | sysv3 = findnam("SYSV3"); | ^~~~~~~ ./defs.h:330:39: note: passing argument to parameter here 330 | struct namnod *findnam(unsigned char *); | ^ 1 warning generated. --- string.o --- string.c:45:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 45 | while (*b++ = *a++); | ~~~~~^~~~~~ string.c:45:14: note: place parentheses around the assignment to silence this warning 45 | while (*b++ = *a++); | ^ | ( ) string.c:45:14: note: use '==' to turn this assignment into an equality comparison 45 | while (*b++ = *a++); | ^ | == string.c:54:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 54 | while (d = *s++) | ~~^~~~~~ string.c:54:11: note: place parentheses around the assignment to silence this warning 54 | while (d = *s++) | ^ | ( ) string.c:54:11: note: use '==' to turn this assignment into an equality comparison 54 | while (d = *s++) | ^ | == string.c:94:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 94 | if (s = as) | ~~^~~~ string.c:94:8: note: place parentheses around the assignment to silence this warning 94 | if (s = as) | ^ | ( ) string.c:94:8: note: use '==' to turn this assignment into an equality comparison 94 | if (s = as) | ^ | == 3 warnings generated. --- stak.o --- stak.c:71:10: warning: passing 'const char[]' to parameter of type '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] 71 | error(nostack); | ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ stak.c:87:9: warning: passing 'const char[]' to parameter of type '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] 87 | error(nospace); | ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ stak.c:149:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 149 | while (*b++ = *a++); | ~~~~~^~~~~~ stak.c:149:14: note: place parentheses around the assignment to silence this warning 149 | while (*b++ = *a++); | ^ | ( ) stak.c:149:14: note: use '==' to turn this assignment into an equality comparison 149 | while (*b++ = *a++); | ^ | == 3 warnings generated. --- blok.o --- blok.c:59:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype] 59 | alloc(nbytes) | ^ blok.c:134:10: warning: passing 'const char[]' to parameter of type '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] 134 | error(nospace); | ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ blok.c:142:10: warning: passing 'const char[]' to parameter of type '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] 142 | error(nospace); | ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ blok.c:149:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 149 | if (reqd = (staktop-stakbot)) | ~~~~~^~~~~~~~~~~~~~~~~~~ blok.c:149:12: note: place parentheses around the assignment to silence this warning 149 | if (reqd = (staktop-stakbot)) | ^ | ( ) blok.c:149:12: note: use '==' to turn this assignment into an equality comparison 149 | if (reqd = (staktop-stakbot)) | ^ | == blok.c:165:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype] 165 | free(ap) | ^ ./defs.h:186:14: note: expanded from macro 'free' 186 | #define free sh_free | ^ 5 warnings generated. --- pwd.o --- pwd.c:234:13: warning: passing 'unsigned char[1025]' 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] 234 | if(getcwd(cwdname, PATH_MAX+1) == (char *)0) | ^~~~~~~ /usr/include/unistd.h:345:20: note: passing argument to parameter here 345 | char *getcwd(char *, size_t); | ^ pwd.c:252:13: warning: passing 'unsigned char[1025]' 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] 252 | if(getcwd(cwdname, PATH_MAX+1) == (char *)0) { | ^~~~~~~ /usr/include/unistd.h:345:20: note: passing argument to parameter here 345 | char *getcwd(char *, size_t); | ^ pwd.c:254:11: warning: passing 'char[35]' to parameter of type '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] 254 | error("cannot determine current directory"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ pwd.c:256:11: warning: passing 'const char[]' to parameter of type '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] 256 | error(longpwd); | ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ 4 warnings generated. --- ulimit.o --- ulimit.c:195:14: warning: passing 'char *const' to parameter of type '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] 195 | prs_buff(rp->name); | ^~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ ulimit.c:197:14: warning: passing 'char *const' to parameter of type '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] 197 | prs_buff(rp->scale); | ^~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ ulimit.c:203:15: warning: passing 'char[10]' to parameter of type '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] 203 | prs_buff("unlimited"); | ^~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ ulimit.c:214:15: warning: passing 'char[10]' to parameter of type '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] 214 | prs_buff("unlimited"); | ^~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ ulimit.c:228:9: warning: passing 'char *' to parameter of type '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] 228 | if (eq(argv[optind], "unlimited")) { | ^~~~~~~~~~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ ulimit.c:228:23: warning: passing 'char[10]' to parameter of type '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] 228 | if (eq(argv[optind], "unlimited")) { | ^~~~~~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ ulimit.c:276:16: warning: passing 'char *' to parameter of type '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] 276 | fail: failure(argv[0], badulimit); | ^~~~~~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ ulimit.c:276:25: warning: passing 'const char[]' to parameter of type '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] 276 | fail: failure(argv[0], badulimit); | ^~~~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ 8 warnings generated. --- expand.o --- expand.c:187:26: warning: passing '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] 187 | if (gmatch(e->d_name, cs)) | ^~ ./defs.h:248:38: note: passing argument to parameter here 248 | int gmatch(const char *, const char *); | ^ expand.c:189:13: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 189 | addg(s, e->d_name, rescan, slashsav); | ^~~~~~~~~ expand.c:57:50: note: passing argument to parameter here 57 | static void addg(unsigned char *, unsigned char *, | ^ expand.c:232:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 232 | while (c = *s1++) | ~~^~~~~~~ expand.c:232:12: note: place parentheses around the assignment to silence this warning 232 | while (c = *s1++) | ^ | ( ) expand.c:232:12: note: use '==' to turn this assignment into an equality comparison 232 | while (c = *s1++) | ^ | == expand.c:278:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 278 | if (s1 = as3) | ~~~^~~~~ expand.c:278:9: note: place parentheses around the assignment to silence this warning 278 | if (s1 = as3) | ^ | ( ) expand.c:278:9: note: use '==' to turn this assignment into an equality comparison 278 | if (s1 = as3) | ^ | == expand.c:288:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 288 | while (*s2++ = *++s1); | ~~~~~~^~~~~~~ expand.c:288:16: note: place parentheses around the assignment to silence this warning 288 | while (*s2++ = *++s1); | ^ | ( ) expand.c:288:16: note: use '==' to turn this assignment into an equality comparison 288 | while (*s2++ = *++s1); | ^ | == 5 warnings generated. --- umask.o --- umask.c:85:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 85 | while (o = what(&ms)) { | ~~^~~~~~~~~~~ umask.c:85:12: note: place parentheses around the assignment to silence this warning 85 | while (o = what(&ms)) { | ^ | ( ) umask.c:85:12: note: use '==' to turn this assignment into an equality comparison 85 | while (o = what(&ms)) { | ^ | == umask.c:117:10: warning: passing 'const char *' to parameter of type '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] 117 | failed(&badumask[4], badumask); | ^~~~~~~~~~~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ umask.c:117:24: warning: passing 'const char[]' to parameter of type '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] 117 | failed(&badumask[4], badumask); | ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ umask.c:242:21: warning: passing 'char *' to parameter of type '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 (argc > 1 && eq(argv[1], "-S")) { | ^~~~~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ umask.c:242:30: warning: passing 'char[3]' to parameter of type '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 (argc > 1 && eq(argv[1], "-S")) { | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ umask.c:244:12: warning: passing 'char[3]' to parameter of type '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] 244 | prs_buff("u="); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ umask.c:251:12: warning: passing 'char[4]' to parameter of type '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] 251 | prs_buff(",g="); | ^~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ umask.c:258:12: warning: passing 'char[4]' to parameter of type '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] 258 | prs_buff(",o="); | ^~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ 8 warnings generated. --- args.o --- args.c:130:20: warning: passing 'const char[]' to parameter of type '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] 130 | failed(argv[1],badopt); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ args.c:139:21: warning: passing 'char[4]' to parameter of type '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] 139 | if (eq(argv[0], "set") && any(wc, "sicrp")) | ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ args.c:139:39: warning: passing 'char[6]' to parameter of type '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] 139 | if (eq(argv[0], "set") && any(wc, "sicrp")) | ^~~~~~~ ./defs.h:385:39: note: passing argument to parameter here 385 | int any(wchar_t, const unsigned char *); | ^ args.c:140:22: warning: passing 'const char[]' to parameter of type '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] 140 | failed(argv[1], badopt); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ args.c:156:20: warning: passing 'const char[]' to parameter of type '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] 156 | failed(argv[1],badopt); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ args.c:178:17: warning: passing 'char[6]' to parameter of type '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] 178 | if (!any(wc, "sicrp") && wc == *flagc) { | ^~~~~~~ ./defs.h:385:39: note: passing argument to parameter here 385 | int any(wchar_t, const unsigned char *); | ^ args.c:232:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 232 | if (argblk = dolh) | ~~~~~~~^~~~~~ args.c:232:13: note: place parentheses around the assignment to silence this warning 232 | if (argblk = dolh) | ^ | ( ) args.c:232:13: note: use '==' to turn this assignment into an equality comparison 232 | if (argblk = dolh) | ^ | == args.c:252:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 252 | if (argblk = blk) | ~~~~~~~^~~~~ args.c:252:13: note: place parentheses around the assignment to silence this warning 252 | if (argblk = blk) | ^ | ( ) args.c:252:13: note: use '==' to turn this assignment into an equality comparison 252 | if (argblk = blk) | ^ | == args.c:304:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 304 | if (argblk = blk) | ~~~~~~~^~~~~ args.c:304:13: note: place parentheses around the assignment to silence this warning 304 | if (argblk = blk) | ^ | ( ) args.c:304:13: note: use '==' to turn this assignment into an equality comparison 304 | if (argblk = blk) | ^ | == args.c:336:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 336 | while (argfor = clean_args(argfor)) | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ args.c:336:16: note: place parentheses around the assignment to silence this warning 336 | while (argfor = clean_args(argfor)) | ^ | ( ) args.c:336:16: note: use '==' to turn this assignment into an equality comparison 336 | while (argfor = clean_args(argfor)) | ^ | == 10 warnings generated. --- func.o --- func.c:249:14: warning: passing 'char[4]' to parameter of type '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] 249 | prs_buff("(){"); | ^~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:253:14: warning: passing 'char[2]' to parameter of type '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] 253 | prs_buff("}"); | ^~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:270:15: warning: passing 'char[3]' to parameter of type '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] 270 | prs_buff(" &"); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:274:14: warning: passing 'char[2]' to parameter of type '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] 274 | prs_buff("("); | ^~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:276:14: warning: passing 'char[2]' to parameter of type '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] 276 | prs_buff(")"); | ^~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:281:14: warning: passing 'char[4]' to parameter of type '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] 281 | prs_buff(" | "); | ^~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:293:14: warning: passing 'char[5]' to parameter of type '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] 293 | prs_buff(" && "); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:299:14: warning: passing 'char[5]' to parameter of type '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] 299 | prs_buff(" || "); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:308:15: warning: passing 'char[5]' to parameter of type '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] 308 | prs_buff("for "); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:314:16: warning: passing 'char[4]' to parameter of type '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] 314 | prs_buff(" in"); | ^~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:325:15: warning: passing 'char[3]' to parameter of type '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] 325 | prs_buff("do"); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:329:15: warning: passing 'char[5]' to parameter of type '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] 329 | prs_buff("done"); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:336:15: warning: passing 'char[7]' to parameter of type '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] 336 | prs_buff("while "); | ^~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:338:15: warning: passing 'char[7]' to parameter of type '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] 338 | prs_buff("until "); | ^~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:341:14: warning: passing 'char[3]' to parameter of type '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] 341 | prs_buff("do"); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:345:14: warning: passing 'char[5]' to parameter of type '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] 345 | prs_buff("done"); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:352:14: warning: passing 'char[4]' to parameter of type '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] 352 | prs_buff("if "); | ^~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:355:14: warning: passing 'char[5]' to parameter of type '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] 355 | prs_buff("then"); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:362:15: warning: passing 'char[5]' to parameter of type '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] 362 | prs_buff("else"); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:368:14: warning: passing 'char[3]' to parameter of type '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] 368 | prs_buff("fi"); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:376:15: warning: passing 'char[6]' to parameter of type '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] 376 | prs_buff("case "); | ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:392:17: warning: passing 'char[4]' to parameter of type '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] 392 | prs_buff(" | "); | ^~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:397:16: warning: passing 'char[2]' to parameter of type '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] 397 | prs_buff(")"); | ^~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:399:16: warning: passing 'char[3]' to parameter of type '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] 399 | prs_buff(";;"); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:441:14: warning: passing 'char[3]' to parameter of type '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] 441 | prs_buff("<<"); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:445:15: warning: passing 'char[3]' to parameter of type '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] 445 | prs_buff(">&"); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:447:15: warning: passing 'char[3]' to parameter of type '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] 447 | prs_buff("<&"); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ func.c:453:14: warning: passing 'char[3]' to parameter of type '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 | prs_buff(">>"); | ^~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ 28 warnings generated. --- bltin.o --- bltin.c:94:16: warning: passing 'const char[]' to parameter of type '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] 94 | failed(a1, notfound); | ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:172:20: warning: passing 'const char[]' to parameter of type '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] 172 | failed(argv[0], restricted); | ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:192:20: warning: passing 'const char[]' to parameter of type '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] 192 | failed(argv[0], restricted); | ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:201:16: warning: passing 'char[2]' to parameter of type '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] 201 | cf(a1, ".") == 0 || | ^~~ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ bltin.c:202:16: warning: passing 'char[3]' to parameter of type '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] 202 | cf(a1, "..") == 0 || | ^~~~ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ bltin.c:243:19: warning: passing 'const char[]' to parameter of type '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] 243 | failed(a1, emultihop); | ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:247:19: warning: passing 'const char[]' to parameter of type '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] 247 | failed(a1, enotdir); | ^~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:250:19: warning: passing 'const char[]' to parameter of type '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] 250 | failed(a1, enoent); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:253:19: warning: passing 'const char[]' to parameter of type '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] 253 | failed(a1, eacces); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:257:19: warning: passing 'const char[]' to parameter of type '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] 257 | failed(a1, enolink); | ^~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:261:18: warning: passing 'const char[]' to parameter of type '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] 261 | failed(a1, baddir); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:268:12: warning: passing 'const char[]' to parameter of type '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] 268 | if (cf(nullstr, dir) && | ^~~~~~~ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ bltin.c:282:11: warning: passing 'const char[]' to parameter of type '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] 282 | error(nulldir); | ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ bltin.c:284:11: warning: passing 'const char[]' to parameter of type '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] 284 | error(nohome); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ bltin.c:298:11: warning: passing 'const char[]' to parameter of type '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] 298 | error(badshift); | ^~~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ bltin.c:312:19: warning: passing 'const char[]' to parameter of type '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] 312 | failed(argv[0],mssgargn); | ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:359:13: warning: passing 'const char[]' to parameter of type '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] 359 | error(badexport); | ^~~~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ bltin.c:402:12: warning: passing 'const char[]' to parameter of type '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] 402 | error(badopt); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ bltin.c:409:21: warning: passing 'const char[]' to parameter of type '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 | failed(*argv, notfound); | ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ bltin.c:427:10: warning: passing 'const char[]' to parameter of type '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] 427 | error(badreturn); | ^~~~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ bltin.c:458:20: warning: passing 'const char[]' to parameter of type '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] 458 | failure(argv[0],mssgargn); | ^~~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ bltin.c:462:14: warning: passing 'char[7]' to parameter of type '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 | n = lookup("OPTIND"); | ^~~~~~~~ ./defs.h:320:38: note: passing argument to parameter here 320 | struct namnod *lookup(unsigned char *); | ^ bltin.c:474:14: warning: passing 'const char[]' to parameter of type '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] 474 | assign(n, nullstr); | ^~~~~~~ ./defs.h:316:51: note: passing argument to parameter here 316 | void assign(struct namnod *, const unsigned char *); | ^ bltin.c:485:14: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 485 | n = lookup("OPTARG"); | ^~~~~~~~ ./defs.h:320:38: note: passing argument to parameter here 320 | struct namnod *lookup(unsigned char *); | ^ bltin.c:486:13: warning: passing 'char *' to parameter of type '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] 486 | assign(n, optarg); | ^~~~~~ ./defs.h:316:51: note: passing argument to parameter here 316 | void assign(struct namnod *, const unsigned char *); | ^ bltin.c:491:12: warning: passing 'char[17]' to parameter of type '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] 491 | prs_buff("unknown builtin\n"); | ^~~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ 26 warnings generated. --- io.o --- io.c:130:9: warning: passing 'const char[]' to parameter of type '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] 130 | error(piperr); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ io.c:139:15: warning: passing 'const char[]' to parameter of type '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] 139 | failed(idf, badopen); | ^~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ io.c:182:13: warning: passing 'const char[]' to parameter of type '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] 182 | failed(s, badcreate); | ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ io.c:199:18: warning: passing 'const char[]' to parameter of type '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] 199 | failed(tmpout, badcreate); | ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ io.c:225:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 225 | if (iop = ioparg) | ~~~~^~~~~~~~ io.c:225:10: note: place parentheses around the assignment to silence this warning 225 | if (iop = ioparg) | ^ | ( ) io.c:225:10: note: use '==' to turn this assignment into an equality comparison 225 | if (iop = ioparg) | ^ | == io.c:229:18: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 229 | ends = mactrim(iop->ioname); | ^~~~~~~~~~~ ./defs.h:371:39: note: passing argument to parameter here 371 | unsigned char *mactrim(unsigned char *); | ^ io.c:355:19: warning: passing 'const char[]' to parameter of type '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] 355 | failed(tmpout, badcreate); | ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ 7 warnings generated. --- fault.o --- fault.c:177:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 177 | if (t = trapcom[0]) | ~~^~~~~~~~~~~~ fault.c:177:8: note: place parentheses around the assignment to silence this warning 177 | if (t = trapcom[0]) | ^ | ( ) fault.c:177:8: note: use '==' to turn this assignment into an equality comparison 177 | if (t = trapcom[0]) | ^ | == fault.c:298:11: warning: passing 'char[27]' to parameter of type '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] 298 | failure("sigaltstack(2) failed with", strerror(err)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ fault.c:298:41: warning: passing 'char *' to parameter of type '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] 298 | failure("sigaltstack(2) failed with", strerror(err)); | ^~~~~~~~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ fault.c:355:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 355 | if (t = trapcom[i]) | ~~^~~~~~~~~~~~ fault.c:355:10: note: place parentheses around the assignment to silence this warning 355 | if (t = trapcom[i]) | ^ | ( ) fault.c:355:10: note: use '==' to turn this assignment into an equality comparison 355 | if (t = trapcom[i]) | ^ | == fault.c:380:14: warning: passing 'const char[]' to parameter of type '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] 380 | prs_buff(colon); | ^~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ fault.c:399:13: warning: passing 'char *' to parameter of type '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] 399 | failure(cmd, badtrap); | ^~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ fault.c:399:18: warning: passing 'const char[]' to parameter of type '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] 399 | failure(cmd, badtrap); | ^~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ fault.c:417:29: warning: passing 'char *' to parameter of type '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] 417 | replace(&trapcom[sig], a1); | ^~ ./defs.h:314:53: note: passing argument to parameter here 314 | void replace(unsigned char **, const unsigned char *); | ^ fault.c:426:28: warning: passing 'char *' to parameter of type '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] 426 | replace(&trapcom[sig], a1); | ^~ ./defs.h:314:53: note: passing argument to parameter here 314 | void replace(unsigned char **, const unsigned char *); | ^ 9 warnings generated. --- word.o --- word.c:98:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 98 | while (c = *pc++) { | ~~^~~~~~~ word.c:98:15: note: place parentheses around the assignment to silence this warning 98 | while (c = *pc++) { | ^ | ( ) word.c:98:15: note: use '==' to turn this assignment into an equality comparison 98 | while (c = *pc++) { | ^ | == 1 warning generated. --- xec.o --- xec.c:88:23: warning: passing 'const char[]' to parameter of type '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] 88 | failed(n->namid, wtfailed); | ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ xec.c:91:19: warning: passing 'char[6]' to parameter of type '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] 91 | eq(n->namid, "SHELL"))) | ^~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ xec.c:92:23: warning: passing 'const char[]' to parameter of type '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] 92 | failed(n->namid, restricted); | ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ xec.c:148:22: warning: passing 'const char[]' to parameter of type '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 | failure(*com, notfound); | ^~~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ xec.c:150:22: warning: passing 'const char[]' to parameter of type '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] 150 | failure(*com, badexec); | ^~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ xec.c:152:22: warning: passing 'const char[]' to parameter of type '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] 152 | failure(*com, badperm); | ^~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ xec.c:227:16: warning: passing '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] 227 | allocjob(savebot, cwdget(), monitor); | ^~~~~~~ ./defs.h:286:21: note: passing argument to parameter here 286 | void allocjob(char *, unsigned char *, int); | ^ xec.c:229:20: warning: passing 'char[1]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 229 | allocjob("", "", 0); | ^~ ./defs.h:286:38: note: passing argument to parameter here 286 | void allocjob(char *, unsigned char *, int); | ^ xec.c:252:13: warning: passing 'const char[]' to parameter of type '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] 252 | error(noswap); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ xec.c:256:13: warning: passing 'const char[]' to parameter of type '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] 256 | error(nofork); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ xec.c:261:12: warning: passing 'const char[]' to parameter of type '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] 261 | error(eacces); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ xec.c:459:18: warning: passing '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] 459 | if (gmatch(r, s = macro(rex->argval)) || (trim(s), eq(r, s))) | ^ ./defs.h:248:24: note: passing argument to parameter here 248 | int gmatch(const char *, const char *); | ^ xec.c:459:21: warning: passing '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] 459 | if (gmatch(r, s = macro(rex->argval)) || (trim(s), eq(r, s))) | ^~~~~~~~~~~~~~~~~~~~~~ ./defs.h:248:38: note: passing argument to parameter here 248 | int gmatch(const char *, const char *); | ^ xec.c:505:6: warning: passing 'const char[]' to parameter of type '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] 505 | prs(execpmsg); | ^~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ 14 warnings generated. --- cmd.o --- cmd.c:134:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 134 | if (e = cmd(sym, flg | MTFLG)) | ~~^~~~~~~~~~~~~~~~~~~~~~~ cmd.c:134:9: note: place parentheses around the assignment to silence this warning 134 | if (e = cmd(sym, flg | MTFLG)) | ^ | ( ) cmd.c:134:9: note: use '==' to turn this assignment into an equality comparison 134 | if (e = cmd(sym, flg | MTFLG)) | ^ | == cmd.c:478:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 478 | if (io = inout(io)) | ~~~^~~~~~~~~~~ cmd.c:478:9: note: place parentheses around the assignment to silence this warning 478 | if (io = inout(io)) | ^ | ( ) cmd.c:478:9: note: use '==' to turn this assignment into an equality comparison 478 | if (io = inout(io)) | ^ | == cmd.c:578:7: warning: passing 'char *const' to parameter of type '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] 578 | prs(sp->sysnam); | ^~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ cmd.c:581:7: warning: passing 'const char[]' to parameter of type '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] 581 | prs(endoffile); | ^~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ cmd.c:587:8: warning: passing 'char[13]' to parameter of type '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] 587 | prs("newline or ;"); | ^~~~~~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ cmd.c:597:6: warning: passing 'const char[]' to parameter of type '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] 597 | prs(synmsg); | ^~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ cmd.c:600:7: warning: passing 'const char[]' to parameter of type '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] 600 | prs(atline); | ^~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ cmd.c:603:6: warning: passing 'const char[]' to parameter of type '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] 603 | prs(colon); | ^~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ cmd.c:610:6: warning: passing 'const char[]' to parameter of type '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] 610 | prs(unexpected); | ^~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ 9 warnings generated. --- hashserv.o --- hashserv.c:110:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 110 | if (i = syslook(name, commands, no_commands)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hashserv.c:110:8: note: place parentheses around the assignment to silence this warning 110 | if (i = syslook(name, commands, no_commands)) | ^ | ( ) hashserv.c:110:8: note: use '==' to turn this assignment into an equality comparison 110 | if (i = syslook(name, commands, no_commands)) | ^ | == hashserv.c:211:11: warning: passing 'char[19]' to parameter of type '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] 211 | prs_buff("hits cost command\n"); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:223:17: warning: passing 'char[1]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 223 | path = getpath(""); | ^~ ./defs.h:364:39: note: passing argument to parameter here 364 | unsigned char *getpath(unsigned char *); | ^ hashserv.c:276:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 276 | if(i = syslook(name, commands, no_commands)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hashserv.c:276:8: note: place parentheses around the assignment to silence this warning 276 | if(i = syslook(name, commands, no_commands)) | ^ | ( ) hashserv.c:276:8: note: use '==' to turn this assignment into an equality comparison 276 | if(i = syslook(name, commands, no_commands)) | ^ | == hashserv.c:332:14: warning: passing 'char[21]' to parameter of type '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] 332 | prs_buff(" is a shell builtin\n"); | ^~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:339:14: warning: passing 'char[16]' to parameter of type '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] 339 | prs_buff(" is a function\n"); | ^~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:341:14: warning: passing 'char[5]' to parameter of type '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] 341 | prs_buff("(){\n"); | ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:343:14: warning: passing 'char[4]' to parameter of type '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] 343 | prs_buff("\n}\n"); | ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:356:16: warning: passing 'char[12]' to parameter of type '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] 356 | prs_buff(" not found\n"); | ^~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:365:14: warning: passing 'char[13]' to parameter of type '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] 365 | prs_buff(" is hashed ("); | ^~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:367:14: warning: passing 'char[3]' to parameter of type '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] 367 | prs_buff(")\n"); | ^~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:374:12: warning: passing 'char[21]' to parameter of type '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] 374 | prs_buff(" is a shell builtin\n"); | ^~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:380:12: warning: passing 'char[5]' to parameter of type '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] 380 | prs_buff(" is "); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:387:12: warning: passing 'char[12]' to parameter of type '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] 387 | prs_buff(" not found\n"); | ^~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ hashserv.c:520:19: warning: passing 'const char[]' to parameter of type '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] 520 | if (eq(start, pathname)) | ^~~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ 15 warnings generated. --- test.o --- test.c:67:16: warning: passing 'char[2]' to parameter of type '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] 67 | if (eq(com[0],"[")) | ^~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:69:22: warning: passing 'char[2]' to parameter of type '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] 69 | if (!eq(com[--ac], "]")) | ^~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:70:11: warning: passing 'char[5]' to parameter of type '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] 70 | failed("test", "] missing"); | ^~~~~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ test.c:70:19: warning: passing 'char[10]' to parameter of type '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] 70 | failed("test", "] missing"); | ^~~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ test.c:94:10: warning: passing 'char[5]' to parameter of type '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] 94 | failed("test", "argument expected"); | ^~~~~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ test.c:94:18: warning: passing 'char[18]' to parameter of type '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] 94 | failed("test", "argument expected"); | ^~~~~~~~~~~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ test.c:109:14: warning: passing 'char[3]' to parameter of type '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] 109 | if (eq(p2, "-o")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:128:26: warning: passing 'char[3]' to parameter of type '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] 128 | if ((p2 != 0) && eq(p2, "-a")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:137:20: warning: passing 'char[2]' to parameter of type '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] 137 | if (eq(nxtarg(0), "!")) | ^~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:152:12: warning: passing 'char[2]' to parameter of type '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] 152 | if (eq(a, "(")) | ^~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:155:22: warning: passing 'char[2]' to parameter of type '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] 155 | if (!eq(nxtarg(0), ")")) | ^~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:156:11: warning: passing 'char[5]' to parameter of type '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] 156 | failed("test",") expected"); | ^~~~~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ test.c:156:18: warning: passing 'char[11]' to parameter of type '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] 156 | failed("test",") expected"); | ^~~~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ test.c:161:28: warning: passing 'char[2]' to parameter of type '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] 161 | if ((p2 == 0) || (!eq(p2, "=") && !eq(p2, "!="))) | ^~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:161:44: warning: passing 'char[3]' to parameter of type '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] 161 | if ((p2 == 0) || (!eq(p2, "=") && !eq(p2, "!="))) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:163:13: warning: passing 'char[3]' to parameter of type '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] 163 | if (eq(a, "-r")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:165:13: warning: passing 'char[3]' to parameter of type '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] 165 | if (eq(a, "-w")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:167:13: warning: passing 'char[3]' to parameter of type '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] 167 | if (eq(a, "-x")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:177:13: warning: passing 'char[3]' to parameter of type '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] 177 | if (eq(a, "-d")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:179:13: warning: passing 'char[3]' to parameter of type '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] 179 | if (eq(a, "-c")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:181:13: warning: passing 'char[3]' to parameter of type '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] 181 | if (eq(a, "-b")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:183:13: warning: passing 'char[3]' to parameter of type '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] 183 | if (eq(a, "-f")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:190:4: warning: add explicit braces to avoid dangling else [-Wdangling-else] 190 | else | ^ test.c:192:13: warning: passing 'char[3]' to parameter of type '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] 192 | if (eq(a, "-u")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:194:13: warning: passing 'char[3]' to parameter of type '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] 194 | if (eq(a, "-g")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:196:13: warning: passing 'char[3]' to parameter of type '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] 196 | if (eq(a, "-k")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:198:13: warning: passing 'char[3]' to parameter of type '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] 198 | if (eq(a, "-p")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:200:13: warning: passing 'char[3]' to parameter of type '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] 200 | if (eq(a, "-h") || eq(a, "-L")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:200:28: warning: passing 'char[3]' to parameter of type '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] 200 | if (eq(a, "-h") || eq(a, "-L")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:202:16: warning: passing 'char[3]' to parameter of type '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] 202 | if (eq(a, "-s")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:204:13: warning: passing 'char[3]' to parameter of type '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] 204 | if (eq(a, "-t")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:208:33: warning: passing 'char[3]' to parameter of type '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] 208 | else if (eq((a = nxtarg(0)), "-a") || eq(a, "-o")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:208:48: warning: passing 'char[3]' to parameter of type '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] 208 | else if (eq((a = nxtarg(0)), "-a") || eq(a, "-o")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:216:13: warning: passing 'char[3]' to parameter of type '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] 216 | if (eq(a, "-n")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:217:26: warning: passing 'char[1]' to parameter of type '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] 217 | return(!eq(nxtarg(0), "")); | ^~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:218:13: warning: passing 'char[3]' to parameter of type '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] 218 | if (eq(a, "-z")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:219:25: warning: passing 'char[1]' to parameter of type '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] 219 | return(eq(nxtarg(0), "")); | ^~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:224:17: warning: passing 'char[1]' to parameter of type '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] 224 | return(!eq(a, "")); | ^~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:225:13: warning: passing 'char[3]' to parameter of type '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] 225 | if (eq(p2, "-a") || eq(p2, "-o")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:225:29: warning: passing 'char[3]' to parameter of type '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] 225 | if (eq(p2, "-a") || eq(p2, "-o")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:228:17: warning: passing 'char[1]' to parameter of type '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] 228 | return(!eq(a, "")); | ^~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:230:13: warning: passing 'char[2]' to parameter of type '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] 230 | if (eq(p2, "=")) | ^~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:232:13: warning: passing 'char[3]' to parameter of type '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 (eq(p2, "!=")) | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:236:13: warning: passing 'char[4]' to parameter of type '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] 236 | if (eq(p2, "-eq")) | ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:238:13: warning: passing 'char[4]' to parameter of type '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] 238 | if (eq(p2, "-ne")) | ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:240:13: warning: passing 'char[4]' to parameter of type '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] 240 | if (eq(p2, "-gt")) | ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:242:13: warning: passing 'char[4]' to parameter of type '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 (eq(p2, "-lt")) | ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:244:13: warning: passing 'char[4]' to parameter of type '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] 244 | if (eq(p2, "-ge")) | ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:246:13: warning: passing 'char[4]' to parameter of type '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] 246 | if (eq(p2, "-le")) | ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ test.c:249:10: warning: passing 'const char[]' to parameter of type '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] 249 | bfailed(btest, badop, p2); | ^~~~~ test.c:58:42: note: passing argument to parameter here 58 | static void bfailed(const unsigned char *, const unsigned char *, | ^ test.c:249:17: warning: passing 'const char[]' to parameter of type '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] 249 | bfailed(btest, badop, p2); | ^~~~~ test.c:58:65: note: passing argument to parameter here 58 | static void bfailed(const unsigned char *, const unsigned char *, | ^ test.c:273:14: warning: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype] 273 | if ((*statf)(f, &statb) < 0) | ^ test.c:305:7: warning: passing 'const char[]' to parameter of type '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] 305 | prs(colon); | ^~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ 53 warnings generated. --- main.o --- main.c:109:14: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 109 | if (*simple(v[0]) == '-') { | ^~~~ ./defs.h:363:38: note: passing argument to parameter here 363 | unsigned char *simple(unsigned char *); | ^ main.c:140:18: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 140 | if (n = findnam("SHELL")) | ^~~~~~~ ./defs.h:330:39: note: passing argument to parameter here 330 | struct namnod *findnam(unsigned char *); | ^ main.c:140:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 140 | if (n = findnam("SHELL")) | ~~^~~~~~~~~~~~~~~~~~ main.c:140:8: note: place parentheses around the assignment to silence this warning 140 | if (n = findnam("SHELL")) | ^ | ( ) main.c:140:8: note: use '==' to turn this assignment into an equality comparison 140 | if (n = findnam("SHELL")) | ^ | == main.c:142:10: warning: passing 'char[4]' to parameter of type '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] 142 | if (eq("rsh", simple(n->namval))) | ^~~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ main.c:153:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 153 | if (c > 0 && (eq("rsh", simple(*v)) || eq("-rsh", simple(*v)))) | ^~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:363:38: note: passing argument to parameter here 363 | unsigned char *simple(unsigned char *); | ^ main.c:153:19: warning: passing 'char[4]' to parameter of type '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] 153 | if (c > 0 && (eq("rsh", simple(*v)) || eq("-rsh", simple(*v)))) | ^~~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ main.c:153:59: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 153 | if (c > 0 && (eq("rsh", simple(*v)) || eq("-rsh", simple(*v)))) | ^~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:363:38: note: passing argument to parameter here 363 | unsigned char *simple(unsigned char *); | ^ main.c:153:44: warning: passing 'char[5]' to parameter of type '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] 153 | if (c > 0 && (eq("rsh", simple(*v)) || eq("-rsh", simple(*v)))) | ^~~~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ main.c:158:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 158 | if (eq("jsh", simple(*v)) || eq("-jsh", simple(*v))) | ^~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:363:38: note: passing argument to parameter here 363 | unsigned char *simple(unsigned char *); | ^ main.c:158:9: warning: passing 'char[4]' to parameter of type '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] 158 | if (eq("jsh", simple(*v)) || eq("-jsh", simple(*v))) | ^~~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ main.c:158:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 158 | if (eq("jsh", simple(*v)) || eq("-jsh", simple(*v))) | ^~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:363:38: note: passing argument to parameter here 363 | unsigned char *simple(unsigned char *); | ^ main.c:158:34: warning: passing 'char[5]' to parameter of type '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] 158 | if (eq("jsh", simple(*v)) || eq("-jsh", simple(*v))) | ^~~~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ main.c:242:18: warning: passing 'const char[]' to parameter of type '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 | assign(&ifsnod, sptbnl); | ^~~~~~ ./defs.h:316:51: note: passing argument to parameter here 316 | void assign(struct namnod *, const unsigned char *); | ^ main.c:244:22: warning: passing 'char[2]' to parameter of type '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] 244 | dfault(&timeoutnod, "0"); | ^~~ ./defs.h:315:51: note: passing argument to parameter here 315 | void dfault(struct namnod *, const unsigned char *); | ^ main.c:247:19: warning: passing 'char[4]' to parameter of type '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] 247 | dfault(&mchknod, MAILCHECK); | ^~~~~~~~~ ./timeout.h:37:19: note: expanded from macro 'MAILCHECK' 37 | #define MAILCHECK "600" /* 10 minutes */ | ^~~~~ ./defs.h:315:51: note: passing argument to parameter here 315 | void dfault(struct namnod *, const unsigned char *); | ^ main.c:252:13: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 252 | n = lookup("OPTIND"); | ^~~~~~~~ ./defs.h:320:38: note: passing argument to parameter here 320 | struct namnod *lookup(unsigned char *); | ^ main.c:253:12: warning: passing 'char[2]' to parameter of type '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] 253 | assign(n, "1"); | ^~~ ./defs.h:316:51: note: passing argument to parameter here 316 | void assign(struct namnod *, const unsigned char *); | ^ main.c:271:26: warning: passing 'const char[]' to parameter of type '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] 271 | if ((input = pathopen(nullstr, sysprofile)) >= 0) | ^~~~~~~ ./defs.h:365:35: note: passing argument to parameter here 365 | int pathopen(const unsigned char *, const unsigned char *); | ^ main.c:271:35: warning: passing 'const char[]' to parameter of type '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] 271 | if ((input = pathopen(nullstr, sysprofile)) >= 0) | ^~~~~~~~~~ ./defs.h:365:58: note: passing argument to parameter here 365 | int pathopen(const unsigned char *, const unsigned char *); | ^ main.c:277:42: warning: passing 'const char[]' to parameter of type '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] 277 | if ((input = pathopen(homenod.namval, profile)) >= 0) | ^~~~~~~ ./defs.h:365:58: note: passing argument to parameter here 365 | int pathopen(const unsigned char *, const unsigned char *); | ^ main.c:350:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype] 350 | exfile(prof) | ^ main.c:415:24: warning: passing '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] 415 | if ((timeout = atol(timeoutnod.namval)) > 0) | ^~~~~~~~~~~~~~~~~ /usr/include/stdlib.h:89:24: note: passing argument to parameter here 89 | long atol(const char *); | ^ main.c:536:10: warning: passing 'const char[]' to parameter of type '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] 536 | prs(mailmsg); | ^~~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ main.c:562:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 562 | if (mailp = mailpath) | ~~~~~~^~~~~~~~~~ main.c:562:12: note: place parentheses around the assignment to silence this warning 562 | if (mailp = mailpath) | ^ | ( ) main.c:562:12: note: use '==' to turn this assignment into an equality comparison 562 | if (mailp = mailpath) | ^ | == main.c:586:31: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 586 | unsigned char *name = lookup("LC_ALL")->namval; | ^~~~~~~~ ./defs.h:320:38: note: passing argument to parameter here 320 | struct namnod *lookup(unsigned char *); | ^ main.c:588:17: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 588 | name = lookup("LC_CTYPE")->namval; | ^~~~~~~~~~ ./defs.h:320:38: note: passing argument to parameter here 320 | struct namnod *lookup(unsigned char *); | ^ main.c:590:17: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 590 | name = lookup("LANG")->namval; | ^~~~~~ ./defs.h:320:38: note: passing argument to parameter here 320 | struct namnod *lookup(unsigned char *); | ^ main.c:611:19: warning: passing 'const char *' to parameter of type '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 | dfault(&ps1nod, (geteuid() ? stdprompt : supprompt)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:315:51: note: passing argument to parameter here 315 | void dfault(struct namnod *, const unsigned char *); | ^ main.c:612:19: warning: passing 'const char[]' to parameter of type '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] 612 | dfault(&ps2nod, readmsg); | ^~~~~~~ ./defs.h:315:51: note: passing argument to parameter here 315 | void dfault(struct namnod *, const unsigned char *); | ^ 29 warnings generated. --- print.o --- print.c:77:27: warning: passing 'const char *' to parameter of type '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] 77 | write(output, s, length(s) - 1); | ^ ./defs.h:388:33: note: passing argument to parameter here 388 | int length(const unsigned char *); | ^ print.c:151:10: warning: passing 'unsigned char[21]' 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] 151 | strncpy(numbuf, abuf, sizeof (numbuf)); | ^~~~~~ /usr/include/string.h:117:34: note: passing argument to parameter here 117 | char *(strncpy)(char * __restrict, const char * __restrict, size_t); | ^ print.c:151:18: warning: passing '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] 151 | strncpy(numbuf, abuf, sizeof (numbuf)); | ^~~~ /usr/include/string.h:117:59: note: passing argument to parameter here 117 | char *(strncpy)(char * __restrict, const char * __restrict, size_t); | ^ print.c:166:15: warning: passing 'const char[]' to parameter of type '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] 166 | failed(icp, badnum); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ print.c:267:19: warning: passing 'const char *' to parameter of type '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] 267 | int len = length((const char *)s) - 1; | ^~~~~~~~~~~~~~~ ./defs.h:388:33: note: passing argument to parameter here 388 | int length(const unsigned char *); | ^ print.c:276:10: warning: passing 'const char *' to parameter of type '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] 276 | movstr((const char *)s, &bufp[index]); | ^~~~~~~~~~~~~~~ ./defs.h:384:44: note: passing argument to parameter here 384 | unsigned char *movstr(const unsigned char *, unsigned char *); | ^ 6 warnings generated. --- service.o --- service.c:72:17: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 72 | ion = mactrim(iop->ioname); | ^~~~~~~~~~~ ./defs.h:371:39: note: passing argument to parameter here 371 | unsigned char *mactrim(unsigned char *); | ^ service.c:96:12: warning: passing 'const char[]' to parameter of type '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] 96 | if (eq(minus, ion)) { | ^~~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ service.c:100:18: warning: passing 'const char[]' to parameter of type '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] 100 | failed(ion, badfile); | ^~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ service.c:110:17: warning: passing 'const char[]' to parameter of type '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] 110 | failed(ion, restricted); | ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ service.c:150:14: warning: passing 'const char[]' to parameter of type '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] 150 | failed(s, restricted); | ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ service.c:214:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 214 | while (*argp++ = *scanp++); | ~~~~~~~~^~~~~~~~~~ service.c:214:17: note: place parentheses around the assignment to silence this warning 214 | while (*argp++ = *scanp++); | ^ | ( ) service.c:214:17: note: use '==' to turn this assignment into an equality comparison 214 | while (*argp++ = *scanp++); | ^ | == service.c:259:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 259 | while (path = execs(path, t)) | ~~~~~^~~~~~~~~~~~~~~~ service.c:259:15: note: place parentheses around the assignment to silence this warning 259 | while (path = execs(path, t)) | ^ | ( ) service.c:259:15: note: use '==' to turn this assignment into an equality comparison 259 | while (path = execs(path, t)) | ^ | == service.c:301:13: warning: passing 'const char[]' to parameter of type '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] 301 | failed(p, toobig); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ service.c:304:13: warning: passing 'const char[]' to parameter of type '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] 304 | failed(p, arglist); | ^~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ service.c:307:13: warning: passing 'const char[]' to parameter of type '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] 307 | failed(p, txtbsy); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ service.c:348:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 348 | if (current = at) | ~~~~~~~~^~~~ service.c:348:14: note: place parentheses around the assignment to silence this warning 348 | if (current = at) | ^ | ( ) service.c:348:14: note: use '==' to turn this assignment into an equality comparison 348 | if (current = at) | ^ | == service.c:351:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 351 | while (c = *current) { | ~~^~~~~~~~~~ service.c:351:12: note: place parentheses around the assignment to silence this warning 351 | while (c = *current) { | ^ | ( ) service.c:351:12: note: use '==' to turn this assignment into an equality comparison 351 | while (c = *current) { | ^ | == service.c:368:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 368 | if (c = *current) { | ~~^~~~~~~~~~ service.c:368:10: note: place parentheses around the assignment to silence this warning 368 | if (c = *current) { | ^ | ( ) service.c:368:10: note: use '==' to turn this assignment into an equality comparison 368 | if (c = *current) { | ^ | == service.c:395:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 395 | if (current = at) | ~~~~~~~~^~~~ service.c:395:14: note: place parentheses around the assignment to silence this warning 395 | if (current = at) | ^ | ( ) service.c:395:14: note: use '==' to turn this assignment into an equality comparison 395 | if (current = at) | ^ | == service.c:398:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 398 | while (c = *current) { | ~~^~~~~~~~~~ service.c:398:12: note: place parentheses around the assignment to silence this warning 398 | while (c = *current) { | ^ | ( ) service.c:398:12: note: use '==' to turn this assignment into an equality comparison 398 | while (c = *current) { | ^ | == service.c:520:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 520 | if (c = ac) | ~~^~~~ service.c:520:8: note: place parentheses around the assignment to silence this warning 520 | if (c = ac) | ^ | ( ) service.c:520:8: note: use '==' to turn this assignment into an equality comparison 520 | if (c = ac) | ^ | == service.c:545:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 545 | while (c = *s) { | ~~^~~~ service.c:545:12: note: place parentheses around the assignment to silence this warning 545 | while (c = *s) { | ^ | ( ) service.c:545:12: note: use '==' to turn this assignment into an equality comparison 545 | while (c = *s) { | ^ | == 17 warnings generated. --- macro.o --- macro.c:142:9: warning: passing 'const char[]' to parameter of type '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] 142 | error(badsub); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ macro.c:171:9: warning: passing 'const char[]' to parameter of type '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] 171 | error(badsub); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ macro.c:204:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 204 | if (bra = (c == BRACE)) | ~~~~^~~~~~~~~~~~~~ macro.c:204:12: note: place parentheses around the assignment to silence this warning 204 | if (bra = (c == BRACE)) | ^ | ( ) macro.c:204:12: note: use '==' to turn this assignment into an equality comparison 204 | if (bra = (c == BRACE)) | ^ | == macro.c:222:12: warning: passing 'const char[]' to parameter of type '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] 222 | error(badsub); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ macro.c:260:11: warning: passing 'const char[]' to parameter of type '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] 260 | error(badsub); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ macro.c:272:11: warning: passing 'const char[]' to parameter of type '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] 272 | error(badsub); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ macro.c:306:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 306 | while (c = *v) { | ~~^~~~ macro.c:306:17: note: place parentheses around the assignment to silence this warning 306 | while (c = *v) { | ^ | ( ) macro.c:306:17: note: use '==' to turn this assignment into an equality comparison 306 | while (c = *v) { | ^ | == macro.c:362:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 362 | while(c = *argp) { | ~~^~~~~~~ macro.c:362:15: note: place parentheses around the assignment to silence this warning 362 | while(c = *argp) { | ^ | ( ) macro.c:362:15: note: use '==' to turn this assignment into an equality comparison 362 | while(c = *argp) { | ^ | == macro.c:391:13: warning: passing 'const char[]' to parameter of type '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] 391 | error(badsub); | ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ macro.c:395:16: warning: passing 'const char[]' to parameter of type '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] 395 | failed(id, unset); | ^~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ macro.c:523:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 523 | while (d = readwc()) { | ~~^~~~~~~~~~ macro.c:523:11: note: place parentheses around the assignment to silence this warning 523 | while (d = readwc()) { | ^ | ( ) macro.c:523:11: note: use '==' to turn this assignment into an equality comparison 523 | while (d = readwc()) { | ^ | == macro.c:532:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 532 | while(d = *rest++) { | ~~^~~~~~~~~ macro.c:532:12: note: place parentheses around the assignment to silence this warning 532 | while(d = *rest++) { | ^ | ( ) macro.c:532:12: note: use '==' to turn this assignment into an equality comparison 532 | while(d = *rest++) { | ^ | == macro.c:596:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 596 | while (c = (getch(DQUOTE, 0))) /* read characters from here document | ~~^~~~~~~~~~~~~~~~~~~~ macro.c:596:11: note: place parentheses around the assignment to silence this warning 596 | while (c = (getch(DQUOTE, 0))) /* read characters from here document | ^ | ( ) macro.c:596:11: note: use '==' to turn this assignment into an equality comparison 596 | while (c = (getch(DQUOTE, 0))) /* read characters from here document | ^ | == 13 warnings generated. --- name.o --- name.c:146:21: warning: passing 'char *const' to parameter of type '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] 146 | if ((cond = cf(w, syswds[mid].sysnam)) < 0) | ^~~~~~~~~~~~~~~~~~ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:209:13: warning: passing '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] 209 | dolocale(n->namid); | ^~~~~~~~ name.c:54:28: note: passing argument to parameter here 54 | static void dolocale(char *); | ^ name.c:233:20: warning: passing 'const char[]' to parameter of type '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] 233 | failed(n->namid, wtfailed); | ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ name.c:239:36: warning: passing 'char[6]' to parameter of type '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] 239 | if (n == &pathnod || eq(n->namid,"SHELL")) | ^~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:240:21: warning: passing 'const char[]' to parameter of type '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] 240 | failed(n->namid, restricted); | ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ name.c:282:24: warning: passing 'char[1]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 282 | path = getpath(""); | ^~ ./defs.h:364:39: note: passing argument to parameter here 364 | unsigned char *getpath(unsigned char *); | ^ name.c:332:17: warning: passing 'char[3]' to parameter of type '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] 332 | if (eq(*names, "-r")) { | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:334:10: warning: passing 'const char[]' to parameter of type '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] 334 | error(badargs); | ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ name.c:375:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 375 | while(*pc++ = *rest++); | ~~~~~~^~~~~~~~~ name.c:375:15: note: place parentheses around the assignment to silence this warning 375 | while(*pc++ = *rest++); | ^ | ( ) name.c:375:15: note: use '==' to turn this assignment into an equality comparison 375 | while(*pc++ = *rest++); | ^ | == name.c:405:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 405 | while(*pc++ = *rest++); | ~~~~~~^~~~~~~~~ name.c:405:18: note: place parentheses around the assignment to silence this warning 405 | while(*pc++ = *rest++); | ^ | ( ) name.c:405:18: note: use '==' to turn this assignment into an equality comparison 405 | while(*pc++ = *rest++); | ^ | == name.c:415:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 415 | while(d = *rest++) { | ~~^~~~~~~~~ name.c:415:13: note: place parentheses around the assignment to silence this warning 415 | while(d = *rest++) { | ^ | ( ) name.c:415:13: note: use '==' to turn this assignment into an equality comparison 415 | while(d = *rest++) { | ^ | == name.c:425:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 425 | while(d = *pc++) { | ~~^~~~~~~ name.c:425:13: note: place parentheses around the assignment to silence this warning 425 | while(d = *pc++) { | ^ | ( ) name.c:425:13: note: use '==' to turn this assignment into an equality comparison 425 | while(d = *pc++) { | ^ | == name.c:441:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 441 | while(*pc++ = *rest++); | ~~~~~~^~~~~~~~~ name.c:441:17: note: place parentheses around the assignment to silence this warning 441 | while(*pc++ = *rest++); | ^ | ( ) name.c:441:17: note: use '==' to turn this assignment into an equality comparison 441 | while(*pc++ = *rest++); | ^ | == name.c:447:13: warning: passing 'const char[]' to parameter of type '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] 447 | assign(n, nullstr); | ^~~~~~~ name.c:230:47: note: passing argument to parameter 'v' here 230 | assign(struct namnod *n, const unsigned char *v) | ^ name.c:504:15: warning: passing 'const char[]' to parameter of type '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] 504 | failed(nam, notid); | ^~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ name.c:577:12: warning: passing 'char[5]' to parameter of type '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] 577 | prs_buff("(){\n"); | ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ name.c:579:12: warning: passing 'char[4]' to parameter of type '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] 579 | prs_buff("\n}\n"); | ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ name.c:581:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 581 | else if (s = n->namval) | ~~^~~~~~~~~~~ name.c:581:13: note: place parentheses around the assignment to silence this warning 581 | else if (s = n->namval) | ^ | ( ) name.c:581:13: note: use '==' to turn this assignment into an equality comparison 581 | else if (s = n->namval) | ^ | == name.c:626:12: warning: passing 'const char[]' to parameter of type '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] 626 | prs_buff(readonly); | ^~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ name.c:638:12: warning: passing 'const char[]' to parameter of type '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] 638 | prs_buff(export); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ name.c:651:11: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 651 | setname(*e++, N_ENVNAM); | ^~~~ name.c:181:20: note: passing argument to parameter 'argi' here 181 | unsigned char *argi, | ^ name.c:690:18: warning: passing 'char[2]' to parameter of type '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] 690 | p = movstrstak("=", p); | ^~~ ./stak.h:87:56: note: passing argument to parameter here 87 | extern unsigned char *movstrstak(const unsigned char *, | ^ name.c:743:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 743 | if (n = findnam(name)) | ~~^~~~~~~~~~~~~~~ name.c:743:8: note: place parentheses around the assignment to silence this warning 743 | if (n = findnam(name)) | ^ | ( ) name.c:743:8: note: use '==' to turn this assignment into an equality comparison 743 | if (n = findnam(name)) | ^ | == name.c:746:17: warning: passing 'const char[]' to parameter of type '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] 746 | failed(name, wtfailed); | ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ name.c:754:17: warning: passing 'const char[]' to parameter of type '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] 754 | failed(name, badunset); | ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ name.c:759:36: warning: passing 'char[6]' to parameter of type '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] 759 | if ((flags & rshflg) && eq(name, "SHELL")) | ^~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:760:17: warning: passing 'const char[]' to parameter of type '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] 760 | failed(name, restricted); | ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ name.c:780:13: warning: passing '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] 780 | dolocale(name); | ^~~~ name.c:54:28: note: passing argument to parameter here 54 | static void dolocale(char *); | ^ name.c:830:12: warning: passing 'char *' to parameter of type '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] 830 | (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) | ^~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:830:16: warning: passing 'char[7]' to parameter of type '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] 830 | (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) | ^~~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:830:32: warning: passing 'char *' to parameter of type '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] 830 | (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) | ^~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:830:36: warning: passing 'char[9]' to parameter of type '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] 830 | (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) | ^~~~~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:830:54: warning: passing 'char *' to parameter of type '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] 830 | (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) | ^~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:830:58: warning: passing 'char[5]' to parameter of type '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] 830 | (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) | ^~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ name.c:850:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] 850 | if ((n = findnam(localevar[lv]))) { | ^~~~~~~~~~~~~ name.c:717:33: note: passing argument to parameter 'nam' here 717 | findnam(register unsigned char *nam) | ^ name.c:856:38: warning: passing 'char *' to parameter of type '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] 856 | fake_env[fe++] = p = alloc(length(localevar[lv]) | ^~~~~~~~~~~~~ ./defs.h:388:33: note: passing argument to parameter here 388 | int length(const unsigned char *); | ^ 36 warnings generated. --- jobs.o --- jobs.c:125:22: warning: passing 'char *' to parameter of type '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] 125 | jp = pgid2job(stoi(job)); | ^~~ ./defs.h:340:31: note: passing argument to parameter here 340 | int stoi(const unsigned char *); | ^ jobs.c:131:12: warning: passing 'char *' to parameter of type '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] 131 | i = stoi(job); | ^~~ ./defs.h:340:31: note: passing argument to parameter here 340 | int stoi(const unsigned char *); | ^ jobs.c:145:14: warning: passing 'char *' to parameter of type '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] 145 | failed(cmd, ambiguous); | ^~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:145:19: warning: passing 'const char[]' to parameter of type '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] 145 | failed(cmd, ambiguous); | ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:159:13: warning: passing 'char *' to parameter of type '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] 159 | failed(cmd, ambiguous); | ^~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:159:18: warning: passing 'const char[]' to parameter of type '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] 159 | failed(cmd, ambiguous); | ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:166:10: warning: passing 'char *' to parameter of type '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] 166 | failed(cmd, nosuchjob); | ^~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:166:15: warning: passing 'const char[]' to parameter of type '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] 166 | failed(cmd, nosuchjob); | ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:253:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 253 | if (tgid = settgid(mypgid, jp->j_pgid)) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ jobs.c:253:13: note: place parentheses around the assignment to silence this warning 253 | if (tgid = settgid(mypgid, jp->j_pgid)) | ^ | ( ) jobs.c:253:13: note: use '==' to turn this assignment into an equality comparison 253 | if (tgid = settgid(mypgid, jp->j_pgid)) | ^ | == jobs.c:334:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 334 | if (jp = pgid2job(pid)) | ~~~^~~~~~~~~~~~~~~ jobs.c:334:10: note: place parentheses around the assignment to silence this warning 334 | if (jp = pgid2job(pid)) | ^ | ( ) jobs.c:334:10: note: use '==' to turn this assignment into an equality comparison 334 | if (jp = pgid2job(pid)) | ^ | == jobs.c:504:14: warning: passing 'const char *' to parameter of type '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] 504 | prs_buff(sigstr); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ jobs.c:507:18: warning: passing '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] 507 | sp -= strlen(numbuf) + 7; | ^~~~~~ /usr/include/string.h:105:28: note: passing argument to parameter here 105 | size_t strlen(const char *) __pure; | ^ jobs.c:508:14: warning: passing 'char[8]' to parameter of type '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] 508 | prs_buff("Signal "); | ^~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ jobs.c:513:14: warning: passing 'const char[]' to parameter of type '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] 513 | prs_buff(coredump); | ^~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ jobs.c:517:34: warning: passing '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] 517 | sp -= strlen(exited) + strlen(numbuf) + 2; | ^~~~~~ /usr/include/string.h:105:28: note: passing argument to parameter here 105 | size_t strlen(const char *) __pure; | ^ jobs.c:518:13: warning: passing 'const char[]' to parameter of type '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] 518 | prs_buff(exited); | ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ jobs.c:525:13: warning: passing 'const char[]' to parameter of type '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] 525 | prs_buff(running); | ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ jobs.c:534:12: warning: passing 'char *' to parameter of type '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] 534 | prs_buff(jp->j_cmd); | ^~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ jobs.c:548:12: warning: passing 'char[6]' to parameter of type '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] 548 | prs_buff("(wd: "); | ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ jobs.c:549:12: warning: passing 'char *' to parameter of type '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 | prs_buff(jp->j_pwd); | ^~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ jobs.c:598:10: warning: passing 'const char[]' to parameter of type '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] 598 | prs(jobsstopped); | ^~~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ jobs.c:607:10: warning: passing 'const char[]' to parameter of type '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] 607 | prs(jobsrunning); | ^~~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here 334 | void prs(const unsigned char *); | ^ jobs.c:646:18: warning: passing '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] 646 | cwdlen = strlen(cwd) + 1; | ^~~ /usr/include/string.h:105:28: note: passing argument to parameter here 105 | size_t strlen(const char *) __pure; | ^ jobs.c:649:9: warning: passing 'const char[]' to parameter of type '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] 649 | error(nostack); | ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here 215 | void error(const unsigned char *); | ^ jobs.c:654:20: warning: passing '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] 654 | strcpy(jp->j_pwd, cwd); | ^~~ /usr/include/string.h:92:58: note: passing argument to parameter here 92 | char *(strcpy)(char * __restrict, const char * __restrict); | ^ jobs.c:707:20: warning: passing 'const char[]' to parameter of type '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] 707 | renamef(chkopen(devnull, 0), 0); | ^~~~~~~ ./defs.h:270:34: note: passing argument to parameter here 270 | int chkopen(const unsigned char *, int); | ^ jobs.c:771:10: warning: passing 'char *' to parameter of type '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] 771 | failed(cmd, nojc); | ^~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:771:15: warning: passing 'const char[]' to parameter of type '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] 771 | failed(cmd, nojc); | ^~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:775:12: warning: passing 'const char[]' to parameter of type '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] 775 | failure(usage, jobsuse); | ^~~~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:775:19: warning: passing 'const char[]' to parameter of type '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] 775 | failure(usage, jobsuse); | ^~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:789:13: warning: passing 'const char[]' to parameter of type '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] 789 | failure(usage, jobsuse); | ^~~~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:789:20: warning: passing 'const char[]' to parameter of type '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] 789 | failure(usage, jobsuse); | ^~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:855:10: warning: passing 'char *' to parameter of type '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] 855 | failed(cmd, nojc); | ^~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:855:15: warning: passing 'const char[]' to parameter of type '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] 855 | failed(cmd, nojc); | ^~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:857:10: warning: passing 'char[3]' to parameter of type '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] 857 | fg = eq("fg", cmd); | ^~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ jobs.c:857:16: warning: passing 'char *' to parameter of type '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] 857 | fg = eq("fg", cmd); | ^~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ jobs.c:863:12: warning: passing 'char *' to parameter of type '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] 863 | failed(cmd, nocurjob); | ^~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:863:17: warning: passing 'const char[]' to parameter of type '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] 863 | failed(cmd, nocurjob); | ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:926:13: warning: passing 'char *' to parameter of type '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] 926 | failure(cmd, badid); | ^~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:926:18: warning: passing 'const char[]' to parameter of type '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] 926 | failure(cmd, badid); | ^~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:939:12: warning: passing 'char *' to parameter of type '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] 939 | failure(cmd, loginsh); | ^~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:939:17: warning: passing 'const char[]' to parameter of type '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] 939 | failure(cmd, loginsh); | ^~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:956:13: warning: passing 'char *' to parameter of type '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] 956 | failure(cmd, eacces); | ^~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:956:18: warning: passing 'const char[]' to parameter of type '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] 956 | failure(cmd, eacces); | ^~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:960:13: warning: passing 'char *' to parameter of type '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] 960 | failure(cmd, badsig); | ^~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:960:18: warning: passing 'const char[]' to parameter of type '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] 960 | failure(cmd, badsig); | ^~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:965:14: warning: passing 'char *' to parameter of type '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] 965 | failure(cmd, nosuchpgid); | ^~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:965:19: warning: passing 'const char[]' to parameter of type '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] 965 | failure(cmd, nosuchpgid); | ^~~~~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:967:14: warning: passing 'char *' to parameter of type '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] 967 | failure(cmd, nosuchpid); | ^~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:967:19: warning: passing 'const char[]' to parameter of type '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] 967 | failure(cmd, nosuchpid); | ^~~~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:986:10: warning: passing 'const char[]' to parameter of type '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] 986 | failed(usage, stopuse); | ^~~~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:986:17: warning: passing 'const char[]' to parameter of type '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] 986 | failed(usage, stopuse); | ^~~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:998:11: warning: passing 'const char[]' to parameter of type '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] 998 | failure(usage, killuse); | ^~~~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:998:18: warning: passing 'const char[]' to parameter of type '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] 998 | failure(usage, killuse); | ^~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:1011:12: warning: passing 'char *' to parameter of type '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] 1011 | if (!eq(argv[1], "-l")) { | ^~~~~~~ ./defs.h:414:24: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:29: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ jobs.c:1011:21: warning: passing 'char[3]' to parameter of type '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] 1011 | if (!eq(argv[1], "-l")) { | ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' 414 | #define eq(a, b) (cf(a, b) == 0) | ^ ./defs.h:387:52: note: passing argument to parameter here 387 | int cf(const unsigned char *, const unsigned char *); | ^ jobs.c:1012:13: warning: passing 'const char[]' to parameter of type '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] 1012 | failure(usage, killuse); | ^~~~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:1012:20: warning: passing 'const char[]' to parameter of type '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] 1012 | failure(usage, killuse); | ^~~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:1021:14: warning: passing 'char[12]' to parameter of type '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] 1021 | prs_buff(buf); | ^~~ ./defs.h:348:36: note: passing argument to parameter here 348 | void prs_buff(const unsigned char *); | ^ jobs.c:1032:12: warning: passing 'char *' to parameter of type '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] 1032 | failure(cmd, badsig); | ^~~ ./defs.h:219:35: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:1032:17: warning: passing 'const char[]' to parameter of type '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] 1032 | failure(cmd, badsig); | ^~~~~~ ./defs.h:219:58: note: passing argument to parameter here 219 | void failure(const unsigned char *, const unsigned char *); | ^ jobs.c:1047:10: warning: passing 'char *' to parameter of type '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] 1047 | failed(argv[0], badopt); | ^~~~~~~ ./defs.h:214:34: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ jobs.c:1047:19: warning: passing 'const char[]' to parameter of type '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] 1047 | failed(argv[0], badopt); | ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here 214 | void failed(const unsigned char *, const unsigned char *); | ^ 63 warnings generated. --- sh --- cc args.o blok.o bltin.o cmd.o ctype.o defs.o echo.o error.o expand.o fault.o func.o hash.o hashserv.o io.o jobs.o macro.o main.o msg.o name.o print.o pwd.o service.o setbrk.o stak.o string.o test.o ulimit.o word.o xec.o gmatch.o getopt.o strsig.o version.o mapmalloc.o umask.o -o sh --- jsh --- rm -f jsh ln -s sh jsh =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Staging for heirloom-sh-050706_2 ===> Generating temporary packing list test -d /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/bin || mkdir -p /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/bin install -c -m 755 sh /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/bin/sh strip /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/bin/sh rm -f /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/bin/jsh cd /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/bin && ln -s sh jsh test -d /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/share/man/man1 || mkdir -p /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/share/man/man1 install -c -m 644 sh.1.out /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/share/man/man1/sh.1 gzip /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/share/man/man1/sh.1 rm -f /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/share/man/man1/jsh.1.gz cd /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/heirloom/share/man/man1 && ln -s sh.1.gz jsh.1.gz install -m 0644 /wrkdirs/usr/ports/shells/heirloom-sh/work/heirloom-sh.conf /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/etc/man.d cd /wrkdirs/usr/ports/shells/heirloom-sh/work/heirloom-sh-050706 && install -m 0644 CALDERA.LICENSE OPENSOLARIS.LICENSE CHANGES README /wrkdirs/usr/ports/shells/heirloom-sh/work/stage/usr/local/share/doc/heirloom-sh ====> Compressing man pages (compress-man) =========================================================================== =================================================== ===== 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-02-20T17:41:14+0000' 'PKG_NOTE_ports_top_git_hash=eac71dbf758c' 'PKG_NOTE_ports_top_checkout_unclean=no' 'PKG_NOTE_port_git_hash=6b7215ed5652' '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 heirloom-sh-050706_2 ===> Building heirloom-sh-050706_2 =========================================================================== =>> Cleaning up wrkdir ===> Cleaning for heirloom-sh-050706_2 build of shells/heirloom-sh | heirloom-sh-050706_2 ended at Fri Feb 20 12:41:18 EST 2026 build time: 00:00:04