=>> Building sysutils/nut build started at Mon Jan 8 00:47:34 CST 2024 port directory: /usr/ports/sysutils/nut package name: nut-2.8.0_24 building for: FreeBSD 140amd64-quarterly-job-05 14.0-RELEASE FreeBSD 14.0-RELEASE amd64 maintained by: cy@FreeBSD.org Makefile datestamp: -rw-r--r-- 1 root wheel 5157 Oct 14 04:39 /usr/ports/sysutils/nut/Makefile Ports top last git commit: 294d1b3c41db Ports top unclean checkout: no Port dir last git commit: 183848087d29 Port dir unclean checkout: no Poudriere version: poudriere-git-3.4.99.20240105 Host OSVERSION: 1400097 Jail OSVERSION: 1400097 Job Id: 05 ---Begin Environment--- SHELL=/bin/sh OSVERSION=1400097 UNAME_v=FreeBSD 14.0-RELEASE UNAME_r=14.0-RELEASE 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 USE_COLORS=no LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.4.99.20240105 MASTERMNT=/poudriere/data/.m/140amd64-quarterly/ref LC_COLLATE=C POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM=screen-256color OUTPUT_REDIRECTED_STDERR=4 OUTPUT_REDIRECTED=1 PWD=/poudriere/data/.m/140amd64-quarterly/05/.p OUTPUT_REDIRECTED_STDOUT=3 P_PORTS_FEATURES=FLAVORS SELECTED_OPTIONS MASTERNAME=140amd64-quarterly SCRIPTPREFIX=/usr/local/share/poudriere SCRIPTNAME=bulk.sh OLDPWD=/poudriere/data/.m/140amd64-quarterly/ref/.p/pool POUDRIERE_PKGNAME=poudriere-git-3.4.99.20240105 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 nut-2.8.0_24: AVAHI=on: Zeroconf support via Avahi BASH=on: Install programmable completions for Bash CGI=on: Web CGI interface DEV=off: Install developer tools DOCS=on: Build and/or install documentation FREEIPMI=on: freeipmi support IPMIPSU=off: Use nut-ipmipsu support (experimental) MANPAGES=on: Build and/or install manual pages MODBUS=on: Modbus support NEON=on: NEON XML/HTTP support PDU=on: Powerman PDU support SERIAL=on: SERIAL support SNMP=on: SNMP network protocol support USB=on: USB support ====> SSL protocol support: you have to select exactly one of them SSL_OFF=off: No SSL support OPENSSL=on: SSL/TLS support via OpenSSL NSS=off: SSL/TLS support via NSS ===> Use 'make config' to modify these settings ---End OPTIONS List--- --MAINTAINER-- cy@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --sysconfdir=/usr/local/etc/nut --program-transform-name="" --localstatedir=/var/db/nut --datadir=/usr/local/etc/nut --with-devd-dir=/usr/local/etc/devd --with-drvpath=/usr/local/libexec/nut --with-statepath=/var/db/nut --with-altpidpath=/var/db/nut --with-pidpath=/var/db/nut --with-pkgconfig-dir=/usr/local/libdata/pkgconfig --with-user=nut --with-group=nut --with-avahi --with-cgi --with-cgipath=/usr/local/www/cgi-bin/nut --with-htmlpath=/usr/local/www/nut --with-gd-includes=-I/usr/local/include --with-gd-libs="-L/usr/local/lib -lgd" --without-dev --with-freeipmi --without-ipmi --with-doc=man=auto --with-modbus --with-neon --without-nss --with-openssl --with-powerman --with-serial --with-snmp --with-usb=auto --prefix=/usr/local ${_LATE_CONFIGURE_ARGS} --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- MAKE=gmake PKG_CONFIG=pkgconf PYTHON="/usr/local/bin/python3.9" XDG_DATA_HOME=/wrkdirs/usr/ports/sysutils/nut/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/sysutils/nut/work XDG_CACHE_HOME=/wrkdirs/usr/ports/sysutils/nut/work/.cache HOME=/wrkdirs/usr/ports/sysutils/nut/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/sysutils/nut/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/sysutils/nut/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh DEFAULT_AUTOCONF=2.71 CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=524288 --End CONFIGURE_ENV-- --MAKE_ENV-- OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include OPENSSLLIB=/usr/lib XDG_DATA_HOME=/wrkdirs/usr/ports/sysutils/nut/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/sysutils/nut/work XDG_CACHE_HOME=/wrkdirs/usr/ports/sysutils/nut/work/.cache HOME=/wrkdirs/usr/ports/sysutils/nut/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/sysutils/nut/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/sysutils/nut/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 DEFAULT_AUTOCONF=2.71 PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing " MANPREFIX="/usr/local" 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-- NUT_USER=nut NUT_GROUP=nut CGIDIR="/usr/local/www/cgi-bin/nut" CGIETCDIR="etc/nut/" STATEDIR=/var/db/nut PORTDOCS="" AVAHI="" NO_AVAHI="@comment " BASH="" NO_BASH="@comment " CGI="" NO_CGI="@comment " DEV="@comment " NO_DEV="" DOCS="" NO_DOCS="@comment " FREEIPMI="" NO_FREEIPMI="@comment " IPMIPSU="@comment " NO_IPMIPSU="" MANPAGES="" NO_MANPAGES="@comment " MODBUS="" NO_MODBUS="@comment " NEON="" NO_NEON="@comment " NSS="@comment " NO_NSS="" OPENSSL="" NO_OPENSSL="@comment " PDU="" NO_PDU="@comment " SERIAL="" NO_SERIAL="@comment " SNMP="" NO_SNMP="@comment " SSL_OFF="@comment " NO_SSL_OFF="" USB="" NO_USB="@comment " PYTHON_INCLUDEDIR=include/python3.9 PYTHON_LIBDIR=lib/python3.9 PYTHON_PLATFORM=freebsd14 PYTHON_SITELIBDIR=lib/python3.9/site-packages PYTHON_SUFFIX=39 PYTHON_EXT_SUFFIX=.cpython-39 PYTHON_VER=3.9 PYTHON_VERSION=python3.9 PYTHON2="@comment " PYTHON3="" OSREL=14.0 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/nut" EXAMPLESDIR="share/examples/nut" DATADIR="share/nut" WWWDIR="www/nut" ETCDIR="etc/nut" --End PLIST_SUB-- --SUB_LIST-- STATEDIR=/var/db/nut NUT_USER=nut NUT_GROUP=nut AVAHI="" NO_AVAHI="@comment " BASH="" NO_BASH="@comment " CGI="" NO_CGI="@comment " DEV="@comment " NO_DEV="" DOCS="" NO_DOCS="@comment " FREEIPMI="" NO_FREEIPMI="@comment " IPMIPSU="@comment " NO_IPMIPSU="" MANPAGES="" NO_MANPAGES="@comment " MODBUS="" NO_MODBUS="@comment " NEON="" NO_NEON="@comment " NSS="@comment " NO_NSS="" OPENSSL="" NO_OPENSSL="@comment " PDU="" NO_PDU="@comment " SERIAL="" NO_SERIAL="@comment " SNMP="" NO_SNMP="@comment " SSL_OFF="@comment " NO_SSL_OFF="" USB="" NO_USB="@comment " PYTHON_INCLUDEDIR=/usr/local/include/python3.9 PYTHON_LIBDIR=/usr/local/lib/python3.9 PYTHON_PLATFORM=freebsd14 PYTHON_SITELIBDIR=/usr/local/lib/python3.9/site-packages PYTHON_SUFFIX=39 PYTHON_EXT_SUFFIX=.cpython-39 PYTHON_VER=3.9 PYTHON_VERSION=python3.9 PYTHON2="@comment " PYTHON3="" PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/nut DOCSDIR=/usr/local/share/doc/nut EXAMPLESDIR=/usr/local/share/examples/nut WWWDIR=/usr/local/www/nut ETCDIR=/usr/local/etc/nut --End SUB_LIST-- ---Begin make.conf--- 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 #### #### /usr/local/etc/poudriere.d/quarterly-make.conf #DEFAULT_VERSIONS+=apache=2.4 #DEFAULT_VERSIONS+=corosync=3 #DEFAULT_VERSIONS+=gcc=12 DEFAULT_VERSIONS+=ghostscript=10 DEFAULT_VERSIONS+=java=17 DEFAULT_VERSIONS+=linux=c7_64 #DEFAULT_VERSIONS+=llvm=17 #DEFAULT_VERSIONS+=lua=5.4 #DEFAULT_VERSIONS+=mono=5.20 DEFAULT_VERSIONS+=mysql=10.11m #DEFAULT_VERSIONS+=perl5=5.38 DEFAULT_VERSIONS+=pgsql=15 #DEFAULT_VERSIONS+=php=8.0 #DEFAULT_VERSIONS+=python2=2.7 #DEFAULT_VERSIONS+=python3=3.9 #DEFAULT_VERSIONS+=python=3.9 #DEFAULT_VERSIONS+=samba=4.16 #DEFAULT_VERSIONS+=ssl=libressl DEFAULT_VERSIONS+=ssl=base DEFAULT_VERSIONS+=tcltk=8.6 WANT_OPENLDAP_SASL=yes # We play ball with... LICENSES_GROUPS_ACCEPTED+=FSF LICENSES_GROUPS_ACCEPTED+=OSI LICENSES_GROUPS_ACCEPTED+=COPYFREE LICENSES_GROUPS_ACCEPTED+=FONTS LICENSES_ACCEPTED+=GPLv2+ LICENSES_ACCEPTED+=MSPAT LICENSES_ACCEPTED+=NONE LICENSES_ACCEPTED+='GPLV2+ MSPAT' # Until 1.18 gets its modules crap sorted #GO_PORT=lang/go117 # Ehh, screw it. DISABLE_LICENSES=yes # FINALLY. BUILD_ALL_PYTHON_FLAVORS=yes # Duh WITH_PKGNG=yes # Workaround for FreeBSD PR 201193 WITH_MPM=event # Workaround for FreeBSD PR 234914 -- JTFC, FreeBSD, figure it out. .if ${.CURDIR:M*/www/mod_php7[0-9]} CONFIGURE_ENV+= pthreads_working="yes" .endif #MESA_LLVM_VER = 13 # ports infrastructure dudes are hacks. security_p5-GSSAPI_SET = GSSAPI_MIT OPTIONS_UNSET += GSSAPI_BASE GSSAPI_NONE GSSAPI_HEIMDAL OPTIONS_UNSET += WAYLAND OPTIONS_SET += GSSAPI_MIT #KRB5_VERSION=121 #security_p5-GSSAPI_SET = GSSAPI_HEIMDAL #OPTIONS_UNSET += GSSAPI_BASE GSSAPI_NONE GSSAPI_MIT #OPTIONS_SET += GSSAPI_HEIMDAL 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) 63795 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 --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 ===> nut-2.8.0_24 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.20.9.pkg [140amd64-quarterly-job-05] Installing pkg-1.20.9... [140amd64-quarterly-job-05] Extracting pkg-1.20.9: .......... done ===> nut-2.8.0_24 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of nut-2.8.0_24 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =>> Debug: gather_distfiles: missing '/poudriere/data/.m/140amd64-quarterly/05/portdistfiles//nut-2.8.0.tar.gz' =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by nut-2.8.0_24 for building =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by nut-2.8.0_24 for building => SHA256 Checksum OK for nut-2.8.0.tar.gz. =========================================================================== =>> Debug: gather_distfiles: skipping copy '/poudriere/distfiles//nut-2.8.0.tar.gz' =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by nut-2.8.0_24 for building ===> Extracting for nut-2.8.0_24 => SHA256 Checksum OK for nut-2.8.0.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Patching for nut-2.8.0_24 ===> Applying FreeBSD patches for nut-2.8.0_24 from /usr/ports/sysutils/nut/files =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> nut-2.8.0_24 depends on executable: avahi-daemon - not found ===> Installing existing package /packages/All/avahi-app-0.8_1.pkg [140amd64-quarterly-job-05] Installing avahi-app-0.8_1... [140amd64-quarterly-job-05] `-- Installing dbus-1.14.10_1,1... [140amd64-quarterly-job-05] | `-- Installing expat-2.5.0... [140amd64-quarterly-job-05] | `-- Extracting expat-2.5.0: .......... done [140amd64-quarterly-job-05] | `-- Installing libICE-1.1.0_2,1... [140amd64-quarterly-job-05] | `-- Extracting libICE-1.1.0_2,1: .......... done [140amd64-quarterly-job-05] | `-- Installing libSM-1.2.3_1,1... [140amd64-quarterly-job-05] | `-- Extracting libSM-1.2.3_1,1: ........ done [140amd64-quarterly-job-05] | `-- Installing libX11-1.8.7,1... [140amd64-quarterly-job-05] | | `-- Installing libxcb-1.15_1... [140amd64-quarterly-job-05] | | `-- Installing libXau-1.0.9... [140amd64-quarterly-job-05] | | `-- Extracting libXau-1.0.9: .......... done [140amd64-quarterly-job-05] | | `-- Installing libXdmcp-1.1.3... [140amd64-quarterly-job-05] | | | `-- Installing xorgproto-2023.2... [140amd64-quarterly-job-05] | | | `-- Extracting xorgproto-2023.2: .......... done [140amd64-quarterly-job-05] | | `-- Extracting libXdmcp-1.1.3: ...... done [140amd64-quarterly-job-05] | | `-- Extracting libxcb-1.15_1: .......... done [140amd64-quarterly-job-05] | `-- Extracting libX11-1.8.7,1: .......... done ===> Creating groups. Creating group 'messagebus' with gid '556'. ===> Creating users Creating user 'messagebus' with uid '556'. [140amd64-quarterly-job-05] `-- Extracting dbus-1.14.10_1,1: ......... done [140amd64-quarterly-job-05] `-- Installing dbus-glib-0.112... [140amd64-quarterly-job-05] | `-- Installing gettext-runtime-0.22_1... [140amd64-quarterly-job-05] | | `-- Installing indexinfo-0.3.1... [140amd64-quarterly-job-05] | | `-- Extracting indexinfo-0.3.1: . done [140amd64-quarterly-job-05] | `-- Extracting gettext-runtime-0.22_1: .......... done [140amd64-quarterly-job-05] | `-- Installing glib-2.78.3,2... [140amd64-quarterly-job-05] | | `-- Installing libffi-3.4.4... [140amd64-quarterly-job-05] | | `-- Extracting libffi-3.4.4: .......... done [140amd64-quarterly-job-05] | | `-- Installing libiconv-1.17... [140amd64-quarterly-job-05] | | `-- Extracting libiconv-1.17: .......... done [140amd64-quarterly-job-05] | | `-- Installing libxml2-2.10.4_1... [140amd64-quarterly-job-05] | | `-- Installing readline-8.2.1... [140amd64-quarterly-job-05] | | `-- Extracting readline-8.2.1: .......... done [140amd64-quarterly-job-05] | | `-- Extracting libxml2-2.10.4_1: .......... done [140amd64-quarterly-job-05] | | `-- Installing pcre2-10.42... [140amd64-quarterly-job-05] | | `-- Extracting pcre2-10.42: .......... done [140amd64-quarterly-job-05] | | `-- Installing python39-3.9.18... [140amd64-quarterly-job-05] | | `-- Installing mpdecimal-2.5.1... [140amd64-quarterly-job-05] | | `-- Extracting mpdecimal-2.5.1: .......... done [140amd64-quarterly-job-05] | | `-- Extracting python39-3.9.18: .......... done [140amd64-quarterly-job-05] | `-- Extracting glib-2.78.3,2: .......... done [140amd64-quarterly-job-05] `-- Extracting dbus-glib-0.112: .......... done [140amd64-quarterly-job-05] `-- Installing gdbm-1.23... [140amd64-quarterly-job-05] `-- Extracting gdbm-1.23: .......... done [140amd64-quarterly-job-05] `-- Installing gnome_subr-1.0... [140amd64-quarterly-job-05] `-- Extracting gnome_subr-1.0: . done [140amd64-quarterly-job-05] `-- Installing libdaemon-0.14_1... [140amd64-quarterly-job-05] `-- Extracting libdaemon-0.14_1: .......... done [140amd64-quarterly-job-05] `-- Installing libevent-2.1.12... [140amd64-quarterly-job-05] `-- Extracting libevent-2.1.12: .......... done ===> Creating groups. Creating group 'avahi' with gid '558'. ===> Creating users Creating user 'avahi' with uid '558'. [140amd64-quarterly-job-05] Extracting avahi-app-0.8_1: .......... done ==> Running trigger: gio-modules.ucl Generating GIO modules cache ==> Running trigger: glib-schemas.ucl Compiling glib schemas No schema files found: doing nothing. ===== Message from python39-3.9.18: -- Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: py39-gdbm databases/py-gdbm@py39 py39-sqlite3 databases/py-sqlite3@py39 py39-tkinter x11-toolkits/py-tkinter@py39 ===> nut-2.8.0_24 depends on executable: avahi-daemon - found ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on package: gmake>=4.3 - not found ===> Installing existing package /packages/All/gmake-4.3_2.pkg [140amd64-quarterly-job-05] Installing gmake-4.3_2... [140amd64-quarterly-job-05] Extracting gmake-4.3_2: .......... done ===> nut-2.8.0_24 depends on package: gmake>=4.3 - found ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on package: pkgconf>=1.3.0_1 - not found ===> Installing existing package /packages/All/pkgconf-2.0.3,1.pkg [140amd64-quarterly-job-05] Installing pkgconf-2.0.3,1... [140amd64-quarterly-job-05] Extracting pkgconf-2.0.3,1: .......... done ===> nut-2.8.0_24 depends on package: pkgconf>=1.3.0_1 - found ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on file: /usr/local/bin/python3.9 - found ===> nut-2.8.0_24 depends on package: autoconf>=2.71 - not found ===> Installing existing package /packages/All/autoconf-2.71.pkg [140amd64-quarterly-job-05] Installing autoconf-2.71... [140amd64-quarterly-job-05] `-- Installing autoconf-switch-20220527... [140amd64-quarterly-job-05] `-- Extracting autoconf-switch-20220527: ....... done [140amd64-quarterly-job-05] `-- Installing m4-1.4.19,1... [140amd64-quarterly-job-05] | `-- Installing libsigsegv-2.14... [140amd64-quarterly-job-05] | `-- Extracting libsigsegv-2.14: ..... done [140amd64-quarterly-job-05] `-- Extracting m4-1.4.19,1: .......... done [140amd64-quarterly-job-05] `-- Installing perl5-5.34.3_3... [140amd64-quarterly-job-05] `-- Extracting perl5-5.34.3_3: .......... done [140amd64-quarterly-job-05] Extracting autoconf-2.71: .......... done ===== Message from libsigsegv-2.14: -- Note that the stackoverflow handling functions of this library need procfs mounted on /proc. ===> nut-2.8.0_24 depends on package: autoconf>=2.71 - found ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on package: automake>=1.16.5 - not found ===> Installing existing package /packages/All/automake-1.16.5.pkg [140amd64-quarterly-job-05] Installing automake-1.16.5... [140amd64-quarterly-job-05] Extracting automake-1.16.5: .......... done ===> nut-2.8.0_24 depends on package: automake>=1.16.5 - found ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on executable: libtoolize - not found ===> Installing existing package /packages/All/libtool-2.4.7_1.pkg [140amd64-quarterly-job-05] Installing libtool-2.4.7_1... [140amd64-quarterly-job-05] Extracting libtool-2.4.7_1: .......... done ===> nut-2.8.0_24 depends on executable: libtoolize - found ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on file: /usr/local/bin/ccache - not found ===> Installing existing package /packages/All/ccache-3.7.12_4.pkg [140amd64-quarterly-job-05] Installing ccache-3.7.12_4... [140amd64-quarterly-job-05] Extracting ccache-3.7.12_4: ......... 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_4: -- NOTE: Please read /usr/local/share/doc/ccache/ccache-howto-freebsd.txt for information on using ccache with FreeBSD ports and src. ===> nut-2.8.0_24 depends on file: /usr/local/bin/ccache - found ===> Returning to build of nut-2.8.0_24 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> nut-2.8.0_24 depends on shared library: libltdl.so - not found ===> Installing existing package /packages/All/libltdl-2.4.7.pkg [140amd64-quarterly-job-05] Installing libltdl-2.4.7... [140amd64-quarterly-job-05] Extracting libltdl-2.4.7: ......... done ===> nut-2.8.0_24 depends on shared library: libltdl.so - found (/usr/local/lib/libltdl.so) ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on shared library: libgd.so - not found ===> Installing existing package /packages/All/libgd-2.3.3_7,1.pkg [140amd64-quarterly-job-05] Installing libgd-2.3.3_7,1... [140amd64-quarterly-job-05] `-- Installing fontconfig-2.14.2,1... [140amd64-quarterly-job-05] | `-- Installing freetype2-2.13.1... [140amd64-quarterly-job-05] | | `-- Installing png-1.6.40... [140amd64-quarterly-job-05] | | `-- Extracting png-1.6.40: .......... done [140amd64-quarterly-job-05] | `-- Extracting freetype2-2.13.1: .......... done [140amd64-quarterly-job-05] `-- Extracting fontconfig-2.14.2,1: .......... done [140amd64-quarterly-job-05] `-- Installing jpeg-turbo-3.0.0... [140amd64-quarterly-job-05] `-- Extracting jpeg-turbo-3.0.0: .......... done [140amd64-quarterly-job-05] `-- Installing libXpm-3.5.17... [140amd64-quarterly-job-05] | `-- Installing libXext-1.3.4,1... [140amd64-quarterly-job-05] | `-- Extracting libXext-1.3.4,1: .......... done [140amd64-quarterly-job-05] | `-- Installing libXt-1.2.1,1... [140amd64-quarterly-job-05] | `-- Extracting libXt-1.2.1,1: .......... done [140amd64-quarterly-job-05] `-- Extracting libXpm-3.5.17: .......... done [140amd64-quarterly-job-05] `-- Installing libimagequant-4.2.1... [140amd64-quarterly-job-05] `-- Extracting libimagequant-4.2.1: ...... done [140amd64-quarterly-job-05] `-- Installing tiff-4.4.0_2... [140amd64-quarterly-job-05] | `-- Installing jbigkit-2.1_1... [140amd64-quarterly-job-05] | `-- Extracting jbigkit-2.1_1: .......... done [140amd64-quarterly-job-05] | `-- Installing libdeflate-1.19... [140amd64-quarterly-job-05] | `-- Extracting libdeflate-1.19: .......... done [140amd64-quarterly-job-05] | `-- Installing zstd-1.5.5... [140amd64-quarterly-job-05] | | `-- Installing liblz4-1.9.4,1... [140amd64-quarterly-job-05] | | `-- Extracting liblz4-1.9.4,1: .......... done [140amd64-quarterly-job-05] | `-- Extracting zstd-1.5.5: .......... done [140amd64-quarterly-job-05] `-- Extracting tiff-4.4.0_2: .......... done [140amd64-quarterly-job-05] `-- Installing webp-1.3.2... [140amd64-quarterly-job-05] | `-- Installing giflib-5.2.1... [140amd64-quarterly-job-05] | `-- Extracting giflib-5.2.1: .......... done [140amd64-quarterly-job-05] `-- Extracting webp-1.3.2: .......... done [140amd64-quarterly-job-05] Extracting libgd-2.3.3_7,1: .......... done ==> Running trigger: fontconfig.ucl Running fc-cache to build fontconfig cache... ===== Message from freetype2-2.13.1: -- The 2.7.x series now uses the new subpixel hinting mode (V40 port's option) as the default, emulating a modern version of ClearType. This change inevitably leads to different rendering results, and you might change port's options to adapt it to your taste (or use the new "FREETYPE_PROPERTIES" environment variable). The environment variable "FREETYPE_PROPERTIES" can be used to control the driver properties. Example: FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ cff:no-stem-darkening=1 \ autofitter:warping=1 This allows to select, say, the subpixel hinting mode at runtime for a given application. If LONG_PCF_NAMES port's option was enabled, the PCF family names may include the foundry and information whether they contain wide characters. For example, "Sony Fixed" or "Misc Fixed Wide", instead of "Fixed". This can be disabled at run time with using pcf:no-long-family-names property, if needed. Example: FREETYPE_PROPERTIES=pcf:no-long-family-names=1 How to recreate fontconfig cache with using such environment variable, if needed: # env FREETYPE_PROPERTIES=pcf:no-long-family-names=1 fc-cache -fsv The controllable properties are listed in the section "Controlling FreeType Modules" in the reference's table of contents (/usr/local/share/doc/freetype2/reference/index.html, if documentation was installed). ===> nut-2.8.0_24 depends on shared library: libgd.so - found (/usr/local/lib/libgd.so) ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on shared library: libfreeipmi.so - not found ===> Installing existing package /packages/All/freeipmi-1.6.11.pkg [140amd64-quarterly-job-05] Installing freeipmi-1.6.11... [140amd64-quarterly-job-05] `-- Installing argp-standalone-1.5.0... [140amd64-quarterly-job-05] `-- Extracting argp-standalone-1.5.0: ..... done [140amd64-quarterly-job-05] `-- Installing libgcrypt-1.10.2... [140amd64-quarterly-job-05] | `-- Installing libgpg-error-1.47... [140amd64-quarterly-job-05] | `-- Extracting libgpg-error-1.47: .......... done [140amd64-quarterly-job-05] `-- Extracting libgcrypt-1.10.2: .......... done [140amd64-quarterly-job-05] Extracting freeipmi-1.6.11: .......... done ===> nut-2.8.0_24 depends on shared library: libfreeipmi.so - found (/usr/local/lib/libfreeipmi.so) ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on shared library: libmodbus.so - not found ===> Installing existing package /packages/All/libmodbus-3.1.7_1.pkg [140amd64-quarterly-job-05] Installing libmodbus-3.1.7_1... [140amd64-quarterly-job-05] Extracting libmodbus-3.1.7_1: .......... done ===> nut-2.8.0_24 depends on shared library: libmodbus.so - found (/usr/local/lib/libmodbus.so) ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on shared library: libneon.so - not found ===> Installing existing package /packages/All/neon-0.32.4.pkg [140amd64-quarterly-job-05] Installing neon-0.32.4... [140amd64-quarterly-job-05] `-- Installing ca_root_nss-3.93... [140amd64-quarterly-job-05] `-- Extracting ca_root_nss-3.93: ..... done [140amd64-quarterly-job-05] Extracting neon-0.32.4: .......... done ===== Message from ca_root_nss-3.93: -- FreeBSD does not, and can not warrant that the certification authorities whose certificates are included in this package have in any way been audited for trustworthiness or RFC 3647 compliance. Assessment and verification of trust is the complete responsibility of the system administrator. This package installs symlinks to support root certificates discovery by default for software that uses OpenSSL. This enables SSL Certificate Verification by client software without manual intervention. If you prefer to do this manually, replace the following symlinks with either an empty file or your site-local certificate bundle. * /etc/ssl/cert.pem * /usr/local/etc/ssl/cert.pem * /usr/local/openssl/cert.pem ===> nut-2.8.0_24 depends on shared library: libneon.so - found (/usr/local/lib/libneon.so) ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on shared library: libpowerman.so - not found ===> Installing existing package /packages/All/powerman-2.3.20_2.pkg [140amd64-quarterly-job-05] Installing powerman-2.3.20_2... [140amd64-quarterly-job-05] `-- Installing curl-8.5.0... [140amd64-quarterly-job-05] | `-- Installing c-ares-1.19.1... [140amd64-quarterly-job-05] | `-- Extracting c-ares-1.19.1: .......... done [140amd64-quarterly-job-05] | `-- Installing heimdal-7.8.0_6... [140amd64-quarterly-job-05] | | `-- Installing db5-5.3.28_9... [140amd64-quarterly-job-05] | | `-- Extracting db5-5.3.28_9: .......... done [140amd64-quarterly-job-05] | | `-- Installing openldap26-client-2.6.6... [140amd64-quarterly-job-05] | | `-- Installing cyrus-sasl-2.1.28... [140amd64-quarterly-job-05] | | | `-- Installing lmdb-0.9.31,1... [140amd64-quarterly-job-05] | | | `-- Extracting lmdb-0.9.31,1: .......... done *** Added group `cyrus' (id 60) *** Added user `cyrus' (id 60) [140amd64-quarterly-job-05] | | `-- Extracting cyrus-sasl-2.1.28: .......... done [140amd64-quarterly-job-05] | | `-- Extracting openldap26-client-2.6.6: .......... done [140amd64-quarterly-job-05] | | `-- Installing sqlite3-3.43.1,1... [140amd64-quarterly-job-05] | | `-- Installing libedit-3.1.20221030,1... [140amd64-quarterly-job-05] | | `-- Extracting libedit-3.1.20221030,1: .......... done [140amd64-quarterly-job-05] | | `-- Extracting sqlite3-3.43.1,1: ......... done [140amd64-quarterly-job-05] | `-- Extracting heimdal-7.8.0_6: .......... done [140amd64-quarterly-job-05] | `-- Installing libidn2-2.3.4... [140amd64-quarterly-job-05] | | `-- Installing libunistring-1.1... [140amd64-quarterly-job-05] | | `-- Extracting libunistring-1.1: .......... done [140amd64-quarterly-job-05] | `-- Extracting libidn2-2.3.4: .......... done [140amd64-quarterly-job-05] | `-- Installing libnghttp2-1.57.0... [140amd64-quarterly-job-05] | `-- Extracting libnghttp2-1.57.0: ....... done [140amd64-quarterly-job-05] | `-- Installing libssh2-1.11.0,3... [140amd64-quarterly-job-05] | `-- Extracting libssh2-1.11.0,3: .......... done [140amd64-quarterly-job-05] `-- Extracting curl-8.5.0: .......... done [140amd64-quarterly-job-05] Extracting powerman-2.3.20_2: .......... done ===== Message from db5-5.3.28_9: -- ===> NOTICE: The db5 port currently does not have a maintainer. As a result, it is more likely to have unresolved issues, not be up-to-date, or even be removed in the future. To volunteer to maintain this port, please create an issue at: https://bugs.freebsd.org/bugzilla More information about port maintainership is available at: https://docs.freebsd.org/en/articles/contributing/#ports-contributing -- ===> NOTICE: This port is deprecated; you may wish to reconsider installing it: EOLd, potential security issues, maybe use db18 instead. It is scheduled to be removed on or after 2022-06-30. ===== Message from cyrus-sasl-2.1.28: -- You can use sasldb2 for authentication, to add users use: saslpasswd2 -c username If you want to enable SMTP AUTH with the system Sendmail, read Sendmail.README NOTE: This port has been compiled with a default pwcheck_method of auxprop. If you want to authenticate your user by /etc/passwd, PAM or LDAP, install ports/security/cyrus-sasl2-saslauthd and set sasl_pwcheck_method to saslauthd after installing the Cyrus-IMAPd 2.X port. You should also check the /usr/local/lib/sasl2/*.conf files for the correct pwcheck_method. If you want to use GSSAPI mechanism, install ports/security/cyrus-sasl2-gssapi. If you want to use SRP mechanism, install ports/security/cyrus-sasl2-srp. If you want to use LDAP auxprop plugin, install ports/security/cyrus-sasl2-ldapdb. ===== Message from openldap26-client-2.6.6: -- The OpenLDAP client package has been successfully installed. Edit /usr/local/etc/openldap/ldap.conf to change the system-wide client defaults. Try `man ldap.conf' and visit the OpenLDAP FAQ-O-Matic at http://www.OpenLDAP.org/faq/index.cgi?file=3 for more information. ===== Message from heimdal-7.8.0_6: -- heimdal-7.1.0_1 uses a new database format which is incompatible with Heimdal in the base system and heimdal-1.5.3_6 or prior. Please read 20161112 in /usr/ports/UPDATING carefully to upgrade your database. ===== Message from powerman-2.3.20_2: -- ===> NOTICE: The powerman port currently does not have a maintainer. As a result, it is more likely to have unresolved issues, not be up-to-date, or even be removed in the future. To volunteer to maintain this port, please create an issue at: https://bugs.freebsd.org/bugzilla More information about port maintainership is available at: https://docs.freebsd.org/en/articles/contributing/#ports-contributing ===> nut-2.8.0_24 depends on shared library: libpowerman.so - found (/usr/local/lib/libpowerman.so) ===> Returning to build of nut-2.8.0_24 ===> nut-2.8.0_24 depends on shared library: libnetsnmp.so - not found ===> Installing existing package /packages/All/net-snmp-5.9.1_4,1.pkg [140amd64-quarterly-job-05] Installing net-snmp-5.9.1_4,1... [140amd64-quarterly-job-05] Extracting net-snmp-5.9.1_4,1: .......... done ===== Message from net-snmp-5.9.1_4,1: -- **** This port installs snmpd, header files and libraries but does not start snmpd by default. If you want to auto-start snmpd and snmptrapd:, add the following to /etc/rc.conf: snmpd_enable="YES" snmpd_flags="-a" snmpd_conffile="/usr/local/share/snmp/snmpd.conf /etc/snmpd.conf" snmptrapd_enable="YES" snmptrapd_flags="-a -p /var/run/snmptrapd.pid" **** You may also specify the following make variables: NET_SNMP_SYS_CONTACT="zi@FreeBSD.org" NET_SNMP_SYS_LOCATION="USA" DEFAULT_SNMP_VERSION=3 NET_SNMP_MIB_MODULES="host smux mibII/mta_sendmail ucd-snmp/diskio" NET_SNMP_LOGFILE=/var/log/snmpd.log NET_SNMP_PERSISTENTDIR=/var/net-snmp to define default values (or to override the defaults). To avoid being prompted during the configuration process, you should (minimally) define the first two variables. (NET_SNMP_SYS_*) You may also define the following to avoid all interactive configuration: BATCH="yes" ===> nut-2.8.0_24 depends on shared library: libnetsnmp.so - found (/usr/local/lib/libnetsnmp.so) ===> Returning to build of nut-2.8.0_24 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Configuring for nut-2.8.0_24 configure: loading site script /usr/ports/Templates/config.site Network UPS Tools version 2.8.0 checking build system type... amd64-portbld-freebsd14.0 checking host system type... amd64-portbld-freebsd14.0 checking target system type... amd64-portbld-freebsd14.0 checking for host system name... freebsd checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p checking for gawk... (cached) /usr/bin/awk checking whether gmake sets $(MAKE)... yes checking whether gmake supports nested variables... yes checking for autoconf macro to enable system extensions... yes checking whether gmake supports the include directive... yes (GNU style) checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether cc understands -c and -o together... yes checking dependency style of cc... gcc3 checking how to run the C preprocessor... cpp checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... (cached) /usr/bin/egrep checking for ANSI C header files... (cached) yes checking for sys/types.h... (cached) yes checking for sys/stat.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for memory.h... (cached) yes checking for strings.h... (cached) yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking for unistd.h... (cached) yes checking for minix/config.h... (cached) no checking whether it is safe to define __EXTENSIONS__... yes checking whether to enable maintainer-specific portions of Makefiles... no checking pkg-config is at least version 0.9.0... yes checking whether usable PKG_CONFIG was already detected by autoconf... yes: pkgconf configure: checking for autoconf macro support of pkg-config (pkgconf) configure: checking for autoconf macro support of pkg-config module checker checking for pkg-config... yes checking how to run the C preprocessor... cpp checking whether we are using the GNU C++ compiler... yes checking whether c++ accepts -g... yes checking dependency style of c++... gcc3 checking whether c++ understands -c and -o together... yes checking whether ln -s works... yes checking for egrep... (cached) /usr/bin/egrep checking for ar... /usr/bin/ar checking for ranlib... ranlib checking whether byte ordering is bigendian... no checking for inline... inline checking for flexible array members... yes checking for variable-length arrays... yes checking if CC compiler family is GCC... no checking if CXX compiler family is GCC... no checking if CPP preprocessor family is GCC... no checking if CC compiler family is clang... yes checking if CXX compiler family is clang... yes checking if CPP preprocessor family is clang... yes configure: Detecting support for additional compiler flags checking whether C compiler accepts -Qunused-arguments... yes checking whether C++ compiler accepts -Qunused-arguments... yes checking whether C compiler accepts -Wno-reserved-identifier... yes checking whether C++ compiler accepts -Wno-reserved-identifier... yes configure: NOT checking for options to request colorized compiler output (pass --enable-Wcolor for that) checking whether C compiler accepts -Wno-unknown-warning-option... yes checking whether C++ compiler accepts -Wno-unknown-warning-option... yes checking whether C compiler accepts -std=gnu99... yes configure: Defaulting C standard support to GNU C99 on a GCC or CLANG compatible compiler checking whether C++ compiler accepts -std=gnu++11... yes configure: Defaulting C++ standard support to GNU C++11 on a GCC or CLANG compatible compiler checking for pragma GCC diagnostic push and pop (outside functions)... yes checking for pragma clang diagnostic push and pop (outside functions)... yes checking for pragma GCC diagnostic push and pop (inside functions)... yes checking for pragma clang diagnostic push and pop (inside functions)... yes checking for pragma GCC diagnostic ignored "-Wunused-function"... yes checking for pragma GCC diagnostic ignored "-Wformat-nonliteral"... yes checking for pragma GCC diagnostic ignored "-Wformat-nonliteral" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wformat-security"... yes checking for pragma GCC diagnostic ignored "-Wformat-security" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wformat-truncation"... yes checking for pragma GCC diagnostic ignored "-Wformat-truncation" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wstringop-truncation"... yes checking for pragma GCC diagnostic ignored "-Wstringop-truncation" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wtype-limits"... yes checking for pragma GCC diagnostic ignored "-Wtype-limits" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Warray-bounds"... yes checking for pragma GCC diagnostic ignored "-Warray-bounds" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wtautological-type-limit-compare"... yes checking for pragma GCC diagnostic ignored "-Wtautological-type-limit-compare" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wtautological-constant-out-of-range-compare"... yes checking for pragma GCC diagnostic ignored "-Wtautological-constant-out-of-range-compare" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wtautological-unsigned-zero-compare"... yes checking for pragma GCC diagnostic ignored "-Wtautological-unsigned-zero-compare" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wtautological-compare"... yes checking for pragma GCC diagnostic ignored "-Wtautological-compare" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wsign-compare"... yes checking for pragma GCC diagnostic ignored "-Wsign-compare" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wsign-conversion"... yes checking for pragma GCC diagnostic ignored "-Wsign-conversion" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wunreachable-code-break"... yes checking for pragma GCC diagnostic ignored "-Wunreachable-code-break" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wunreachable-code-return"... yes checking for pragma GCC diagnostic ignored "-Wunreachable-code-return" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wunreachable-code"... yes checking for pragma GCC diagnostic ignored "-Wunreachable-code" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wformat-overflow"... yes checking for pragma GCC diagnostic ignored "-Wformat-overflow" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wcovered-switch-default"... yes checking for pragma GCC diagnostic ignored "-Wcovered-switch-default" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wextra-semi-stmt"... yes checking for pragma GCC diagnostic ignored "-Wextra-semi-stmt" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wcast-align"... yes checking for pragma GCC diagnostic ignored "-Wcast-align" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wstrict-prototypes"... yes checking for pragma GCC diagnostic ignored "-Wstrict-prototypes" (outside functions)... yes checking for pragma GCC diagnostic ignored "-Wassign-enum"... yes checking for pragma GCC diagnostic ignored "-Wassign-enum" (outside functions)... yes checking for C++ pragma GCC diagnostic ignored "-Wc++98-compat-pedantic"... yes checking for C++ pragma GCC diagnostic ignored "-Wc++98-compat-pedantic" (outside functions)... yes checking for C++ pragma GCC diagnostic ignored "-Wc++98-compat"... yes checking for C++ pragma GCC diagnostic ignored "-Wc++98-compat" (outside functions)... yes checking for C++ pragma GCC diagnostic ignored "-Wglobal-constructors"... yes checking for C++ pragma GCC diagnostic ignored "-Wglobal-constructors" (outside functions)... yes checking for C++ pragma GCC diagnostic ignored "-Wexit-time-destructors"... yes checking for C++ pragma GCC diagnostic ignored "-Wexit-time-destructors" (outside functions)... yes checking for pragma BOGUSforTest... no checking for pragma BOGUSforTest (outside functions)... no checking for pragma GCC diagnostic ignored "-WBOGUSforTest"... yes checking for pragma GCC diagnostic ignored "-WBOGUSforTest" (outside functions)... yes configure: WARNING: A bogus test that was expected to fail did not! ax_cv__pragma__bogus_diag=yes (not 'no') configure: WARNING: A bogus test that was expected to fail did not! ax_cv__pragma__bogus_diag_besidefunc=yes (not 'no') checking for __attribute__((unused)) for function arguments... yes checking for __attribute__((unused)) for functions... yes checking for __attribute__((noreturn))... yes checking for at least some __attribute__ support... yes checking for practical support to pritnf("%s", NULL)... no checking for flock... yes checking for lockf... yes checking for fcvt... no checking for fcvtl... no checking for pow10... no checking for round... no checking for abs_val... no checking for abs... (cached) yes checking for float.h... (cached) yes checking for math.h... (cached) yes checking for fabs... yes checking for fabsf... no checking for fabsl... no checking for limits.h... (cached) yes checking for signal.h... (cached) yes checking sys/signal.h usability... yes checking sys/signal.h presence... yes checking for sys/signal.h... yes checking for sys/resource.h... (cached) yes checking for struct rlimit and getrlimit()... ok checking semaphore.h usability... yes checking semaphore.h presence... yes checking for semaphore.h... yes checking for sem_t, sem_init() and sem_destroy()... ok checking for cfsetispeed... yes checking for tcsendbreak... yes checking for seteuid... (cached) yes checking for setsid... (cached) yes checking for getpassphrase... no checking for on_exit... no checking for strptime... (cached) yes checking for setlogmask... yes checking whether LOG_UPTO is declared... yes configure: ----------------------------------------------------------------------- The next few tests look for required C library routines; if something is not found, you may need to enable a different C standard or extension macro version. You may also have to configure without extreme warning levels since autotools tests fail those on their own and assume system lacks stuff (although note we try to not involve standard -W* flags here). ----------------------------------------------------------------------- checking for strtok_r... yes checking for fileno... (cached) yes checking for localtime_r... yes checking for sigemptyset... yes checking for sigaction... (cached) yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking for strcasecmp(s1,s2)... (cached) yes checking for strncasecmp(s1,s2,n)... (cached) yes checking for strdup(s)... (cached) yes checking for usleep(us)... (cached) yes checking whether ln -sr works... ln: illegal option -- r usage: ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file [target_file] ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file ... target_dir link source_file target_file no, using ln checking for unsigned long long int... (cached) yes checking for vsnprintf... (cached) yes checking for snprintf... (cached) yes checking for setenv... (cached) yes checking for strerror... (cached) yes checking for atexit... (cached) yes checking whether optind is declared... yes checking for getopt.h... (cached) yes checking for getopt_long... yes checking whether uu_lock is declared... yes checking whether __func__ is declared... yes checking for library containing gethostbyname... none required checking for library containing connect... none required checking for sys/time.h... (cached) yes checking for time.h... (cached) yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for netdb.h... (cached) yes checking for sys/modem.h... no checking for stdarg.h... (cached) yes checking for varargs.h... no checking for library containing pthread_create... -lpthread checking for library containing pthread_tryjoin_np... no checking for windows.h... no checking for winsock2.h... no checking for ws2tcpip.h... no checking for socklen_t... (cached) yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for netdb.h... (cached) yes checking types of arguments for getnameinfo... const struct sockaddr *,socklen_t,size_t,int checking for python... no checking for python3... no checking for python2... no configure: WARNING: A python program name was not detected during configuration, will default to '/usr/local/bin/python3.9' (scripts will fail if that is not in PATH at run time) checking python interpeter to call... /usr/local/bin/python3.9 checking for python2... no checking for python2.7... no checking for python-2.7... no checking for python... no configure: WARNING: A python2 program name was not detected during configuration, will default to '/usr/local/bin/python3.92' (scripts will fail if that is not in PATH at run time) checking python2 interpeter to call... /usr/local/bin/python3.92 checking for python3... no checking for python3.9... python3.9 checking python3 interpeter to call... /usr/bin/env python3.9 checking which drivers to build... all available checking for --with-all... not given checking for libusb-1.0 version via pkg-config... 1.0.13 found checking for libusb(-0.1) version via pkg-config... none found checking for libusb-config... no checking for libusb preferred version... 1.0.13 (libusb-1.0) checking for libusb cflags... checking for libusb ldflags... -lusb checking for libusb.h... yes checking for libusb_init... yes checking for libusb_strerror... yes checking for libusb_kernel_driver_active... yes checking for libusb_set_auto_detach_kernel_driver... yes checking for libusb_detach_kernel_driver... yes checking for libusb_detach_kernel_driver_np... yes checking for usb_detach_kernel_driver_np... yes checking size of void *... 8 checking for net-snmp-config-64... no checking for net-snmp-config... /usr/local/bin/net-snmp-config checking for Net-SNMP version via pkg-config... 5.9.1 found checking for Net-SNMP cflags... -I/usr/local/include checking for Net-SNMP libs... -L/usr/local/lib -lnetsnmp checking for net-snmp/net-snmp-config.h... yes checking for init_snmp... yes checking for defined usmAESPrivProtocol... yes checking for defined usmAES128PrivProtocol... no checking for defined usmDESPrivProtocol... yes checking for defined usmHMAC256SHA384AuthProtocol... yes checking for defined usmHMAC384SHA512AuthProtocol... yes checking for defined usmHMAC192SHA256AuthProtocol... yes checking for defined usmAES192PrivProtocol... no checking for defined usmAES256PrivProtocol... no checking for defined usmHMACMD5AuthProtocol... yes checking for defined usmHMACSHA1AuthProtocol... yes checking for defined NETSNMP_DRAFT_BLUMENTHAL_AES_04... no checking for libneon version via pkg-config (0.25.0 minimum required)... 0.32.4 found checking for libneon cflags... -I/usr/local/include/neon checking for libneon ldflags... -L/usr/local/lib -lneon checking for ne_xmlreq.h... yes checking for ne_xml_dispatch_request... yes checking for ne_set_connect_timeout... yes checking for ne_sock_connect_timeout... yes checking for LLNC libpowerman version via pkg-config... '2.3.20' found checking for libpowerman cflags... -I/usr/local/include checking for libpowerman libs... -L/usr/local/lib -lpowerman checking for libpowerman.h... yes checking for pm_connect... yes checking for libmodbus version via pkg-config... 3.1.7 found checking for libmodbus cflags... -I/usr/local/include/modbus checking for libmodbus ldflags... -L/usr/local/lib -lmodbus checking for modbus.h... yes checking for modbus_new_rtu... yes checking for modbus_new_tcp... yes checking for modbus_set_byte_timeout... yes checking for modbus_set_response_timeout... yes checking types of arguments for modbus_set_byte_timeout... sec_usec_uint32_cast_timeval_fields Found types to use for modbus_set_byte_timeout: sec_usec_uint32_cast_timeval_fields checking for avahi-core version via pkg-config (0.6.30 minimum required)... 0.8 found checking for avahi-client version via pkg-config (0.6.30 minimum required)... 0.8 found checking for avahi cflags... -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread checking for avahi ldflags... -L/usr/local/lib -lavahi-core -lavahi-common -lavahi-client checking for avahi-common/malloc.h... yes checking for avahi_free... yes checking for avahi-client/client.h... yes checking for avahi_client_new... yes checking for sys/termios.h... no checking for termios.h... yes checking for struct termios and speed_t... ok checking whether we can build serial drivers... yes checking whether to build serial drivers... yes checking whether to build USB drivers... yes (libusb-1.0) checking whether to build neon based XML driver... yes checking whether to enable Avahi support... yes checking whether to build Powerman PDU client driver... yes checking whether to build Modbus driver... yes checking whether to build IPMI driver... no checking whether to build Mac OS X meta-driver... no checking whether to build i2c based drivers... no checking for OpenSSL version via pkg-config... 3.0.12 found checking for OpenSSL cflags... checking for OpenSSL ldflags... -lssl -lcrypto checking for openssl/ssl.h... yes checking for SSL_CTX_new... yes checking whether to enable SSL support... yes (OpenSSL) checking for tcpd.h... yes checking for library containing yp_get_default_domain... none required checking for library containing request_init... -lwrap checking whether to enable libwrap (tcp-wrappers) support... yes checking for libltdl cflags... -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 checking for libltdl ldflags... checking for ltdl.h... yes checking for library containing lt_dlinit... -lltdl checking whether to enable libltdl (Libtool dlopen abstraction) support... yes checking for gd version via pkg-config... 2.3.3 found checking for gd include flags... -I/usr/local/include checking for gd library flags... -L/usr/local/lib -lgd checking for gd.h... yes checking for gdfontmb.h... yes checking for library containing gdImagePng... none required checking whether to build CGI programs... yes checking for cppcheck... no checking if cppcheck version is okay (minimum required 1.0)... no checking whether to run NIT among default make check target... no checking for asciidoc... no checking for a2x... no checking for dblatex... no checking for xsltproc... no checking for xmllint... /usr/local/bin/xmllint checking for xmllint version... 21004 found checking for source-highlight... no checking for aspell... no checking if asciidoc version can build manpages (minimum required 8.6.3)... no checking if a2x version can build manpages (minimum required 8.6.3)... no checking if xsltproc is present (mandatory for man page regeneration)... no checking if xmllint is present (mandatory for man page regeneration)... yes checking if we have all the tools mandatory for man page regeneration... no checking if source-highlight is present (preferable for documentation generation)... no checking whether to build and install documentation... man=auto configure: Got explicit list of document formats to build or not: man=auto; formats not listed will be silently skipped checking desire and ability to build man documentation... auto checking if we can build man... no configure: WARNING: Unable to build man documentation, but can install pre-built distributed copies configure: Skipping build of man documentation (check for 'skip' results above) checking whether to build specific documentation format(s)... no checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for fgrep... (cached) /usr/bin/fgrep checking for ld used by cc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm checking the name lister (/usr/bin/nm) interface... BSD nm checking the maximum length of command line arguments... (cached) 524288 checking how to convert amd64-portbld-freebsd14.0 file names to amd64-portbld-freebsd14.0 format... func_convert_file_noop checking how to convert amd64-portbld-freebsd14.0 file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for archiver @FILE support... no checking for strip... strip checking for ranlib... (cached) ranlib checking command to parse /usr/bin/nm output from cc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for dlfcn.h... (cached) yes checking for objdir... .libs checking if cc supports -fno-rtti -fno-exceptions... yes checking for cc option to produce PIC... -fPIC -DPIC checking if cc PIC flag -fPIC -DPIC works... yes checking if cc static flag -static works... yes checking if cc supports -c -o file.o... yes checking if cc supports -c -o file.o... (cached) yes checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... freebsd14.0 ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking how to run the C++ preprocessor... c++ -E checking for ld used by c++... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes checking for c++ option to produce PIC... -fPIC -DPIC checking if c++ PIC flag -fPIC -DPIC works... yes checking if c++ static flag -static works... yes checking if c++ supports -c -o file.o... yes checking if c++ supports -c -o file.o... (cached) yes checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... freebsd14.0 ld.so checking how to hardcode library paths into programs... immediate checking whether to build and install the development files... no checking state path... /var/db/nut checking alt pid path... /var/db/nut checking driver path... /usr/local/libexec/nut checking cgi path... /usr/local/www/cgi-bin/nut checking html path... /usr/local/www/nut checking pidpath... /var/db/nut checking network port number... 3493 checking user to run as... nut checking group membership of user to run as... nut checking facility for syslog... LOG_DAEMON checking which driver man pages to install... all available checking whether to strip debug symbols... no checking whether to install pkg-config *.pc files... using /usr/local/libdata/pkgconfig checking whether to install Solaris SMF files... no checking whether to make Solaris SVR4 packages... no checking whether to make Solaris IPS packages... no checking whether to install systemd unit files... no checking whether to install systemd shutdown files... no checking whether to install systemd tmpfiles files... no checking for C++11 support in current compiler... yes, out of the box checking for have_cppunit... checking for cppunit... no configure: WARNING: libcppunit not found - those C++ tests will not be built. no no checking for impact from --enable-cppunit option - should we build cppunit tests?... no checking whether to install Augeas configuration-management lenses... no checking for augparse... no checking whether to enable Augeas configuration-management lenses tests... no checking whether to install hotplug rules... no checking whether to install udev rules... no checking whether to install FreeBSD devd.conf file... using /usr/local/etc/devd checking for valgrind... no checking whether valgrind is usable on current platform... no checking whether to use valgrind for memory-leak testing... no checking whether to build cppunit tests using valgrind support... no checking whether to build SNMP drivers... yes checking whether to pre-set warnings (from 'auto')... "clang-medium" checking whether to make warnings fatal... "no" checking for string.h... (cached) yes checking whether we should disable string built-ins... no, this does not solve the problem or is not supported checking for arpa/inet.h... (cached) yes checking whether we should disable htonl/ntohl built-ins... no, this does not solve the problem or is not supported checking for top build dir for this configure run... "/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0" checking whether to customize /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/systemd/nut-common.tmpfiles.in for this system... done configure: Generating "data" files from templates, see below for executable scripts configure: Generating templated script files that should be marked executable configure: Generating templated script files whose templates might have been generated (or not) by autogen.sh calling our helper scripts checking whether to generate scripts/augeas/nutupsconf.aug... yes checking whether to generate scripts/udev/nut-usbups.rules... yes checking whether to generate scripts/devd/nut-usb.conf... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating clients/Makefile config.status: creating common/Makefile config.status: creating conf/Makefile config.status: creating conf/upsmon.conf.sample config.status: creating conf/upssched.conf.sample config.status: creating data/html/header.html config.status: creating data/html/Makefile config.status: creating data/Makefile config.status: creating data/driver.list config.status: creating docs/Makefile config.status: creating docs/cables/Makefile config.status: creating docs/docinfo.xml config.status: creating docs/man/Makefile config.status: creating drivers/Makefile config.status: creating include/Makefile config.status: creating lib/libupsclient-config config.status: creating lib/libupsclient.pc config.status: creating lib/libnutclient.pc config.status: creating lib/libnutclientstub.pc config.status: creating lib/libnutscan.pc config.status: creating lib/Makefile config.status: creating scripts/Aix/nut-aix.spec config.status: creating scripts/augeas/Makefile config.status: creating scripts/augeas/nutnutconf.aug config.status: creating scripts/augeas/nutupsdconf.aug config.status: creating scripts/augeas/nutupsdusers.aug config.status: creating scripts/augeas/nutupsmonconf.aug config.status: creating scripts/augeas/nutupsschedconf.aug config.status: creating scripts/augeas/nuthostsconf.aug config.status: creating scripts/augeas/nutupssetconf.aug config.status: creating scripts/avahi/nut.service config.status: creating scripts/devd/Makefile config.status: creating scripts/hotplug/Makefile config.status: creating scripts/hotplug/libhidups config.status: creating scripts/HP-UX/nut.psf config.status: creating scripts/python/Makefile config.status: creating scripts/python/module/PyNUT.py config.status: creating scripts/upsdrvsvcctl/Makefile config.status: creating scripts/systemd/Makefile config.status: creating scripts/systemd/nut-common.tmpfiles config.status: creating scripts/systemd/nut-driver@.service config.status: creating scripts/systemd/nut-monitor.service config.status: creating scripts/systemd/nut-server.service config.status: creating scripts/systemd/nut-driver-enumerator.service config.status: creating scripts/systemd/nut-driver-enumerator.path config.status: creating scripts/Solaris/nut-driver-enumerator.xml config.status: creating scripts/Solaris/nut-driver.xml config.status: creating scripts/Solaris/nut-monitor.xml config.status: creating scripts/Solaris/nut-server.xml config.status: creating scripts/Solaris/nut.xml config.status: creating scripts/Solaris/Makefile config.status: creating scripts/Solaris/pkginfo config.status: creating scripts/udev/Makefile config.status: creating scripts/udev/nut-ipmipsu.rules config.status: creating scripts/ufw/Makefile config.status: creating scripts/ufw/nut.ufw.profile config.status: creating scripts/Makefile config.status: creating server/Makefile config.status: creating tools/Makefile config.status: creating tools/nut-scanner/Makefile config.status: creating tests/Makefile config.status: creating tests/NIT/Makefile config.status: creating Makefile config.status: creating scripts/Aix/nut.init config.status: creating scripts/HP-UX/postinstall config.status: creating scripts/python/app/NUT-Monitor-py2gtk2 config.status: creating scripts/python/app/NUT-Monitor-py3qt5 config.status: creating scripts/augeas/gen-nutupsconf-aug.py config.status: creating scripts/python/module/test_nutclient.py config.status: creating scripts/upsdrvsvcctl/nut-driver-enumerator.sh config.status: creating scripts/upsdrvsvcctl/upsdrvsvcctl config.status: creating scripts/systemd/nutshutdown config.status: creating scripts/Solaris/svc-nut-server config.status: creating scripts/Solaris/svc-nut-monitor config.status: creating scripts/Solaris/precheck.py config.status: creating scripts/Solaris/preinstall config.status: creating scripts/Solaris/postinstall config.status: creating scripts/Solaris/preremove config.status: creating scripts/Solaris/postremove config.status: creating scripts/Solaris/preproto.pl config.status: creating scripts/Solaris/nut config.status: creating tools/gitlog2changelog.py config.status: creating tools/nut-snmpinfo.py config.status: creating scripts/augeas/nutupsconf.aug config.status: creating scripts/udev/nut-usbups.rules config.status: creating scripts/devd/nut-usb.conf config.status: creating include/config.h config.status: executing depfiles commands config.status: executing libtool commands Configuration summary: ====================== build serial drivers: yes build USB drivers: yes (libusb-1.0) build neon based XML driver: yes enable Avahi support: yes build Powerman PDU client driver: yes build Modbus driver: yes build IPMI driver: no build Mac OS X meta-driver: no build i2c based drivers: no enable SSL support: yes (OpenSSL) enable libwrap (tcp-wrappers) support: yes enable libltdl (Libtool dlopen abstraction) support: yes build nut-scanner: yes build CGI programs: yes build and install documentation: man=auto build specific documentation format(s): no build and install the development files: no build SNMP drivers: yes ------------------ Compiler settings: CC :cc CFLAGS :-isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error CXX :c++ CXXFLAGS :-isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error CPP :cpp CPPFLAGS : =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Building for nut-2.8.0_24 gmake[1]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' Making all in include gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' NUT_VERSION: "2.8.0" test -f "nut_version.h" || cp "nut_version.h.tmp" "nut_version.h" cmp -s "nut_version.h.tmp" "nut_version.h" || cp "nut_version.h.tmp" "nut_version.h" rm -f "nut_version.h.tmp" gmake all-am gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' Making all in common gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake all-am gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' depbase=`echo parseconf.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT parseconf.lo -MD -MP -MF $depbase.Tpo -c -o parseconf.lo parseconf.c &&\ mv -f $depbase.Tpo $depbase.Plo depbase=`echo state.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT state.lo -MD -MP -MF $depbase.Tpo -c -o state.lo state.c &&\ mv -f $depbase.Tpo $depbase.Plo depbase=`echo str.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT str.lo -MD -MP -MF $depbase.Tpo -c -o str.lo str.c &&\ mv -f $depbase.Tpo $depbase.Plo depbase=`echo upsconf.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsconf.lo -MD -MP -MF $depbase.Tpo -c -o upsconf.lo upsconf.c &&\ mv -f $depbase.Tpo $depbase.Plo depbase=`echo common.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT common.lo -MD -MP -MF $depbase.Tpo -c -o common.lo common.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT state.lo -MD -MP -MF .deps/state.Tpo -c state.c -fPIC -DPIC -o .libs/state.o libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT str.lo -MD -MP -MF .deps/str.Tpo -c str.c -fPIC -DPIC -o .libs/str.o libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsconf.lo -MD -MP -MF .deps/upsconf.Tpo -c upsconf.c -fPIC -DPIC -o .libs/upsconf.o upsconf.c:40:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((arg[0][0] == '[') && (arg[0][strlen(arg[0])-1] == ']')) { ^~~~~~ upsconf.c:44:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] arg[0][strlen(arg[0])-1] = '\0'; ^~~~~~ upsconf.c:45:26: warning: unsafe buffer access [-Wunsafe-buffer-usage] ups_section = xstrdup(&arg[0][1]); ^~~~~~ upsconf.c:34:46: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void conf_args(size_t numargs, char **arg) ~~~~~~~^~~ upsconf.c:59:14: note: used in buffer access here if (!strcmp(arg[1], "=")) { ^~~ upsconf.c:60:40: note: used in buffer access here do_upsconf_args(ups_section, arg[0], arg[2]); ^~~ 4 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsconf.lo -MD -MP -MF .deps/upsconf.Tpo -c upsconf.c -o upsconf.o >/dev/null 2>&1 state.c:409:79: warning: 'flag' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void state_setflags(st_tree_t *root, const char *var, size_t numflags, char **flag) ~~~~~~~^~~~ state.c:427:19: note: used in buffer access here if (!strcasecmp(flag[i], "RW")) { ^~~~ state.c:432:19: note: used in buffer access here if (!strcasecmp(flag[i], "STRING")) { ^~~~ state.c:437:19: note: used in buffer access here if (!strcasecmp(flag[i], "NUMBER")) { ^~~~ state.c:442:42: note: used in buffer access here upsdebugx(2, "Unrecognized flag [%s]", flag[i]); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ 1 warning generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT state.lo -MD -MP -MF .deps/state.Tpo -c state.c -o state.o >/dev/null 2>&1 str.c:57:25: warning: 'string' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *str_ltrim_m(char *string, const char *characters) ~~~~~~^~~~~~ str.c:71:19: note: used in pointer arithmetic here memmove(string, string + 1, strlen(string)); ^~~~~~ str.c:83:25: warning: 'string' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *str_rtrim_m(char *string, const char *characters) ~~~~~~^~~~~~ str.c:95:9: note: used in buffer access here ptr = &string[strlen(string) - 1]; ^~~~~~ str.c:85:8: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ptr; ~~~~~~~~~^~~ str.c:101:4: note: used in pointer arithmetic here *ptr-- = '\0'; ^~~ str.c:111:29: warning: 'string' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *str_ltrim_space(char *string) ~~~~~~^~~~~~ str.c:123:19: note: used in pointer arithmetic here memmove(string, string + 1, strlen(string)); ^~~~~~ str.c:128:29: warning: 'string' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *str_rtrim_space(char *string) ~~~~~~^~~~~~ str.c:138:9: note: used in buffer access here ptr = &string[strlen(string) - 1]; ^~~~~~ str.c:130:8: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ptr; ~~~~~~~~~^~~ str.c:144:4: note: used in pointer arithmetic here *ptr-- = '\0'; ^~~ str.c:628:41: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] return (slen >= sufflen) && (!memcmp(s + slen - sufflen, suff, sufflen)); ~~^~~~~~ str.c:618:31: warning: 's' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int str_ends_with(const char *s, const char *suff) { ~~~~~~~~~~~~^ str.c:628:39: note: used in pointer arithmetic here return (slen >= sufflen) && (!memcmp(s + slen - sufflen, suff, sufflen)); ^ 8 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT common.lo -MD -MP -MF .deps/common.Tpo -c common.c -fPIC -DPIC -o .libs/common.o libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT str.lo -MD -MP -MF .deps/str.Tpo -c str.c -o str.o >/dev/null 2>&1 libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT parseconf.lo -MD -MP -MF .deps/parseconf.Tpo -c parseconf.c -fPIC -DPIC -o .libs/parseconf.o parseconf.c:146:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx->arglist[argpos] = NULL; ^~~~~~~~~~~~ parseconf.c:147:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx->argsize[argpos] = 0; ^~~~~~~~~~~~ parseconf.c:153:17: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (wbuflen >= ctx->argsize[argpos]) { ^~~~~~~~~~~~ parseconf.c:160:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx->arglist[argpos] = realloc(ctx->arglist[argpos], newlen); ^~~~~~~~~~~~ parseconf.c:160:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx->arglist[argpos] = realloc(ctx->arglist[argpos], newlen); ^~~~~~~~~~~~ parseconf.c:162:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!ctx->arglist[argpos]) ^~~~~~~~~~~~ parseconf.c:166:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx->argsize[argpos] = newlen; ^~~~~~~~~~~~ parseconf.c:170:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] memset(ctx->arglist[argpos], '\0', ctx->argsize[argpos]); ^~~~~~~~~~~~ parseconf.c:170:37: warning: unsafe buffer access [-Wunsafe-buffer-usage] memset(ctx->arglist[argpos], '\0', ctx->argsize[argpos]); ^~~~~~~~~~~~ parseconf.c:173:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] strncpy(ctx->arglist[argpos], ctx->wordbuf, wbuflen); ^~~~~~~~~~~~ parseconf.c:207:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx->wordptr = &ctx->wordbuf[wbuflen]; ^~~~~~~~~~~~ parseconf.c:210:8: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] *ctx->wordptr++ = (char)ctx->ch; ~~~~~^~~~~~~ parseconf.c:388:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] free(ctx->arglist[i]); ^~~~~~~~~~~~ parseconf.c:555:46: warning: 'line' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int pconf_line(PCONF_CTX_t *ctx, const char *line) ~~~~~~~~~~~~^~~~ parseconf.c:571:13: note: used in buffer access here ctx->ch = line[i]; ^~~~ parseconf.c:593:32: warning: 'src' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *pconf_encode(const char *src, char *dest, size_t destsize) ~~~~~~~~~~~~^~~ parseconf.c:608:28: note: used in buffer access here if (strchr(PCONF_ESCAPE, src[i])) { ^~~ parseconf.c:621:21: note: used in buffer access here dest[destlen++] = src[i]; ^~~ parseconf.c:593:43: warning: 'dest' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *pconf_encode(const char *src, char *dest, size_t destsize) ~~~~~~^~~~ parseconf.c:614:4: note: used in buffer access here dest[destlen++] = '\\'; ^~~~ parseconf.c:621:3: note: used in buffer access here dest[destlen++] = src[i]; ^~~~ 16 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT parseconf.lo -MD -MP -MF .deps/parseconf.Tpo -c parseconf.c -o parseconf.o >/dev/null 2>&1 common.c:56:20: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] pid_t get_max_pid_t() ^ void common.c:401:23: warning: 'dst' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int snprintfcat(char *dst, size_t size, const char *fmt, ...) ~~~~~~^~~ common.c:425:18: note: used in pointer arithmetic here ret = vsnprintf(dst + len, size - len, fmt, ap); ^~~ common.c:431:2: note: used in buffer access here dst[size] = '\0'; ^~~ common.c:462:14: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *p = strrchr(file, '/'); ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ common.c:466:9: note: used in pointer arithmetic here return p + 1; ^ common.c:742:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] ((const unsigned char *)buf)[i]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ common.c:805:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] ch = ((const unsigned char *)buf)[i]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ common.c:755:20: warning: 'ascii_symb' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char* ascii_symb[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ common.c:808:48: note: used in buffer access here n = snprintfcat(line, sizeof(line), "%3s ", ascii_symb[ch]); ^~~~~~~~~~ common.c:939:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&fds); ^~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ common.c:940:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(fd, &fds); ^~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ common.c:963:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&fds); ^~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ common.c:964:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(fd, &fds); ^~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ common.c:1065:8: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int compres = strncmp(dirp->d_name, base_libname, base_libname_length); ^ common.c:993:21: warning: 'search_paths' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char * search_paths[] = { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ common.c:1054:19: note: used in buffer access here for(index = 0 ; (search_paths[index] != NULL) && (libname_path == NULL) ; index++) ^~~~~~~~~~~~ common.c:1058:21: note: used in buffer access here if ((dp = opendir(search_paths[index])) == NULL) ^~~~~~~~~~~~ common.c:1061:80: note: used in buffer access here upsdebugx(2,"Looking for lib %s in directory #%d : %s", base_libname, index, search_paths[index]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ common.c:1067:52: note: used in buffer access here snprintf(current_test_path, LARGEBUF, "%s/%s", search_paths[index], dirp->d_name); ^~~~~~~~~~~~ 12 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT common.lo -MD -MP -MF .deps/common.Tpo -c common.c -o common.o >/dev/null 2>&1 /bin/sh ../libtool --tag=CC --mode=link cc -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o libparseconf.la parseconf.lo -lpthread libtool: link: /usr/bin/ar cr .libs/libparseconf.a .libs/parseconf.o libtool: link: ranlib .libs/libparseconf.a libtool: link: ( cd ".libs" && rm -f "libparseconf.la" && ln -s "../libparseconf.la" "libparseconf.la" ) /bin/sh ../libtool --tag=CC --mode=link cc -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o libcommon.la state.lo str.lo upsconf.lo common.lo libparseconf.la -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o libcommonclient.la state.lo str.lo common.lo libparseconf.la -lpthread libtool: link: (cd .libs/libcommonclient.lax/libparseconf.a && /usr/bin/ar x "/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common/./.libs/libparseconf.a") libtool: link: (cd .libs/libcommon.lax/libparseconf.a && /usr/bin/ar x "/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common/./.libs/libparseconf.a") libtool: link: /usr/bin/ar cr .libs/libcommonclient.a .libs/state.o .libs/str.o .libs/common.o .libs/libcommonclient.lax/libparseconf.a/parseconf.o libtool: link: ranlib .libs/libcommonclient.a libtool: link: rm -fr .libs/libcommonclient.lax libtool: link: /usr/bin/ar cr .libs/libcommon.a .libs/state.o .libs/str.o .libs/upsconf.o .libs/common.o .libs/libcommon.lax/libparseconf.a/parseconf.o libtool: link: ranlib .libs/libcommon.a libtool: link: rm -fr .libs/libcommon.lax libtool: link: ( cd ".libs" && rm -f "libcommonclient.la" && ln -s "../libcommonclient.la" "libcommonclient.la" ) libtool: link: ( cd ".libs" && rm -f "libcommon.la" && ln -s "../libcommon.la" "libcommon.la" ) gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' Making all in clients gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' depbase=`echo upsc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsc.o -MD -MP -MF $depbase.Tpo -c -o upsc.o upsc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo upsclient.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsclient.lo -MD -MP -MF $depbase.Tpo -c -o upsclient.lo upsclient.c &&\ mv -f $depbase.Tpo $depbase.Plo gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: 'libcommon.la' is up to date. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' depbase=`echo upslog.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upslog.o -MD -MP -MF $depbase.Tpo -c -o upslog.o upslog.c &&\ mv -f $depbase.Tpo $depbase.Po gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: 'libcommonclient.la' is up to date. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' depbase=`echo upsrw.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsrw.o -MD -MP -MF $depbase.Tpo -c -o upsrw.o upsrw.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo upscmd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upscmd.o -MD -MP -MF $depbase.Tpo -c -o upscmd.o upscmd.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo upsstats.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsstats.o -MD -MP -MF $depbase.Tpo -c -o upsstats.o upsstats.c &&\ mv -f $depbase.Tpo $depbase.Po libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsclient.lo -MD -MP -MF .deps/upsclient.Tpo -c upsclient.c -fPIC -DPIC -o .libs/upsclient.o upsc.c:63:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsc.c:72:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsc.c:73:2: note: used in buffer access here query[2] = var; ^~~~~ upsc.c:64:10: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~~~~~~~~~^~~~~~ upsc.c:93:17: note: used in buffer access here printf("%s\n", answer[3]); ^~~~~~ upsc.c:100:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsc.c:104:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsc.c:101:10: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~~~~~~~~~^~~~~~ upsc.c:126:33: note: used in buffer access here printf("%s: %s\n", answer[2], answer[3]); ^~~~~~ upsc.c:126:22: note: used in buffer access here printf("%s: %s\n", answer[2], answer[3]); ^~~~~~ upsc.c:135:10: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~~~~~~~~~^~~~~~ upsc.c:161:19: note: used in buffer access here printf("%s\n", answer[1]); ^~~~~~ upsc.c:159:23: note: used in buffer access here printf("%s: %s\n", answer[1], answer[2]); ^~~~~~ upsc.c:159:34: note: used in buffer access here printf("%s: %s\n", answer[1], answer[2]); ^~~~~~ upsc.c:170:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsc.c:174:2: note: used in buffer access here query[1] = devname; ^~~~~ upsc.c:171:10: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~~~~~~~~~^~~~~~ upsc.c:195:18: note: used in buffer access here printf("%s\n", answer[2]); ^~~~~~ upsc.c:210:27: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int main(int argc, char **argv) ~~~~~~~^~~~ upsc.c:278:12: note: used in buffer access here printvar(argv[1]); ^~~~ upsc.c:246:2: note: used in pointer arithmetic here argv += optind; ^~~~ 8 warnings generated. depbase=`echo cgilib.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT cgilib.o -MD -MP -MF $depbase.Tpo -c -o cgilib.o cgilib.c &&\ mv -f $depbase.Tpo $depbase.Po upslog.c:206:27: warning: 'format' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char timebuf[SMALLBUF], *format; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ upslog.c:214:7: note: used in buffer access here if (format[i] == '@') ^~~~~~ upslog.c:215:4: note: used in buffer access here format[i] = '%'; ^~~~~~ upslog.c:229:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upslog.c:233:2: note: used in buffer access here query[1] = upsname; ^~~~~ upslog.c:234:2: note: used in buffer access here query[2] = var; ^~~~~ upslog.c:230:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upslog.c:244:50: note: used in buffer access here snprintfcat(logbuffer, sizeof(logbuffer), "%s", answer[3]); ^~~~~~ In file included from upslog.c:41: ./upslog.h:32:3: warning: 'logcmds' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } logcmds[] = ~~~~~~~~^~~~~~~~~~~ upslog.c:368:15: note: used in buffer access here for (j = 0; logcmds[j].name != NULL; j++) { ^~~~~~~ upslog.c:369:25: note: used in buffer access here if (strncasecmp(cmd, logcmds[j].name, ^~~~~~~ upslog.c:370:12: note: used in buffer access here strlen(logcmds[j].name)) == 0) { ^~~~~~~ upslog.c:372:14: note: used in buffer access here add_call(logcmds[j].func, arg); ^~~~~~~ upslog.c:49:36: warning: 'logformat' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char logbuffer[LARGEBUF], *logformat; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ upslog.c:323:7: note: used in buffer access here if (logformat[i] != '%') { ^~~~~~~~~ upslog.c:334:7: note: used in buffer access here if (logformat[i+1] == '%') { ^~~~~~~~~ upslog.c:327:37: note: used in buffer access here snprintf(buf, sizeof(buf), "%c", logformat[i]); ^~~~~~~~~ upslog.c:344:18: note: used in buffer access here cmd = xstrdup(&logformat[i+1]); ^~~~~~~~~ upslog.c:318:14: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *cmd, *arg, *ptr; ~~~~~~~~~~~~~~~^~~ upslog.c:362:5: note: used in pointer arithmetic here *arg++ = '\0'; ^~~ upslog.c:418:9: warning: variable 'monhost_len' set but not used [-Wunused-but-set-variable] size_t monhost_len = 0; ^ upslog.c:415:27: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int main(int argc, char **argv) ~~~~~~~^~~~ upslog.c:515:11: note: used in buffer access here logfn = argv[1]; ^~~~ upslog.c:503:2: note: used in pointer arithmetic here argv += optind; ^~~~ upslog.c:516:19: note: used in buffer access here interval = atoi(argv[2]); ^~~~ upslog.c:526:44: note: used in buffer access here snprintfcat(logformat, LARGEBUF, "%s ", argv[i]); ^~~~ 8 warnings generated. depbase=`echo upsimage.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsimage.o -MD -MP -MF $depbase.Tpo -c -o upsimage.o upsimage.c &&\ mv -f $depbase.Tpo $depbase.Po upscmd.c:69:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upscmd.c:73:2: note: used in buffer access here query[1] = upsname; ^~~~~ upscmd.c:74:2: note: used in buffer access here query[2] = cmdname; ^~~~~ upscmd.c:70:10: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~~~~~~~~~^~~~~~ upscmd.c:85:31: note: used in buffer access here printf("%s - %s\n", cmdname, answer[3]); ^~~~~~ upscmd.c:92:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upscmd.c:97:2: note: used in buffer access here query[1] = upsname; ^~~~~ upscmd.c:93:10: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~~~~~~~~~^~~~~~ upscmd.c:123:24: note: used in buffer access here ltmp->name = xstrdup(answer[2]); ^~~~~~ upscmd.c:156:27: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void do_cmd(char **argv, const int argc) ~~~~~~~^~~~ upscmd.c:164:70: note: used in buffer access here snprintf(buf, sizeof(buf), "INSTCMD %s %s %s\n", upsname, argv[0], argv[1]); ^~~~ upscmd.c:159:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ upscmd.c:203:76: note: used in pointer arithmetic here assert (UUID4_LEN == 1 + snprintf(tracking_id, sizeof(tracking_id), "%s", buf + strlen("OK TRACKING "))); ^~~ /usr/include/assert.h:55:21: note: expanded from macro 'assert' #define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, \ ^ upscmd.c:271:27: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int main(int argc, char **argv) ~~~~~~~^~~~ upscmd.c:352:14: note: used in buffer access here if (!strchr(argv[1], '.')) { ^~~~ upscmd.c:321:2: note: used in pointer arithmetic here argv += optind; ^~~~ upscmd.c:444:10: note: used in buffer access here do_cmd(&argv[1], argc - 1); ^~~~ upscmd.c:277:26: warning: 'username' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF * 2], username[SMALLBUF], password[SMALLBUF]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ upscmd.c:374:4: note: used in buffer access here username[strlen(username) - 1] = '\0'; ^~~~~~~~ 8 warnings generated. depbase=`echo upsset.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsset.o -MD -MP -MF $depbase.Tpo -c -o upsset.o upsset.c &&\ mv -f $depbase.Tpo $depbase.Po upsrw.c:89:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF], enc[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ upsrw.c:129:76: note: used in pointer arithmetic here assert (UUID4_LEN == 1 + snprintf(tracking_id, sizeof(tracking_id), "%s", buf + strlen("OK TRACKING "))); ^~~ /usr/include/assert.h:55:21: note: expanded from macro 'assert' #define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, \ ^ upsrw.c:188:7: warning: 'newval' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char newval[SMALLBUF], temp[SMALLBUF * 2], user[SMALLBUF], *ptr; ~~~~~~~~^~~~~~~~~~~~~~~~ upsrw.c:239:3: note: used in buffer access here newval[strlen(newval) - 1] = '\0'; ^~~~~~ upsrw.c:188:45: warning: 'user' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char newval[SMALLBUF], temp[SMALLBUF * 2], user[SMALLBUF], *ptr; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ upsrw.c:210:4: note: used in buffer access here user[strlen(user) - 1] = '\0'; ^~~~ upsrw.c:188:62: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char newval[SMALLBUF], temp[SMALLBUF * 2], user[SMALLBUF], *ptr; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ upsrw.c:231:4: note: used in pointer arithmetic here *ptr++ = 0; ^~~ upsrw.c:303:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsrw.c:319:9: note: used in buffer access here return answer[3]; ^~~~~~ upsrw.c:304:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsrw.c:307:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsrw.c:308:2: note: used in buffer access here query[2] = varname; ^~~~~ upsrw.c:361:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer, buf[SMALLBUF]; ~~~~~~~~~~^~~~~~ upsrw.c:403:28: note: used in buffer access here printf("Option: \"%s\"", answer[3]); ^~~~~~ upsrw.c:405:15: note: used in buffer access here if (!strcmp(answer[3], buf)) { ^~~~~~ upsrw.c:362:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4], *val; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsrw.c:374:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsrw.c:375:2: note: used in buffer access here query[2] = varname; ^~~~~ upsrw.c:419:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsrw.c:456:14: note: used in buffer access here min = atoi(answer[3]); ^~~~~~ upsrw.c:457:14: note: used in buffer access here max = atoi(answer[4]); ^~~~~~ upsrw.c:420:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4], *val; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsrw.c:433:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsrw.c:434:2: note: used in buffer access here query[2] = varname; ^~~~~ upsrw.c:508:16: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] char *len = answer[i] + 7; ^~~~~~~~~ upsrw.c:476:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsrw.c:496:19: note: used in buffer access here if (!strcasecmp(answer[i], "ENUM")) { ^~~~~~ upsrw.c:501:19: note: used in buffer access here if (!strcasecmp(answer[i], "RANGE")) { ^~~~~~ upsrw.c:506:20: note: used in buffer access here if (!strncasecmp(answer[i], "STRING:", 7)) { ^~~~~~ upsrw.c:508:16: note: used in buffer access here char *len = answer[i] + 7; ^~~~~~ upsrw.c:519:19: note: used in buffer access here if (!strcasecmp(answer[i], "NUMBER")) { ^~~~~~ upsrw.c:528:19: note: used in buffer access here if (!strcasecmp(answer[i], "RW")) { ^~~~~~ upsrw.c:532:39: note: used in buffer access here printf("Type: %s (unrecognized)\n", answer[i]); ^~~~~~ upsrw.c:477:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsrw.c:480:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsrw.c:481:2: note: used in buffer access here query[2] = varname; ^~~~~ upsrw.c:563:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[2]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsrw.c:575:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsrw.c:564:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsrw.c:602:24: note: used in buffer access here ltmp->name = xstrdup(answer[2]); ^~~~~~ upsrw.c:631:27: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int main(int argc, char **argv) ~~~~~~~^~~~ upsrw.c:674:2: note: used in pointer arithmetic here argv += optind; ^~~~ 16 warnings generated. depbase=`echo upsmon.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsmon.o -MD -MP -MF $depbase.Tpo -c -o upsmon.o upsmon.c &&\ mv -f $depbase.Tpo $depbase.Po cgilib.c:51:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] long l = strtol(hex, NULL, 16); ^ cgilib.c:26:29: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char *unescape(char *buf) ~~~~~~^~~ cgilib.c:37:8: note: used in buffer access here ch = buf[i]; ^~~ cgilib.c:45:13: note: used in buffer access here hex[0] = buf[++i]; ^~~ cgilib.c:46:13: note: used in buffer access here hex[1] = buf[++i]; ^~~ cgilib.c:29:20: warning: 'hex' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char ch, *newbuf, hex[8]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~ cgilib.c:46:4: note: used in buffer access here hex[1] = buf[++i]; ^~~ cgilib.c:49:34: note: used in buffer access here || !isxdigit((unsigned char) hex[1])) ^~~ /usr/include/ctype.h:99:33: note: expanded from macro 'isxdigit' #define isxdigit(c) __sbistype((c), _CTYPE_X) ^ cgilib.c:47:4: note: used in buffer access here hex[2] = '\0'; ^~~ cgilib.c:68:16: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *query, *ptr, *eq, *varname, *value, *amp; ~~~~~~~~~~~~~~~~~^~~ cgilib.c:87:6: note: used in pointer arithmetic here *ptr++ = '\0'; ^~~ cgilib.c:68:22: warning: 'eq' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *query, *ptr, *eq, *varname, *value, *amp; ~~~~~~~~~~~~~~~~~~~~~~~^~ cgilib.c:97:11: note: used in pointer arithmetic here value = eq + 1; ^~ cgilib.c:68:45: warning: 'amp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *query, *ptr, *eq, *varname, *value, *amp; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cgilib.c:100:10: note: used in pointer arithmetic here ptr = amp + 1; ^~~ cgilib.c:116:23: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char buf[SMALLBUF], *ptr, *cleanval; ~~~~~~~~~~~~~~~~~~~~~~~~^~~ cgilib.c:128:6: note: used in pointer arithmetic here *ptr++ = '\0'; ^~~ cgilib.c:146:5: note: used in pointer arithmetic here *ptr++ = '\0'; ^~~ cgilib.c:193:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!strcmp(ctx.arglist[1], host)) { ^~~~~~~~~~~ cgilib.c:195:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] *desc = xstrdup(ctx.arglist[2]); ^~~~~~~~~~~ 9 warnings generated. depbase=`echo upssched.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upssched.o -MD -MP -MF $depbase.Tpo -c -o upssched.o upssched.c &&\ mv -f $depbase.Tpo $depbase.Po upsset.c:62:8: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ptr; ~~~~~~~~~^~~ upsset.c:82:3: note: used in pointer arithmetic here ptr++; ^~~ upsset.c:167:48: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void upslist_arg(size_t numargs, char **arg) ~~~~~~~^~~ upsset.c:174:34: note: used in buffer access here printf("\n", arg[2]); ^~~ upsset.c:355:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsset.c:370:52: note: used in buffer access here printf("\n", cmd, answer[3]); ^~~~~~ upsset.c:356:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsset.c:359:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsset.c:360:2: note: used in buffer access here query[2] = cmd; ^~~~~ upsset.c:378:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[2]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsset.c:392:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsset.c:379:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsset.c:420:24: note: used in buffer access here ltmp->name = xstrdup(answer[2]); ^~~~~~ upsset.c:622:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsset.c:636:9: note: used in buffer access here return answer[3]; ^~~~~~ upsset.c:623:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsset.c:626:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsset.c:627:2: note: used in buffer access here query[2] = varname; ^~~~~ upsset.c:660:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer, *val; ~~~~~~~~~~^~~~~~ upsset.c:707:35: note: used in buffer access here printf("\n", answer[3]); ^~~~~~ upsset.c:661:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4], *tmp; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsset.c:678:2: note: used in buffer access here query[2] = varname; ^~~~~ upsset.c:677:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsset.c:754:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] long l = strtol(ptr, (char **) NULL, 10); ^ upsset.c:725:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsset.c:752:17: note: used in buffer access here ptr = strchr(answer[i], ':'); ^~~~~~ upsset.c:743:19: note: used in buffer access here if (!strcasecmp(answer[i], "ENUM")) { ^~~~~~ upsset.c:748:20: note: used in buffer access here if (!strncasecmp(answer[i], "STRING:", 7)) { ^~~~~~ upsset.c:763:19: note: used in buffer access here if (!strcasecmp(answer[i], "RW")) ^~~~~~ upsset.c:726:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsset.c:729:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsset.c:730:2: note: used in buffer access here query[2] = varname; ^~~~~ upsset.c:749:10: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ptr, len; ~~~~~~~~~^~~ upsset.c:753:5: note: used in pointer arithmetic here *ptr++ = '\0'; ^~~ upsset.c:803:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[2]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsset.c:814:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsset.c:804:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer, *desc = NULL; ~~~~~~~~~~^~~~~~ upsset.c:838:24: note: used in buffer access here ltmp->name = xstrdup(answer[2]); ^~~~~~ upsset.c:1085:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&fds); ^~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ upsset.c:1086:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(STDIN_FILENO, &fds); ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ 18 warnings generated. gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: 'libparseconf.la' is up to date. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' depbase=`echo nutclient.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CXX --mode=compile c++ -DHAVE_CONFIG_H -I. -I../include -DHAVE_NUTCOMMON=1 -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error -MT nutclient.lo -MD -MP -MF $depbase.Tpo -c -o nutclient.lo nutclient.cpp &&\ mv -f $depbase.Tpo $depbase.Plo In file included from upsimage.c:47: ./upsimagearg.h:38:3: warning: 'imgarg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } imgarg[] = ~~~~~~~~^~~~~~~~~~ upsimage.c:83:14: note: used in buffer access here for (i = 0; imgarg[i].name != NULL; i++) { ^~~~~~ upsimage.c:84:15: note: used in buffer access here if (!strcmp(imgarg[i].name, var)) { ^~~~~~ upsimage.c:92:21: note: used in buffer access here imgarg[i].val = imgarg[i].min; ^~~~~~ upsimage.c:91:12: note: used in buffer access here if (v < imgarg[i].min) ^~~~~~ upsimage.c:92:5: note: used in buffer access here imgarg[i].val = imgarg[i].min; ^~~~~~ upsimage.c:93:17: note: used in buffer access here else if (v > imgarg[i].max) ^~~~~~ upsimage.c:94:5: note: used in buffer access here imgarg[i].val = imgarg[i].max; ^~~~~~ upsimage.c:94:21: note: used in buffer access here imgarg[i].val = imgarg[i].max; ^~~~~~ upsimage.c:98:5: note: used in buffer access here imgarg[i].val = (int)v; ^~~~~~ upsimage.c:62:32: warning: 'value' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void parsearg(char *var, char *value) ~~~~~~^~~~~ upsimage.c:86:28: note: used in pointer arithmetic here v = (long long)strtoul(value + 2, (char **)NULL, 16); ^~~~~ In file included from upsimage.c:47: ./upsimagearg.h:38:3: warning: 'imgarg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } imgarg[] = ~~~~~~~~^~~~~~~~~~ upsimage.c:110:14: note: used in buffer access here for (i = 0; imgarg[i].name != NULL; i++) ^~~~~~ upsimage.c:111:15: note: used in buffer access here if (!strcmp(imgarg[i].name, name)) ^~~~~~ upsimage.c:112:11: note: used in buffer access here return imgarg[i].val; ^~~~~~ upsimage.c:595:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsimage.c:599:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsimage.c:600:2: note: used in buffer access here query[2] = var; ^~~~~ upsimage.c:596:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsimage.c:612:30: note: used in buffer access here snprintf(buf, buflen, "%s", answer[3]); ^~~~~~ In file included from upsimage.c:47: ./upsimagearg.h:73:17: warning: 'imgvar' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern imgvar_t imgvar[]; ~~~~~~~~~~~~~~~~^~~~~~~~ upsimage.c:650:14: note: used in buffer access here for (i = 0; imgvar[i].name; i++) ^~~~~~ upsimage.c:651:20: note: used in buffer access here if (!strcmp(cmd, imgvar[i].name)) { ^~~~~~ upsimage.c:655:9: note: used in buffer access here if (!imgvar[i].drawfunc) { ^~~~~~ upsimage.c:681:8: note: used in buffer access here if (imgvar[i].minimum) { ^~~~~~ upsimage.c:663:16: note: used in buffer access here if (get_var(imgvar[i].name, str, sizeof(str)) == 1) { ^~~~~~ upsimage.c:668:6: note: used in buffer access here imgvar[i].name); ^~~~~~ upsimage.c:682:17: note: used in buffer access here if (get_var(imgvar[i].minimum, str, ^~~~~~ upsimage.c:686:23: note: used in buffer access here min = get_imgarg(imgvar[i].minimum); ^~~~~~ upsimage.c:694:8: note: used in buffer access here if (imgvar[i].nominal) { ^~~~~~ upsimage.c:695:17: note: used in buffer access here if (get_var(imgvar[i].nominal, str, ^~~~~~ upsimage.c:699:23: note: used in buffer access here nom = get_imgarg(imgvar[i].nominal); ^~~~~~ upsimage.c:707:8: note: used in buffer access here if (imgvar[i].maximum) { ^~~~~~ upsimage.c:708:17: note: used in buffer access here if (get_var(imgvar[i].maximum, str, ^~~~~~ upsimage.c:712:23: note: used in buffer access here max = get_imgarg(imgvar[i].maximum); ^~~~~~ upsimage.c:719:4: note: used in buffer access here imgvar[i].drawfunc(var, min, nom, max, ^~~~~~ upsimage.c:720:5: note: used in buffer access here imgvar[i].deviation, imgvar[i].format); ^~~~~~ upsimage.c:720:26: note: used in buffer access here imgvar[i].deviation, imgvar[i].format); ^~~~~~ 6 warnings generated. depbase=`echo nutclientmem.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CXX --mode=compile c++ -DHAVE_CONFIG_H -I. -I../include -DHAVE_NUTCOMMON=1 -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error -MT nutclientmem.lo -MD -MP -MF $depbase.Tpo -c -o nutclientmem.lo nutclientmem.cpp &&\ mv -f $depbase.Tpo $depbase.Plo upssched.c:244:13: warning: 'pipefd' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static int pipefd[2]; ~~~~~~~~~~~~~~~~^~~~~~~~~ upssched.c:259:10: note: used in buffer access here close(pipefd[1]); ^~~~~~ upssched.c:263:10: note: used in buffer access here close(pipefd[1]); ^~~~~~ upssched.c:453:17: warning: unsafe buffer access [-Wunsafe-buffer-usage] cancel_timer(conn->ctx.arglist[1], NULL); ^~~~~~~~~~~~~~~~~ upssched.c:455:17: warning: unsafe buffer access [-Wunsafe-buffer-usage] cancel_timer(conn->ctx.arglist[1], conn->ctx.arglist[2]); ^~~~~~~~~~~~~~~~~ upssched.c:455:39: warning: unsafe buffer access [-Wunsafe-buffer-usage] cancel_timer(conn->ctx.arglist[1], conn->ctx.arglist[2]); ^~~~~~~~~~~~~~~~~ upssched.c:466:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] start_timer(conn->ctx.arglist[1], conn->ctx.arglist[2]); ^~~~~~~~~~~~~~~~~ upssched.c:466:37: warning: unsafe buffer access [-Wunsafe-buffer-usage] start_timer(conn->ctx.arglist[1], conn->ctx.arglist[2]); ^~~~~~~~~~~~~~~~~ upssched.c:475:47: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void log_unknown(size_t numarg, char **arg) ~~~~~~~^~~ upssched.c:482:39: note: used in buffer access here upslogx(LOG_INFO, "arg %zu: %s", i, arg[i]); ^~~ upssched.c:590:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&rfds); ^~~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ upssched.c:591:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(pipefd, &rfds); ^~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ upssched.c:596:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(tmp->fd, &rfds); ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ upssched.c:606:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (FD_ISSET(pipefd, &rfds)) ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:83:26: note: expanded from macro 'FD_ISSET' #define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) ^~~~~~~~~~~~~~~ upssched.c:614:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (FD_ISSET(tmp->fd, &rfds)) { ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:83:26: note: expanded from macro 'FD_ISSET' #define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) ^~~~~~~~~~~~~~~ upssched.c:768:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&fdread); ^~~~~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ upssched.c:769:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(pipefd, &fdread); ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ upssched.c:865:44: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int conf_arg(size_t numargs, char **arg) ~~~~~~~^~~ upssched.c:896:13: note: used in buffer access here parse_at(arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upssched.c:896:21: note: used in buffer access here parse_at(arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upssched.c:896:29: note: used in buffer access here parse_at(arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upssched.c:884:20: note: used in buffer access here lockfn = xstrdup(arg[1]); ^~~ upssched.c:872:23: note: used in buffer access here cmdscript = xstrdup(arg[1]); ^~~ upssched.c:878:20: note: used in buffer access here pipefn = xstrdup(arg[1]); ^~~ upssched.c:896:37: note: used in buffer access here parse_at(arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upssched.c:896:45: note: used in buffer access here parse_at(arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upssched.c:898:13: note: used in buffer access here parse_at(arg[1], arg[2], arg[3], arg[4], NULL); ^~~ upssched.c:898:21: note: used in buffer access here parse_at(arg[1], arg[2], arg[3], arg[4], NULL); ^~~ upssched.c:898:29: note: used in buffer access here parse_at(arg[1], arg[2], arg[3], arg[4], NULL); ^~~ upssched.c:898:37: note: used in buffer access here parse_at(arg[1], arg[2], arg[3], arg[4], NULL); ^~~ upssched.c:945:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx.arglist[i]); ^~~~~~~~~~~ 16 warnings generated. /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upssched upssched.o ../common/libcommon.la ../common/libparseconf.la -lpthread upsstats.c:108:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsstats.c:122:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsstats.c:123:2: note: used in buffer access here query[2] = var; ^~~~~ upsstats.c:109:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsstats.c:142:30: note: used in buffer access here snprintf(buf, buflen, "%s", answer[3]); ^~~~~~ In file included from upsstats.c:25: ./status.h:36:3: warning: 'stattab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } stattab[] = ~~~~~~~~^~~~~~~~~~~ upsstats.c:171:22: note: used in buffer access here printf("%s
", stattab[i].desc); ^~~~~~~ upsstats.c:168:15: note: used in buffer access here for (i = 0; stattab[i].name != NULL; i++) { ^~~~~~~ upsstats.c:170:25: note: used in buffer access here if (!strcasecmp(ptr, stattab[i].name)) { ^~~~~~~ In file included from upsstats.c:29: ./upsimagearg.h:38:3: warning: 'imgarg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } imgarg[] = ~~~~~~~~^~~~~~~~~~ upsstats.c:242:14: note: used in buffer access here for (i = 0; imgarg[i].name != NULL; i++) { ^~~~~~ upsstats.c:243:15: note: used in buffer access here if (!strcmp(imgarg[i].name, arg)) { ^~~~~~ upsstats.c:232:8: warning: 'ep' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ep; ~~~~~~~~~^~ upsstats.c:239:3: note: used in pointer arithmetic here *ep++= '\0'; ^~ upsstats.c:257:14: warning: 'sp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ptr, *sp; ~~~~~~~~~~~~~~~^~ upsstats.c:268:4: note: used in pointer arithmetic here *sp++ = '\0'; ^~ upsstats.c:281:15: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *type, *ptr, imgargs[SMALLBUF]; ~~~~~~~~~~~~~~~~^~~ upsstats.c:290:4: note: used in pointer arithmetic here *ptr++ = '\0'; ^~~ upsstats.c:458:38: warning: 'aargs' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int breakargs(char *s, char **aargs) ~~~~~~~^~~~~ upsstats.c:463:2: note: used in buffer access here aargs[i]=NULL; ^~~~~ upsstats.c:466:6: note: used in buffer access here if(aargs[i] == NULL) { ^~~~~ upsstats.c:477:11: note: used in buffer access here for(i=0; aargs[i]; i++); ^~~~~ upsstats.c:467:4: note: used in buffer access here aargs[i] = p; ^~~~~ upsstats.c:468:4: note: used in buffer access here aargs[i+1] = NULL; ^~~~~ upsstats.c:460:8: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p; ~~~~~~~~~^ upsstats.c:465:39: note: used in pointer arithmetic here for(p=s; *p && i<(MAX_PARSE_ARGS-1); p++) { ^ upsstats.c:485:8: warning: 'aa' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *aa[MAX_PARSE_ARGS]; ~~~~~~~~~^~~~~~~~~~~~~~~~~~ upsstats.c:496:19: note: used in buffer access here do_ifsupp(aa[0], aa[1]); ^~ upsstats.c:504:8: warning: 'aa' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *aa[MAX_PARSE_ARGS]; ~~~~~~~~~^~~~~~~~~~~~~~~~~~ upsstats.c:538:15: note: used in buffer access here if (!get_var(aa[2], tmp, sizeof(tmp), 0)) { ^~ upsstats.c:530:15: note: used in buffer access here if (!get_var(aa[1], tmp, sizeof(tmp), 0)) { ^~ In file included from upsstats.c:25: ./status.h:36:3: warning: 'stattab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } stattab[] = ~~~~~~~~^~~~~~~~~~~ upsstats.c:622:16: note: used in buffer access here if (!strcmp(stattab[i].name, sp)) ^~~~~~~ upsstats.c:623:9: note: used in buffer access here if (stattab[i].severity > severity) ^~~~~~~ upsstats.c:621:15: note: used in buffer access here for (i = 0; stattab[i].name != NULL; i++) ^~~~~~~ upsstats.c:624:17: note: used in buffer access here severity = stattab[i].severity; ^~~~~~~ upsstats.c:597:29: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char stat[SMALLBUF], *sp, *ptr; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ upsstats.c:618:5: note: used in pointer arithmetic here *ptr++ = '\0'; ^~~ upsstats.c:637:29: warning: 'cmd' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int do_command(char *cmd) ~~~~~~^~~ upsstats.c:711:18: note: used in buffer access here return do_img(&cmd[4]); ^~~ upsstats.c:667:14: note: used in buffer access here parse_var(&cmd[4]); ^~~ upsstats.c:707:19: note: used in buffer access here return do_date(&cmd[5]); ^~~ upsstats.c:787:12: note: used in buffer access here do_ifeq(&cmd[5]); ^~~ upsstats.c:762:14: note: used in buffer access here do_ifsupp(&cmd[7], NULL); ^~~ upsstats.c:792:17: note: used in buffer access here do_ifbetween(&cmd[10]); ^~~ upsstats.c:797:19: note: used in buffer access here do_upsstatpath(&cmd[13]); ^~~ upsstats.c:802:18: note: used in buffer access here do_upsimgpath(&cmd[13]); ^~~ upsstats.c:809:36: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void parse_line(const char *buf) ~~~~~~~~~~~~^~~ upsstats.c:843:29: note: used in buffer access here printf("%.*s", (int)len, &buf[i]); ^~~ upsstats.c:833:50: note: used in buffer access here snprintf(cmd, sizeof(cmd), "%.*s", (int)len, &buf[i]); ^~~ upsstats.c:817:18: note: used in buffer access here len = strcspn(&buf[i], "@"); ^~~ upsstats.c:815:14: note: used in buffer access here for (i = 0; buf[i]; i += len) { ^~~ upsstats.c:873:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsstats.c:883:2: note: used in buffer access here query[1] = upsname; ^~~~~ upsstats.c:874:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsstats.c:923:27: note: used in buffer access here printf("%s\n", answer[2]); ^~~~~~ upsstats.c:925:31: note: used in buffer access here printf("%s
\n", answer[3]); ^~~~~~ upsstats.c:1003:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] add_ups(ctx.arglist[1], ctx.arglist[2]); ^~~~~~~~~~~ upsstats.c:1003:28: warning: unsafe buffer access [-Wunsafe-buffer-usage] add_ups(ctx.arglist[1], ctx.arglist[2]); ^~~~~~~~~~~ 19 warnings generated. upsclient.c:82:3: warning: 'upscli_errlist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } upscli_errlist[] = ~~^~~~~~~~~~~~~~~~~~ upsclient.c:531:10: note: used in buffer access here return upscli_errlist[UPSCLI_ERR_INVALIDARG].str; ^~~~~~~~~~~~~~ upsclient.c:535:10: note: used in buffer access here return upscli_errlist[UPSCLI_ERR_INVALIDARG].str; ^~~~~~~~~~~~~~ upsclient.c:542:10: note: used in buffer access here switch (upscli_errlist[ups->upserror].flags) { ^~~~~~~~~~~~~~ upsclient.c:559:5: note: used in buffer access here upscli_errlist[ups->upserror].str, ^~~~~~~~~~~~~~ upsclient.c:545:10: note: used in buffer access here return upscli_errlist[ups->upserror].str; ^~~~~~~~~~~~~~ upsclient.c:549:4: note: used in buffer access here upscli_errlist[ups->upserror].str, ^~~~~~~~~~~~~~ upsclient.c:563:5: note: used in buffer access here upscli_errlist[ups->upserror].str, ^~~~~~~~~~~~~~ upsclient.c:582:4: note: used in buffer access here upscli_errlist[ups->upserror].str, ^~~~~~~~~~~~~~ upsclient.c:594:3: note: used in buffer access here upscli_errlist[ups->upserror].flags); ^~~~~~~~~~~~~~ upsclient.c:608:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&fds); ^~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ upsclient.c:609:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(fd, &fds); ^~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ upsclient.c:646:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int iret = SSL_read(ups->ssl, buf, (int)buflen); ^ upsclient.c:692:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&fds); ^~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ upsclient.c:693:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(fd, &fds); ^~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ upsclient.c:730:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int iret = SSL_write(ups->ssl, buf, (int)buflen); ^ upsclient.c:1038:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&wfds); ^~~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ upsclient.c:1039:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(sock_fd, &wfds); ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ upsclient.c:1042:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (FD_ISSET(sock_fd, &wfds)) { ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:83:26: note: expanded from macro 'FD_ISSET' #define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) ^~~~~~~~~~~~~~~ upsclient.c:1162:3: warning: 'upsd_errlist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } upsd_errlist[] = ~~~~~~~~^~~~~~~~~~~~~~~~ upsclient.c:1212:14: note: used in buffer access here for (i = 0; upsd_errlist[i].text != NULL; i++) { ^~~~~~~~~~~~ upsclient.c:1213:25: note: used in buffer access here if (!strncmp(&buf[4], upsd_errlist[i].text, ^~~~~~~~~~~~ upsclient.c:1214:11: note: used in buffer access here strlen(upsd_errlist[i].text))) { ^~~~~~~~~~~~ upsclient.c:1215:20: note: used in buffer access here ups->upserror = upsd_errlist[i].errnum; ^~~~~~~~~~~~ upsclient.c:1193:50: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int upscli_errcheck(UPSCONN_t *ups, char *buf) ~~~~~~^~~ upsclient.c:1213:17: note: used in buffer access here if (!strncmp(&buf[4], upsd_errlist[i].text, ^~~ upsclient.c:1225:29: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void build_cmd(char *buf, size_t bufsize, const char *cmdname, ~~~~~~^~~ upsclient.c:1265:11: note: used in pointer arithmetic here snprintf(buf + len, bufsize - len, "\n"); ^~~ upsclient.c:1257:12: note: used in pointer arithmetic here snprintf(buf + len, bufsize - len, format, ^~~ upsclient.c:1226:30: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] size_t numarg, const char **arg) ~~~~~~~~~~~~~^~~ upsclient.c:1258:17: note: used in buffer access here pconf_encode(arg[i], enc, sizeof(enc))); ^~~ upsclient.c:1239:14: note: used in buffer access here if (strchr(arg[i], ' ')) { ^~~ upsclient.c:1269:49: warning: 'q' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int verify_resp(size_t num, const char **q, char **a) ~~~~~~~~~~~~~^ upsclient.c:1274:18: note: used in buffer access here if (strcasecmp(q[i], a[i]) != 0) { ^ upsclient.c:1269:59: warning: 'a' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int verify_resp(size_t num, const char **q, char **a) ~~~~~~~^ upsclient.c:1274:24: note: used in buffer access here if (strcasecmp(q[i], a[i]) != 0) { ^ upsclient.c:1377:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] (strcasecmp(ups->pc_ctx.arglist[1], "LIST") != 0)) { ^~~~~~~~~~~~~~~~~~~ upsclient.c:1387:33: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!verify_resp(numq, query, &ups->pc_ctx.arglist[2])) { ^~~~~~~~~~~~~~~~~~~ upsclient.c:1428:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] (!strcmp(ups->pc_ctx.arglist[1], "LIST"))) ^~~~~~~~~~~~~~~~~~~ upsclient.c:1524:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] buf[recv] = ups->readbuf[ups->readidx++]; ^~~~~~~~~~~~ upsclient.c:1482:55: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] ssize_t upscli_readline_timeout(UPSCONN_t *ups, char *buf, size_t buflen, const time_t timeout) ~~~~~~^~~ upsclient.c:1524:3: note: used in buffer access here buf[recv] = ups->readbuf[ups->readidx++]; ^~~ upsclient.c:1526:7: note: used in buffer access here if (buf[recv] == '\n') { ^~~ upsclient.c:1531:2: note: used in buffer access here buf[recv] = '\0'; ^~~ upsclient.c:1543:8: warning: 's' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *s, tmp[SMALLBUF], *last = NULL; ~~~~~~~~~^ upsclient.c:1573:26: note: used in pointer arithmetic here return upscli_splitaddr(s+1, hostname, port); ^ upsclient.c:1579:8: warning: 's' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *s, tmp[SMALLBUF], *last = NULL; ~~~~~~~~~^ upsclient.c:1625:11: note: used in pointer arithmetic here if ((*(++s) == '\0') || ((l = strtol(s, NULL, 10)) < 1 ) || (l > 65535)) { ^ upsclient.c:1579:11: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *s, tmp[SMALLBUF], *last = NULL; ~~~~~~~~~~~~^~~~~~~~~~~~~ upsclient.c:1598:36: note: used in pointer arithmetic here if ((*hostname = strdup(strtok_r(tmp+1, "]", &last))) == NULL) { ^~~ 24 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsclient.lo -MD -MP -MF .deps/upsclient.Tpo -c upsclient.c -o upsclient.o >/dev/null 2>&1 In file included from upsmon.c:32: ./upsmon.h:104:3: warning: 'notifylist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } notifylist[] = ~~~~~~~~^~~~~~~~~~~~~~ upsmon.c:186:14: note: used in buffer access here for (i = 0; notifylist[i].name != NULL; i++) { ^~~~~~~~~~ upsmon.c:187:7: note: used in buffer access here if (notifylist[i].type == ntype) { ^~~~~~~~~~ upsmon.c:189:5: note: used in buffer access here notifylist[i].name); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ upsmon.c:200:45: note: used in buffer access here notifylist[i].msg ? notifylist[i].msg : notifylist[i].stockmsg, ^~~~~~~~~~ upsmon.c:200:5: note: used in buffer access here notifylist[i].msg ? notifylist[i].msg : notifylist[i].stockmsg, ^~~~~~~~~~ upsmon.c:200:25: note: used in buffer access here notifylist[i].msg ? notifylist[i].msg : notifylist[i].stockmsg, ^~~~~~~~~~ upsmon.c:205:16: note: used in buffer access here notify(msg, notifylist[i].flags, notifylist[i].name, ^~~~~~~~~~ upsmon.c:205:37: note: used in buffer access here notify(msg, notifylist[i].flags, notifylist[i].name, ^~~~~~~~~~ upsmon.c:82:39: warning: 'pipefd' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static int userfsd = 0, use_pipe = 1, pipefd[2]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ upsmon.c:506:16: note: used in buffer access here wret = write(pipefd[1], &ch, 1); ^~~~~~ upsmon.c:591:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ upsmon.c:605:3: note: used in buffer access here query[1] = ups->upsname; ^~~~~ upsmon.c:612:3: note: used in buffer access here query[2] = "ups.status"; ^~~~~ upsmon.c:611:3: note: used in buffer access here query[1] = ups->upsname; ^~~~~ upsmon.c:592:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~^~~~~~ upsmon.c:646:31: note: used in buffer access here snprintf(buf, bufsize, "%s", answer[numq]); ^~~~~~ upsmon.c:1011:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] long lpv = strtol(pvs, (char **) NULL, 10); ^ In file included from upsmon.c:32: ./upsmon.h:104:3: warning: 'notifylist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } notifylist[] = ~~~~~~~~^~~~~~~~~~~~~~ upsmon.c:1123:9: note: used in buffer access here free(notifylist[i].msg); ^~~~~~~~~~ upsmon.c:1122:19: note: used in buffer access here if (!strcasecmp(notifylist[i].name, name)) { ^~~~~~~~~~ upsmon.c:1121:14: note: used in buffer access here for (i = 0; notifylist[i].name != NULL; i++) { ^~~~~~~~~~ upsmon.c:1124:4: note: used in buffer access here notifylist[i].msg = xstrdup(msg); ^~~~~~~~~~ upsmon.c:1135:14: warning: 'tmp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ptr, *tmp; ~~~~~~~~~~~~~~~^~~ upsmon.c:1162:5: note: used in pointer arithmetic here *tmp++ = '\0'; ^~~ In file included from upsmon.c:32: ./upsmon.h:104:3: warning: 'notifylist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } notifylist[] = ~~~~~~~~^~~~~~~~~~~~~~ upsmon.c:1176:4: note: used in buffer access here notifylist[pos].flags |= newflag; ^~~~~~~~~~ upsmon.c:1155:2: note: used in buffer access here notifylist[pos].flags = 0; ^~~~~~~~~~ upsmon.c:1141:19: note: used in buffer access here if (!strcasecmp(notifylist[i].name, ntype)) { ^~~~~~~~~~ upsmon.c:1140:14: note: used in buffer access here for (i = 0; notifylist[i].name != NULL; i++) { ^~~~~~~~~~ upsmon.c:1209:50: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int parse_conf_arg(size_t numargs, char **arg) ~~~~~~~^~~ upsmon.c:1241:23: note: used in buffer access here notifycmd = xstrdup(arg[1]); ^~~ upsmon.c:1258:29: note: used in buffer access here int ipollfreqalert = atoi(arg[1]); ^~~ upsmon.c:1220:25: note: used in buffer access here shutdowncmd = xstrdup(arg[1]); ^~~ upsmon.c:1247:24: note: used in buffer access here int ipollfreq = atoi(arg[1]); ^~~ upsmon.c:1217:34: note: used in buffer access here checkmode(arg[0], shutdowncmd, arg[1], reload_flag); ^~~ upsmon.c:1229:27: note: used in buffer access here powerdownflag = xstrdup(arg[1]); ^~~ upsmon.c:1233:5: note: used in buffer access here arg[1]); ^~~ upsmon.c:1226:36: note: used in buffer access here checkmode(arg[0], powerdownflag, arg[1], reload_flag); ^~~ upsmon.c:1269:19: note: used in buffer access here hostsync = atoi(arg[1]); ^~~ upsmon.c:1275:19: note: used in buffer access here deadtime = atoi(arg[1]); ^~~ upsmon.c:1281:27: note: used in buffer access here int iminsupplies = atoi(arg[1]); ^~~ upsmon.c:1292:21: note: used in buffer access here rbwarntime = atoi(arg[1]); ^~~ upsmon.c:1298:25: note: used in buffer access here nocommwarntime = atoi(arg[1]); ^~~ upsmon.c:1304:26: note: used in buffer access here int ifinaldelay = atoi(arg[1]); ^~~ upsmon.c:1316:25: note: used in buffer access here run_as_user = xstrdup(arg[1]); ^~~ upsmon.c:1323:22: note: used in buffer access here certpath = xstrdup(arg[1]); ^~~ upsmon.c:1329:21: note: used in buffer access here certverify = atoi(arg[1]); ^~~ upsmon.c:1335:19: note: used in buffer access here forcessl = atoi(arg[1]); ^~~ upsmon.c:1343:20: note: used in buffer access here if ( str_to_int (arg[1], &lvl, 10) && lvl >= 0 ) { ^~~ upsmon.c:1357:17: note: used in buffer access here set_notifymsg(arg[1], arg[2]); ^~~ upsmon.c:1357:25: note: used in buffer access here set_notifymsg(arg[1], arg[2]); ^~~ upsmon.c:1363:18: note: used in buffer access here set_notifyflag(arg[1], arg[2]); ^~~ upsmon.c:1363:26: note: used in buffer access here set_notifyflag(arg[1], arg[2]); ^~~ upsmon.c:1370:22: note: used in buffer access here certname = xstrdup(arg[1]); ^~~ upsmon.c:1372:24: note: used in buffer access here certpasswd = xstrdup(arg[2]); ^~~ upsmon.c:1382:24: note: used in buffer access here upscli_add_host_cert(arg[1], arg[2], atoi(arg[3]), atoi(arg[4])); ^~~ upsmon.c:1382:32: note: used in buffer access here upscli_add_host_cert(arg[1], arg[2], atoi(arg[3]), atoi(arg[4])); ^~~ upsmon.c:1382:45: note: used in buffer access here upscli_add_host_cert(arg[1], arg[2], atoi(arg[3]), atoi(arg[4])); ^~~ upsmon.c:1382:59: note: used in buffer access here upscli_add_host_cert(arg[1], arg[2], atoi(arg[3]), atoi(arg[4])); ^~~ upsmon.c:1397:23: note: used in buffer access here addups(reload_flag, arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upsmon.c:1397:31: note: used in buffer access here addups(reload_flag, arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upsmon.c:1397:39: note: used in buffer access here addups(reload_flag, arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upsmon.c:1397:47: note: used in buffer access here addups(reload_flag, arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upsmon.c:1397:55: note: used in buffer access here addups(reload_flag, arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ upsmon.c:1455:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx.arglist[i]); ^~~~~~~~~~~ In file included from upsmon.c:32: ./upsmon.h:104:3: warning: 'notifylist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } notifylist[] = ~~~~~~~~^~~~~~~~~~~~~~ upsmon.c:1517:14: note: used in buffer access here for (i = 0; notifylist[i].name != NULL; i++) { ^~~~~~~~~~ upsmon.c:1518:8: note: used in buffer access here free(notifylist[i].msg); ^~~~~~~~~~ upsmon.c:1660:19: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *statword, *ptr; ~~~~~~~~~~~~~~~~~~~~^~~ upsmon.c:1686:5: note: used in pointer arithmetic here *ptr++ = '\0'; ^~~ upsmon.c:82:39: warning: 'pipefd' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static int userfsd = 0, use_pipe = 1, pipefd[2]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ upsmon.c:1948:8: note: used in buffer access here fcntl(pipefd[1], F_SETFD, FD_CLOEXEC); ^~~~~~ upsmon.c:1937:9: note: used in buffer access here close(pipefd[1]); ^~~~~~ upsmon.c:2065:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&rfds); ^~~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ upsmon.c:2066:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(pipefd[1], &rfds); ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ upsmon.c:82:39: warning: 'pipefd' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static int userfsd = 0, use_pipe = 1, pipefd[2]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ upsmon.c:2066:9: note: used in buffer access here FD_SET(pipefd[1], &rfds); ^~~~~~ /usr/include/sys/select.h:84:40: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^ upsmon.c:2066:9: note: used in buffer access here FD_SET(pipefd[1], &rfds); ^~~~~~ /usr/include/sys/select.h:84:69: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^ /usr/include/sys/select.h:78:44: note: expanded from macro '__fdset_mask' #define __fdset_mask(n) ((__fd_mask)1 << ((n) % _NFDBITS)) ^ upsmon.c:2071:15: note: used in buffer access here ret = select(pipefd[1] + 1, &rfds, NULL, NULL, &tv); ^~~~~~ upsmon.c:2091:26: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int main(int argc, char *argv[]) ~~~~~~^~~~~~ upsmon.c:2218:2: note: used in pointer arithmetic here argv += optind; ^~~~ 17 warnings generated. libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../include -DHAVE_NUTCOMMON=1 -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error -MT nutclient.lo -MD -MP -MF .deps/nutclient.Tpo -c nutclient.cpp -fPIC -DPIC -o .libs/nutclient.o libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../include -DHAVE_NUTCOMMON=1 -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error -MT nutclientmem.lo -MD -MP -MF .deps/nutclientmem.Tpo -c nutclientmem.cpp -fPIC -DPIC -o .libs/nutclientmem.o /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -version-info 6:0:0 -export-symbols-regex ^upscli_ -fstack-protector-strong -o libupsclient.la -rpath /usr/local/lib upsclient.lo ../common/libcommonclient.la -lssl -lcrypto -lpthread libtool: link: /usr/bin/nm .libs/upsclient.o ../common/.libs/libcommonclient.a | sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libupsclient.exp libtool: link: cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upssched upssched.o -L/usr/local/lib ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lpthread libtool: link: /usr/bin/egrep -e "^upscli_" ".libs/libupsclient.exp" > ".libs/libupsclient.expT" libtool: link: mv -f ".libs/libupsclient.expT" ".libs/libupsclient.exp" libtool: link: echo "{ global:" > .libs/libupsclient.so.6.0.0-ver libtool: link: sed -e "s|$|;|" < .libs/libupsclient.exp >> .libs/libupsclient.so.6.0.0-ver libtool: link: echo "local: *; };" >> .libs/libupsclient.so.6.0.0-ver libtool: link: cc -shared -fPIC -DPIC .libs/upsclient.o -Wl,--whole-archive ../common/.libs/libcommonclient.a -Wl,--no-whole-archive -L/usr/local/lib -lssl -lcrypto -lpthread -O2 -fstack-protector-strong -fstack-protector-strong -Wl,-soname -Wl,libupsclient.so.6 -Wl,-version-script -Wl,.libs/libupsclient.so.6.0.0-ver -o .libs/libupsclient.so.6.0.0 libtool: link: (cd ".libs" && rm -f "libupsclient.so.6" && ln -s "libupsclient.so.6.0.0" "libupsclient.so.6") libtool: link: (cd ".libs" && rm -f "libupsclient.so" && ln -s "libupsclient.so.6.0.0" "libupsclient.so") libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../include -DHAVE_NUTCOMMON=1 -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error -MT nutclientmem.lo -MD -MP -MF .deps/nutclientmem.Tpo -c nutclientmem.cpp -o nutclientmem.o >/dev/null 2>&1 libtool: link: (cd .libs/libupsclient.lax/libcommonclient.a && /usr/bin/ar x "/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients/../common/.libs/libcommonclient.a") libtool: link: /usr/bin/ar cr .libs/libupsclient.a upsclient.o .libs/libupsclient.lax/libcommonclient.a/common.o .libs/libupsclient.lax/libcommonclient.a/parseconf.o .libs/libupsclient.lax/libcommonclient.a/state.o .libs/libupsclient.lax/libcommonclient.a/str.o libtool: link: ranlib .libs/libupsclient.a libtool: link: rm -fr .libs/libupsclient.lax libtool: link: ( cd ".libs" && rm -f "libupsclient.la" && ln -s "../libupsclient.la" "libupsclient.la" ) /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsc upsc.o ../common/libcommon.la libupsclient.la -lssl -lcrypto -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsrw upsrw.o ../common/libcommon.la libupsclient.la -lssl -lcrypto -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upslog upslog.o ../common/libcommon.la libupsclient.la -lssl -lcrypto -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upscmd upscmd.o ../common/libcommon.la libupsclient.la -lssl -lcrypto -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsstats.cgi upsstats.o cgilib.o ../common/libcommon.la libupsclient.la -lssl -lcrypto -lpthread libtool: link: cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/upslog upslog.o -L/usr/local/lib ../common/.libs/libcommon.a ./.libs/libupsclient.so -lssl -lcrypto -lpthread -Wl,-rpath -Wl,/usr/local/lib libtool: link: cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/upsstats.cgi upsstats.o cgilib.o -L/usr/local/lib ../common/.libs/libcommon.a ./.libs/libupsclient.so -lssl -lcrypto -lpthread -Wl,-rpath -Wl,/usr/local/lib /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsimage.cgi upsimage.o cgilib.o ../common/libcommon.la libupsclient.la -lssl -lcrypto -L/usr/local/lib -lgd -lpthread libtool: link: cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/upsrw upsrw.o -L/usr/local/lib ../common/.libs/libcommon.a ./.libs/libupsclient.so -lssl -lcrypto -lpthread -Wl,-rpath -Wl,/usr/local/lib libtool: link: cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/upscmd upscmd.o -L/usr/local/lib ../common/.libs/libcommon.a ./.libs/libupsclient.so -lssl -lcrypto -lpthread -Wl,-rpath -Wl,/usr/local/lib /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsset.cgi upsset.o cgilib.o ../common/libcommon.la libupsclient.la -lssl -lcrypto -lpthread nutclient.cpp:237:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&wfds); ^~~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ nutclient.cpp:238:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(sock_fd, &wfds); ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ nutclient.cpp:240:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (FD_ISSET(sock_fd, &wfds)) { ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:83:26: note: expanded from macro 'FD_ISSET' #define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) ^~~~~~~~~~~~~~~ nutclient.cpp:351:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&fds); ^~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ nutclient.cpp:352:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(_sock, &fds); ^~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ nutclient.cpp:378:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&fds); ^~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ nutclient.cpp:379:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(_sock, &fds); ^~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ nutclient.cpp:1554:9: warning: 'arr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] strarr arr = static_cast(xcalloc(count+1, sizeof(char*))); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutclient.cpp:1560:2: note: used in buffer access here arr[count] = nullptr; ^~~ nutclient.cpp:1566:9: warning: 'pstr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char** pstr = arr; ~~~~~~~^~~~~~~~~~ nutclient.cpp:1570:5: note: used in pointer arithmetic here ++pstr; ^~~~ nutclient.cpp:1578:9: warning: 'pstr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] strarr pstr = arr; ~~~~~~~^~~~~~~~~~ nutclient.cpp:1582:3: note: used in pointer arithmetic here pstr++; ^~~~ nutclient.cpp:1590:9: warning: 'pstr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] strarr pstr = arr; ~~~~~~~^~~~~~~~~~ nutclient.cpp:1594:3: note: used in pointer arithmetic here pstr++; ^~~~ nutclient.cpp:1970:12: warning: 'pstr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] strarr pstr = static_cast(values); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutclient.cpp:1974:8: note: used in pointer arithmetic here ++pstr; ^~~~ 12 warnings generated. libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../include -DHAVE_NUTCOMMON=1 -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error -MT nutclient.lo -MD -MP -MF .deps/nutclient.Tpo -c nutclient.cpp -o nutclient.o >/dev/null 2>&1 libtool: link: cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/upsc upsc.o -L/usr/local/lib ../common/.libs/libcommon.a ./.libs/libupsclient.so -lssl -lcrypto -lpthread -Wl,-rpath -Wl,/usr/local/lib /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsmon upsmon.o ../common/libcommon.la libupsclient.la -lssl -lcrypto -lpthread libtool: link: cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/upsmon upsmon.o -L/usr/local/lib ../common/.libs/libcommon.a ./.libs/libupsclient.so -lssl -lcrypto -lpthread -Wl,-rpath -Wl,/usr/local/lib libtool: link: cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/upsset.cgi upsset.o cgilib.o -L/usr/local/lib ../common/.libs/libcommon.a ./.libs/libupsclient.so -lssl -lcrypto -lpthread -Wl,-rpath -Wl,/usr/local/lib libtool: link: cc -I../include -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/upsimage.cgi upsimage.o cgilib.o -L/usr/local/lib ../common/.libs/libcommon.a ./.libs/libupsclient.so -lssl -lcrypto /usr/local/lib/libgd.so -lpthread -fopenmp -Wl,-rpath -Wl,/usr/local/lib /bin/sh ../libtool --tag=CXX --mode=link c++ -DHAVE_NUTCOMMON=1 -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error -version-info 2:0:0 -fstack-protector-strong -o libnutclient.la -rpath /usr/local/lib nutclient.lo ../common/libcommonclient.la -lpthread libtool: link: c++ -fPIC -DPIC -shared -nostdlib /usr/lib/crti.o /usr/lib/crtbeginS.o .libs/nutclient.o -Wl,--whole-archive ../common/.libs/libcommonclient.a -Wl,--no-whole-archive -L/usr/local/lib -lpthread -L/usr/lib -lc++ -lm -lc -lgcc -lgcc_s /usr/lib/crtendS.o /usr/lib/crtn.o -O2 -fstack-protector-strong -fstack-protector-strong -Wl,-soname -Wl,libnutclient.so.2 -o .libs/libnutclient.so.2.0.0 libtool: link: (cd ".libs" && rm -f "libnutclient.so.2" && ln -s "libnutclient.so.2.0.0" "libnutclient.so.2") libtool: link: (cd ".libs" && rm -f "libnutclient.so" && ln -s "libnutclient.so.2.0.0" "libnutclient.so") libtool: link: (cd .libs/libnutclient.lax/libcommonclient.a && /usr/bin/ar x "/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients/../common/.libs/libcommonclient.a") libtool: link: /usr/bin/ar cr .libs/libnutclient.a nutclient.o .libs/libnutclient.lax/libcommonclient.a/common.o .libs/libnutclient.lax/libcommonclient.a/parseconf.o .libs/libnutclient.lax/libcommonclient.a/state.o .libs/libnutclient.lax/libcommonclient.a/str.o libtool: link: ranlib .libs/libnutclient.a libtool: link: rm -fr .libs/libnutclient.lax libtool: link: ( cd ".libs" && rm -f "libnutclient.la" && ln -s "../libnutclient.la" "libnutclient.la" ) /bin/sh ../libtool --tag=CXX --mode=link c++ -DHAVE_NUTCOMMON=1 -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error -version-info 1:0:0 -fstack-protector-strong -o libnutclientstub.la -rpath /usr/local/lib nutclientmem.lo libnutclient.la -lpthread libtool: link: c++ -fPIC -DPIC -shared -nostdlib /usr/lib/crti.o /usr/lib/crtbeginS.o .libs/nutclientmem.o -Wl,-rpath -Wl,/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients/.libs -Wl,-rpath -Wl,/usr/local/lib -L/usr/local/lib ./.libs/libnutclient.so -lpthread -L/usr/lib -lc++ -lm -lc -lgcc -lgcc_s /usr/lib/crtendS.o /usr/lib/crtn.o -O2 -fstack-protector-strong -fstack-protector-strong -Wl,-soname -Wl,libnutclientstub.so.1 -o .libs/libnutclientstub.so.1.0.0 libtool: link: (cd ".libs" && rm -f "libnutclientstub.so.1" && ln -s "libnutclientstub.so.1.0.0" "libnutclientstub.so.1") libtool: link: (cd ".libs" && rm -f "libnutclientstub.so" && ln -s "libnutclientstub.so.1.0.0" "libnutclientstub.so") libtool: link: /usr/bin/ar cr .libs/libnutclientstub.a nutclientmem.o libtool: link: ranlib .libs/libnutclientstub.a libtool: link: ( cd ".libs" && rm -f "libnutclientstub.la" && ln -s "../libnutclientstub.la" "libnutclientstub.la" ) gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' Making all in conf gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/conf' gmake[2]: Nothing to be done for 'all'. gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/conf' Making all in data gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' Making all in html gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data/html' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data/html' gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' gmake[3]: Nothing to be done for 'all-am'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' Making all in docs gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' Making all in man gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/man' Not (re)building upsd.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsd.users.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsmon.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upssched.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building hosts.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nut-driver-enumerator.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsdrvsvcctl.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upslog.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upssched.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nut-scanner.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsset.cgi.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building al175.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nut-recorder.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building apcsmart.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building apcsmart-old.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building bcmxcp.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building belkin.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building bestups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building clone.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building dummy-ups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building gamatronic.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building masterguard.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building metasys.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building mge-utalk.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building microsol-apc.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building ivtscd.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building optiups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building powercom.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building powerpanel.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building rhino.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building riello_ser.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upscode2.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building tripplite.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building victronups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building apcupsd-ups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building bcmxcp_usb.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building blazer_usb.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building riello_usb.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nutdrv_qx.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building generic_modbus.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building huawei-ups2000.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building socomec_jbus.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building adelsystem_cbi.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nutupsdrv.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsd.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/man' Making all in cables gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/cables' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/cables' gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' gmake[3]: Nothing to be done for 'all-am'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' Making all in drivers gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/drivers' depbase=`echo al175.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT al175.o -MD -MP -MF $depbase.Tpo -c -o al175.o al175.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo serial.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT serial.lo -MD -MP -MF $depbase.Tpo -c -o serial.lo serial.c &&\ mv -f $depbase.Tpo $depbase.Plo depbase=`echo main.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT main.lo -MD -MP -MF $depbase.Tpo -c -o main.lo main.c &&\ mv -f $depbase.Tpo $depbase.Plo depbase=`echo dstate.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT dstate.lo -MD -MP -MF $depbase.Tpo -c -o dstate.lo dstate.c &&\ mv -f $depbase.Tpo $depbase.Plo gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: 'libcommon.la' is up to date. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' depbase=`echo bcmxcp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT bcmxcp.o -MD -MP -MF $depbase.Tpo -c -o bcmxcp.o bcmxcp.c &&\ mv -f $depbase.Tpo $depbase.Po gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: 'libparseconf.la' is up to date. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' depbase=`echo bcmxcp_ser.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT bcmxcp_ser.o -MD -MP -MF $depbase.Tpo -c -o bcmxcp_ser.o bcmxcp_ser.c &&\ mv -f $depbase.Tpo $depbase.Po libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT main.lo -MD -MP -MF .deps/main.Tpo -c main.c -fPIC -DPIC -o .libs/main.o libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT dstate.lo -MD -MP -MF .deps/dstate.Tpo -c dstate.c -fPIC -DPIC -o .libs/dstate.o libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT serial.lo -MD -MP -MF .deps/serial.Tpo -c serial.c -fPIC -DPIC -o .libs/serial.o bcmxcp_ser.c:40:16: warning: 'sbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char sbuf[1024]; ~~~~~~~~~~~~~~^~~~~~~~~~ bcmxcp_ser.c:49:2: note: used in buffer access here sbuf[1] = (unsigned char)(command_length); ^~~~ bcmxcp_ser.c:50:9: note: used in pointer arithmetic here memcpy(sbuf+2, command, command_length); ^~~~ bcmxcp_ser.c:54:2: note: used in buffer access here sbuf[command_length] = calc_checksum(sbuf); ^~~~ bcmxcp_ser.c:90:35: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] ssize_t get_answer(unsigned char *data, unsigned char command) ~~~~~~~~~~~~~~~^~~~ bcmxcp_ser.c:210:10: note: used in pointer arithmetic here memcpy(data+end_length, my_buf + 4, length); ^~~~ bcmxcp_ser.c:92:16: warning: 'my_buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char my_buf[128]; /* packet has a maximum length of 121+5 bytes */ ~~~~~~~~~~~~~~~~^~~~~~~~~~~ bcmxcp_ser.c:127:33: note: used in buffer access here block_number = (unsigned char)my_buf[1]; ^~~~~~ bcmxcp_ser.c:120:29: note: used in pointer arithmetic here res = ser_get_char(upsfd, my_buf + 1, 1, 0); ^~~~~~ bcmxcp_ser.c:149:29: note: used in pointer arithmetic here res = ser_get_char(upsfd, my_buf + 2, 1, 0); ^~~~~~ bcmxcp_ser.c:171:29: note: used in buffer access here sequence = (unsigned char)my_buf[3]; ^~~~~~ bcmxcp_ser.c:156:27: note: used in buffer access here length = (unsigned char)my_buf[2]; ^~~~~~ bcmxcp_ser.c:164:29: note: used in pointer arithmetic here res = ser_get_char(upsfd, my_buf + 3, 1, 0); ^~~~~~ bcmxcp_ser.c:185:32: note: used in pointer arithmetic here res = ser_get_buf_len(upsfd, my_buf + 4, length, 1, 0); ^~~~~~ bcmxcp_ser.c:197:29: note: used in pointer arithmetic here res = ser_get_char(upsfd, my_buf + (4 + length), 1, 0); ^~~~~~ bcmxcp_ser.c:210:27: note: used in pointer arithmetic here memcpy(data+end_length, my_buf + 4, length); ^~~~~~ bcmxcp_ser.c:273:22: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] void upsdrv_comm_good() ^ void bcmxcp_ser.c:23:16: warning: 'pw_baud_rates' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] pw_baud_rate_t pw_baud_rates[] = { ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ bcmxcp_ser.c:352:16: note: used in buffer access here if (baud == pw_baud_rates[i].name) { ^~~~~~~~~~~~~ bcmxcp_ser.c:353:14: note: used in buffer access here mybaud = pw_baud_rates[i].rate; ^~~~~~~~~~~~~ bcmxcp_ser.c:388:37: note: used in buffer access here ser_set_speed(upsfd, device_path, pw_baud_rates[i].rate); ^~~~~~~~~~~~~ bcmxcp_ser.c:400:72: note: used in buffer access here upslogx(LOG_INFO, "Connected to UPS on %s with baudrate %zu", port, pw_baud_rates[i].name); ^~~~~~~~~~~~~ bcmxcp_ser.c:404:70: note: used in buffer access here upsdebugx(2, "No response from UPS on %s with baudrate %zu", port, pw_baud_rates[i].name); ^~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ 5 warnings generated. al175.c:196:36: warning: 'head' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static long from_hex(const byte_t *head, unsigned len) ~~~~~~~~~~~~~~^~~~ al175.c:219:5: note: used in pointer arithmetic here ++head; ^~~~ al175.c:232:41: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static byte_t compute_bcc(const byte_t *buf, size_t count) ~~~~~~~~~~~~~~^~~ al175.c:238:10: note: used in buffer access here bcc ^= buf[i]; ^~~ al175.c:250:34: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void reverse_bits(byte_t *buf, size_t count) ~~~~~~~~^~~ al175.c:266:5: note: used in pointer arithmetic here ++buf; ^~~ al175.c:331:14: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if ( (out+11+count+2) > (dest->buf + dest->buf_size) ) ~~~~~~^~~~~~ al175.c:331:11: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if ( (out+11+count+2) > (dest->buf + dest->buf_size) ) ~~~^~~ al175.c:331:27: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if ( (out+11+count+2) > (dest->buf + dest->buf_size) ) ^~~~~~~~~ al175.c:335:11: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] snprintf((char *)out+1, 10+1, "%02X%1i%1i%04zX%02zX", h->msg.id, h->msg.stamp, h->msg.type, h->io.addr, h->io.len); ^~~~~~~~~~~ al175.c:344:14: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] dest->end = dest->begin + (11+count+2); ^~~~~~~~~~~ al175.c:326:10: warning: 'out' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] byte_t *out = dest->begin; ~~~~~~~~^~~~~~~~~~~~~~~~~ al175.c:331:8: note: used in pointer arithmetic here if ( (out+11+count+2) > (dest->buf + dest->buf_size) ) ^~~ al175.c:337:9: note: used in pointer arithmetic here memcpy(out+11, buf, count); ^~~ al175.c:338:15: note: used in pointer arithmetic here reverse_bits(out+11, count); ^~~ al175.c:341:2: note: used in buffer access here out[11+count] = ETX; ^~~ al175.c:342:2: note: used in buffer access here out[12+count] = compute_bcc(out+1, 10+count+1); ^~~ al175.c:342:30: note: used in pointer arithmetic here out[12+count] = compute_bcc(out+1, 10+count+1); ^~~ al175.c:385:7: warning: 'data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char data[8+1]; ~~~~~^~~~~~~~~ al175.c:416:3: note: used in buffer access here data[8] = '\0'; ^~~~ al175.c:398:2: note: used in buffer access here data[1] = (char)subcmd; ^~~~ al175.c:415:19: note: used in pointer arithmetic here if (0 > snprintf(data+2, 6+1, "%2X%2X%2X", pr1, pr2, pr3)) { ^~~~ al175.c:443:9: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] tail = f.end - 2; ^~~~~ al175.c:450:20: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] bcc = compute_bcc(f.begin+1, (size_t)(f.end - f.begin) - 2 /*STX & BCC*/); ^~~~~~~ al175.c:435:10: warning: 'tail' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] byte_t *tail; ~~~~~~~~^~~~ al175.c:451:12: note: used in buffer access here if (bcc!= tail[1]) ^~~~ al175.c:482:29: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] const byte_t *reply_head = raw_reply_head.begin - 1; ^~~~~~~~~~~~~~~~~~~~ al175.c:482:16: warning: 'reply_head' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const byte_t *reply_head = raw_reply_head.begin - 1; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ al175.c:490:60: note: used in buffer access here upsdebugx(3, "%s: wrong id\t('%c%c' != '00')", __func__, reply_head[1], reply_head[2]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:510:4: note: used in buffer access here reply_head[5], reply_head[6], reply_head[7], reply_head[8]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:489:6: note: used in buffer access here if (reply_head[1]!='0' || reply_head[2]!='0') { ^~~~~~~~~~ al175.c:507:30: note: used in buffer access here io_addr = (size_t)from_hex(&reply_head[5], 4); ^~~~~~~~~~ al175.c:490:75: note: used in buffer access here upsdebugx(3, "%s: wrong id\t('%c%c' != '00')", __func__, reply_head[1], reply_head[2]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:495:60: note: used in buffer access here upsdebugx(3, "%s: wrong stamp\t('%c' != '1')", __func__, reply_head[3]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:499:6: note: used in buffer access here if (reply_head[4]!='0') { ^~~~~~~~~~ al175.c:489:28: note: used in buffer access here if (reply_head[1]!='0' || reply_head[2]!='0') { ^~~~~~~~~~ al175.c:494:6: note: used in buffer access here if (reply_head[3]!='1') { ^~~~~~~~~~ al175.c:500:59: note: used in buffer access here upsdebugx(3, "%s: wrong type\t('%c' != '0')", __func__, reply_head[4]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:510:19: note: used in buffer access here reply_head[5], reply_head[6], reply_head[7], reply_head[8]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:510:34: note: used in buffer access here reply_head[5], reply_head[6], reply_head[7], reply_head[8]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:510:49: note: used in buffer access here reply_head[5], reply_head[6], reply_head[7], reply_head[8]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:514:29: note: used in buffer access here io_len = (size_t)from_hex(&reply_head[9], 2); ^~~~~~~~~~ al175.c:516:55: note: used in buffer access here upsdebugx(3, "%s: invalid nob\t('%c%c')", __func__, reply_head[9], reply_head[10]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:516:70: note: used in buffer access here upsdebugx(3, "%s: invalid nob\t('%c%c')", __func__, reply_head[9], reply_head[10]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:595:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t io_buf_len = (size_t)(io_buf->end - io_buf->begin); ^ al175.c:563:6: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if (raw_reply_head.begin + 10 <= raw_reply_head.end) ^~~~~~~~~~~~~~~~~~~~ al175.c:564:24: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] raw_reply_head.end = raw_reply_head.begin + 10; ^~~~~~~~~~~~~~~~~~~~ al175.c:572:10: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] reply = raw_reply.begin - 1; ^~~~~~~~~~~~~~~ al175.c:592:13: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] *(io_buf->end++) = reply[11+i]; ~~~~~~~~^~~ al175.c:558:16: warning: 'reply' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const byte_t *reply = NULL; ~~~~~~~~~~~~~~^~~~~~~~~~~~ al175.c:592:22: note: used in buffer access here *(io_buf->end++) = reply[11+i]; ^~~~~ al175.c:623:22: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] const byte_t *ack = raw_ack.begin - 1; ^~~~~~~~~~~~~ al175.c:623:16: warning: 'ack' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const byte_t *ack = raw_ack.begin - 1; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ al175.c:650:6: note: used in buffer access here if (ack[5]!=ACK) { ^~~ al175.c:651:63: note: used in buffer access here upsdebugx(3, "%s: wrong ack\t(0x%02X != 0x%02X)", __func__, ack[5], ACK); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:640:6: note: used in buffer access here if (ack[3]!='1') { ^~~ al175.c:646:59: note: used in buffer access here upsdebugx(3, "%s: wrong type\t('%c' != '1')", __func__, ack[4]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:641:60: note: used in buffer access here upsdebugx(3, "%s: wrong stamp\t('%c' != '1')", __func__, ack[3]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:645:6: note: used in buffer access here if (ack[4]!='1') { ^~~ al175.c:631:60: note: used in buffer access here upsdebugx(3, "%s: wrong id\t('%c%c' != '00')", __func__, ack[1], ack[2]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:630:21: note: used in buffer access here if (ack[1]!='0' || ack[2]!='0') { ^~~ al175.c:630:6: note: used in buffer access here if (ack[1]!='0' || ack[2]!='0') { ^~~ al175.c:631:68: note: used in buffer access here upsdebugx(3, "%s: wrong id\t('%c%c' != '00')", __func__, ack[1], ack[2]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:680:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] tcflag_t x = (IXON | IXOFF); ^ al175.c:682:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTART] = _POSIX_VDISABLE; ^~~~~~~~ al175.c:683:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTOP] = _POSIX_VDISABLE; ^~~~~~~~ al175.c:691:27: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static void flush_rx_queue() ^ void al175.c:708:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t frame_len = (size_t)(frame.end - frame.begin); ^ al175.c:810:28: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int recv_command_ack() ^ void al175.c:823:8: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] *(ack.end++) = STX; ~~~~^~~ al175.c:831:6: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] ack.end += 7; ~~~~^~~ al175.c:843:6: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] ack.begin += 1; ~~~~^~~~~ al175.c:844:6: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] ack.end -= 2; ~~~~^~~ al175.c:900:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t reply_head_len = (size_t)(reply_head.end - reply_head.begin); ^ al175.c:871:15: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] *(reply_head.end++) = STX; ~~~~~~~~~~~^~~ al175.c:879:13: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] reply_head.end += 10; ~~~~~~~~~~~^~~ al175.c:886:13: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] reply_head.begin += 1; /* temporarily strip STX */ ~~~~~~~~~~~^~~~~ al175.c:892:13: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] reply_head.begin -= 1; /* restore STX */ ~~~~~~~~~~~^~~~~ al175.c:903:8: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] reply.end += reply_head_len; ~~~~~~^~~ al175.c:912:8: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] reply.end += io->len + 2; ~~~~~~^~~ al175.c:927:8: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] reply.begin += 1; ~~~~~~^~~~~ al175.c:928:8: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] reply.end -= 2; ~~~~~~^~~ al175.c:1056:22: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] ACT TOGGLE_PRS_ONOFF () { return al175_do(0x81, 0x80 Z3); } ^ void al175.c:1057:19: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] ACT CANCEL_BOOST () { return al175_do(0x82, 0x80 Z3); } ^ void al175.c:1058:23: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] ACT STOP_BATTERY_TEST () { return al175_do(0x83, 0x80 Z3); } ^ void al175.c:1071:19: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] ACT RESET_ALARMS () { return al175_do(0x88, 0x80 Z3); } ^ void al175.c:1072:26: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] ACT CHANGE_COMM_PROTOCOL () { return al175_do(0x89, 0x80 Z3); } ^ void al175.c:1081:22: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] ACT SWITCH_SYM_ALARM () { return al175_do(0x8c, 0x80 Z3); } ^ void al175.c:1087:26: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static double d16(byte_t data[2]) ~~~~~~~^~~~~~~ al175.c:1089:10: note: used in buffer access here return (data[1] + 0x100*data[0]) / 100.0; ^~~~ al175.c:1096:9: warning: 'x4000' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] byte_t x4000[9]; /* registers from 0x4000 to 0x4040 inclusive */ ~~~~~~~^~~~~~~~ al175.c:1197:71: note: used in buffer access here upsdebugx(2, "%s: invalid battery voltage status\t(%i)", __func__, x4000[7]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:1199:10: note: used in buffer access here switch (x4000[8]) { /* 0x4040 POS./NEG. BATT. CURRENT */ ^~~~~ al175.c:1162:10: note: used in buffer access here switch (x4000[4]) { /* 0x4020 MAINS VOLTAGE STATUS */ ^~~~~ al175.c:1191:10: note: used in buffer access here switch (x4000[7]) { /* 0x4038 BATTERY VOLTAGE STATUS */ ^~~~~ al175.c:1204:72: note: used in buffer access here upsdebugx(2, "%s: invalid pos/neg battery current\t(%i)", __func__, x4000[8]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:1177:69: note: used in buffer access here upsdebugx(2, "%s: invalid system on/off status\t(%i)", __func__, x4000[5]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:1154:6: note: used in buffer access here if (x4000[1] & 0x01) /* battery test running */ ^~~~~ al175.c:1189:66: note: used in buffer access here upsdebugx(2, "%s: invalid battery test fail\t(%i)", __func__, x4000[6]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:1180:10: note: used in buffer access here switch (x4000[6]) { /* 0x4030 BATTERY TEST FAIL */ ^~~~~ al175.c:1172:10: note: used in buffer access here switch (x4000[5]) { ^~~~~ al175.c:1168:69: note: used in buffer access here upsdebugx(2, "%s: invalid mains voltage status\t(%i)", __func__, x4000[4]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:1097:9: warning: 'x4048' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] byte_t x4048[2]; /* 0x4048 - 0x4050 */ ~~~~~~~^~~~~~~~ al175.c:1226:71: note: used in buffer access here upsdebugx(2, "%s: invalid system voltage status\t(%i)", __func__, x4048[1]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ al175.c:1218:11: note: used in buffer access here switch (x4048[1]) { /* 0x4050 SYSTEM VOLTAGE STAT. */ ^~~~~ al175.c:1098:9: warning: 'x4100' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] byte_t x4100[8]; /* 0x4100 - 0x4138 */ ~~~~~~~^~~~~~~~ al175.c:1235:56: note: used in pointer arithmetic here dstate_setinfo("battery.voltage.nominal", "%.2f", d16(x4100+0)); ^~~~~ al175.c:1238:57: note: used in pointer arithmetic here dstate_setinfo("input.transfer.boost.low", "%.2f", d16(x4100+2)); /* XXX: boost.high ? */ ^~~~~ al175.c:1099:9: warning: 'x4180' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] byte_t x4180[8]; /* 0x4180 - 0x41b8 */ ~~~~~~~^~~~~~~~ al175.c:1245:22: note: used in pointer arithmetic here batt_current *= d16(x4180+2); ^~~~~ al175.c:1249:48: note: used in pointer arithmetic here dstate_setinfo("output.current", "%.2f", d16(x4180+6)); ^~~~~ al175.c:1100:9: warning: 'x4300' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] byte_t x4300[2]; /* 0x4300 - 0x4308 */ ~~~~~~~^~~~~~~~ al175.c:1252:53: note: used in pointer arithmetic here dstate_setinfo("battery.temperature", "%.2f", d16(x4300+0)); ^~~~~ 54 warnings generated. depbase=`echo belkin.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT belkin.o -MD -MP -MF $depbase.Tpo -c -o belkin.o belkin.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo belkinunv.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT belkinunv.o -MD -MP -MF $depbase.Tpo -c -o belkinunv.o belkinunv.c &&\ mv -f $depbase.Tpo $depbase.Po main.c:98:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (i = 0; upsdrv_info.subdrv_info[i]; i++) { ^~~~~~~~~~~~~~~~~~~~~~~ main.c:100:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!upsdrv_info.subdrv_info[i]->name) { ^~~~~~~~~~~~~~~~~~~~~~~ main.c:104:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!upsdrv_info.subdrv_info[i]->version) { ^~~~~~~~~~~~~~~~~~~~~~~ main.c:108:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] printf("%s %s\n", upsdrv_info.subdrv_info[i]->name, ^~~~~~~~~~~~~~~~~~~~~~~ main.c:109:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdrv_info.subdrv_info[i]->version); ^~~~~~~~~~~~~~~~~~~~~~~ main.c:197:34: warning: 'var' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void storeval(const char *var, char *val) ~~~~~~~~~~~~^~~ main.c:202:18: note: used in pointer arithmetic here dstate_setinfo(var+9, "%s", val); ^~~ main.c:203:19: note: used in pointer arithmetic here dstate_setflags(var+9, ST_FLAG_IMMUTABLE); ^~~ main.c:208:18: note: used in pointer arithmetic here dstate_setinfo(var+8, "%s", val); ^~~ main.c:38:13: warning: 'progname' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *progname = NULL, *upsname = NULL, *device_name = NULL; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ main.c:527:19: note: used in pointer arithmetic here && strcmp(val, progname + tmplen) == 0) { ^~~~~~~~ main.c:535:15: note: used in pointer arithmetic here progname = progname + tmplen; ^~~~~~~~ main.c:564:8: warning: 'eqptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *eqptr, *val, *buf; ~~~~~~~~~^~~~~ main.c:574:4: note: used in pointer arithmetic here *eqptr++ = '\0'; ^~~~~ main.c:673:27: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int main(int argc, char **argv) ~~~~~~~^~~~ main.c:813:2: note: used in pointer arithmetic here argv += optind; ^~~~ 9 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT main.lo -MD -MP -MF .deps/main.Tpo -c main.c -o main.o >/dev/null 2>&1 serial.c:173:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VMIN] = 1; ^~~~~~~~ serial.c:174:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VTIME] = 0; ^~~~~~~~ serial.c:362:14: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *data = buf; ~~~~~~~~~~~~~~~~~^~~~~~~~~~ serial.c:367:20: note: used in buffer access here ret = write(fd, &data[sent], (d_usec == 0) ? (size_t)((ssize_t)buflen - sent) : 1); ^~~~ serial.c:400:8: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *data = buf; ~~~~~~~~~^~~~~~~~~~ serial.c:407:26: note: used in buffer access here ret = select_read(fd, &data[recv], ^~~~ serial.c:426:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[64]; ~~~~~~~~^~~~~~~ serial.c:444:32: note: used in buffer access here if ((count == maxcount) || (tmp[i] == endchar)) { ^~~ serial.c:448:23: note: used in buffer access here if (strchr(ignset, tmp[i])) ^~~ serial.c:451:25: note: used in buffer access here if (strchr(alertset, tmp[i])) { ^~~ serial.c:458:20: note: used in buffer access here data[count++] = tmp[i]; ^~~ serial.c:453:14: note: used in buffer access here handler(tmp[i]); ^~~ serial.c:427:8: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *data = buf; ~~~~~~~~~^~~~~~~~~~ serial.c:458:4: note: used in buffer access here data[count++] = tmp[i]; ^~~~ 6 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT serial.lo -MD -MP -MF .deps/serial.Tpo -c serial.c -o serial.o >/dev/null 2>&1 dstate.c:484:57: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int sock_arg(conn_t *conn, size_t numarg, char **arg) ~~~~~~~^~~ dstate.c:528:19: note: used in buffer access here char *cmdname = arg[1]; ^~~ dstate.c:534:15: note: used in buffer access here cmdparam = arg[2]; ^~~ dstate.c:535:41: note: used in buffer access here } else if (numarg == 4 && !strcasecmp(arg[2], "TRACKING")) { ^~~ dstate.c:538:15: note: used in buffer access here cmdparam = arg[2]; ^~~ dstate.c:536:12: note: used in buffer access here cmdid = arg[3]; ^~~ dstate.c:537:41: note: used in buffer access here } else if (numarg == 5 && !strcasecmp(arg[3], "TRACKING")) { ^~~ dstate.c:539:12: note: used in buffer access here cmdid = arg[4]; ^~~ dstate.c:574:20: note: used in buffer access here if (!strcasecmp(arg[3], "TRACKING")) { ^~~ dstate.c:575:13: note: used in buffer access here setid = arg[4]; ^~~ dstate.c:579:6: note: used in buffer access here arg[3], arg[4]); ^~~ dstate.c:579:14: note: used in buffer access here arg[3], arg[4]); ^~~ dstate.c:587:22: note: used in buffer access here ret = upsh.setvar(arg[1], arg[2]); ^~~ dstate.c:587:30: note: used in buffer access here ret = upsh.setvar(arg[1], arg[2]); ^~~ dstate.c:639:48: warning: unsafe buffer access [-Wunsafe-buffer-usage] upslogx(LOG_INFO, "arg %d: %s", (int)arg, conn->ctx.arglist[arg]); ^~~~~~~~~~~~~~~~~ dstate.c:608:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ dstate.c:627:33: note: used in buffer access here switch(pconf_char(&conn->ctx, buf[i])) ^~~ dstate.c:713:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&rfds); ^~~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ dstate.c:714:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(sockfd, &rfds); ^~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ dstate.c:719:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(extrafd, &rfds); ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ dstate.c:727:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(conn->fd, &rfds); ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ dstate.c:772:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (FD_ISSET(sockfd, &rfds)) { ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:83:26: note: expanded from macro 'FD_ISSET' #define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) ^~~~~~~~~~~~~~~ dstate.c:779:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (FD_ISSET(conn->fd, &rfds)) { ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:83:26: note: expanded from macro 'FD_ISSET' #define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) ^~~~~~~~~~~~~~~ dstate.c:785:26: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((extrafd != -1) && (FD_ISSET(extrafd, &rfds))) { ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:83:26: note: expanded from macro 'FD_ISSET' #define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) ^~~~~~~~~~~~~~~ dstate.c:1182:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int ibuflen = snprintf(alarm_tmp, sizeof(alarm_tmp), "%s", buf); ^ dstate.c:1221:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int ibuflen = snprintf(alarm_tmp, sizeof(alarm_tmp), "%s", buf); ^ dstate.c:1179:8: warning: 'alarm_tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char alarm_tmp[LARGEBUF]; ~~~~~^~~~~~~~~~~~~~~~~~~ dstate.c:1186:4: note: used in buffer access here alarm_tmp[1] = '/'; ^~~~~~~~~ dstate.c:1187:4: note: used in buffer access here alarm_tmp[2] = 'A'; ^~~~~~~~~ dstate.c:1188:4: note: used in buffer access here alarm_tmp[3] = '\0'; ^~~~~~~~~ dstate.c:1219:8: warning: 'alarm_tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char alarm_tmp[LARGEBUF]; ~~~~~^~~~~~~~~~~~~~~~~~~ dstate.c:1227:4: note: used in buffer access here alarm_tmp[3] = '\0'; ^~~~~~~~~ dstate.c:1225:4: note: used in buffer access here alarm_tmp[1] = '/'; ^~~~~~~~~ dstate.c:1226:4: note: used in buffer access here alarm_tmp[2] = 'A'; ^~~~~~~~~ dstate.c:1348:15: warning: 'v1' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *v1, *v2, *v3, *v0, ~~~~~~~~~~~~^~ dstate.c:1398:26: note: used in buffer access here dstate_getinfo_nonzero(v1, "L1.voltage"); ^~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1348:21: warning: 'v2' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *v1, *v2, *v3, *v0, ~~~~~~~~~~~~~~~~~~^~ dstate.c:1399:26: note: used in buffer access here dstate_getinfo_nonzero(v2, "L2.voltage"); ^~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1348:27: warning: 'v3' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *v1, *v2, *v3, *v0, ~~~~~~~~~~~~~~~~~~~~~~~~^~ dstate.c:1400:26: note: used in buffer access here dstate_getinfo_nonzero(v3, "L3.voltage"); ^~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1348:33: warning: 'v0' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *v1, *v2, *v3, *v0, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ dstate.c:1411:26: note: used in buffer access here dstate_getinfo_nonzero(v0, "voltage"); ^~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1349:15: warning: 'v1n' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *v1n, *v2n, *v3n, ~^~~ dstate.c:1401:26: note: used in buffer access here dstate_getinfo_nonzero(v1n, "L1-N.voltage"); ^~~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1404:26: note: used in buffer access here dstate_getinfo_nonzero(v1n, "L1-N.voltage"); ^~~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1349:21: warning: 'v2n' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *v1n, *v2n, *v3n, ~~~~~~~^~~ dstate.c:1402:26: note: used in buffer access here dstate_getinfo_nonzero(v2n, "L2-N.voltage"); ^~~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1349:27: warning: 'v3n' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *v1n, *v2n, *v3n, ~~~~~~~~~~~~~^~~ dstate.c:1403:26: note: used in buffer access here dstate_getinfo_nonzero(v3n, "L3-N.voltage"); ^~~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1350:15: warning: 'v12' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *v12, *v23, *v31, ~^~~ dstate.c:1405:26: note: used in buffer access here dstate_getinfo_nonzero(v12, "L1-L2.voltage"); ^~~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1350:21: warning: 'v23' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *v12, *v23, *v31, ~~~~~~~^~~ dstate.c:1406:26: note: used in buffer access here dstate_getinfo_nonzero(v23, "L2-L3.voltage"); ^~~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1350:27: warning: 'v31' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *v12, *v23, *v31, ~~~~~~~~~~~~~^~~ dstate.c:1407:26: note: used in buffer access here dstate_getinfo_nonzero(v31, "L3-L1.voltage"); ^~~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1351:15: warning: 'c1' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *c1, *c2, *c3, *c0; ~^~ dstate.c:1408:26: note: used in buffer access here dstate_getinfo_nonzero(c1, "L1.current"); ^~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1351:21: warning: 'c2' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *c1, *c2, *c3, *c0; ~~~~~~~^~ dstate.c:1409:26: note: used in buffer access here dstate_getinfo_nonzero(c2, "L2.current"); ^~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1351:27: warning: 'c3' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *c1, *c2, *c3, *c0; ~~~~~~~~~~~~~^~ dstate.c:1410:26: note: used in buffer access here dstate_getinfo_nonzero(c3, "L3.current"); ^~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1351:33: warning: 'c0' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] *c1, *c2, *c3, *c0; ~~~~~~~~~~~~~~~~~~~^~ dstate.c:1412:26: note: used in buffer access here dstate_getinfo_nonzero(c0, "current"); ^~ dstate.c:1391:30: note: expanded from macro 'dstate_getinfo_nonzero' if ( (var[0] == '0' && var[1] == '\0') || \ ^~~ dstate.c:1352:8: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[MAX_STRING_SIZE]; /* For concatenation of "xput_prefix" with items we want to query */ ~~~~~^~~~~~~~~~~~~~~~~~~~ dstate.c:1376:15: note: used in pointer arithmetic here bufrw_ptr = buf + xput_prefix_len ; ^~~ dstate.c:1521:19: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] const st_tree_t *node = (const st_tree_t *)dstate_getroot(); ^ 30 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT dstate.lo -MD -MP -MF .deps/dstate.Tpo -c dstate.c -o dstate.o >/dev/null 2>&1 belkin.c:74:43: warning: 'in' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char *get_belkin_field(const char *in, char *out, size_t outlen, size_t num) ~~~~~~~~~~~~^~ belkin.c:92:7: note: used in buffer access here if (in[i] == ';') { ^~ belkin.c:97:33: note: used in buffer access here snprintf(out, outlen, "%s", &in[i + 1]); ^~ belkin.c:111:39: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static ssize_t get_belkin_reply(char *buf) ~~~~~~^~~ belkin.c:146:2: note: used in buffer access here buf[cnt] = 0; ^~~ belkin.c:115:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[8]; ~~~~~~~~^~~~~~ belkin.c:129:15: note: used in pointer arithmetic here cnt = strtol(tmp + 4, NULL, 10); ^~~ belkin.c:128:2: note: used in buffer access here tmp[7] = 0; ^~~ belkin.c:159:36: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static ssize_t do_broken_rat(char *buf) ~~~~~~^~~ belkin.c:199:2: note: used in buffer access here buf[cnt] = 0; ^~~ belkin.c:163:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[8]; ~~~~~~~~^~~~~~ belkin.c:176:2: note: used in buffer access here tmp[7] = 0; ^~~ belkin.c:177:15: note: used in pointer arithmetic here cnt = strtol(tmp + 4, NULL, 10); ^~~ 5 warnings generated. depbase=`echo bestfcom.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT bestfcom.o -MD -MP -MF $depbase.Tpo -c -o bestfcom.o bestfcom.c &&\ mv -f $depbase.Tpo $depbase.Po belkinunv.c:214:53: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static unsigned char belkin_checksum(unsigned char *buf, int n) { ~~~~~~~~~~~~~~~^~~ belkinunv.c:219:10: note: used in buffer access here res += buf[i]; ^~~ belkinunv.c:249:46: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int belkin_nut_receive(unsigned char *buf, int bufsize) { ~~~~~~~~~~~~~~~^~~ belkinunv.c:275:30: note: used in buffer access here r = ser_get_buf_len(upsfd, &buf[1], 3, 3, 0); ^~~ belkinunv.c:282:8: note: used in buffer access here len = buf[2]; ^~~ belkinunv.c:289:30: note: used in buffer access here r = ser_get_buf_len(upsfd, &buf[4], (size_t)len, 3, 0); ^~~ belkinunv.c:297:37: note: used in buffer access here if (belkin_checksum(buf, len+3) != buf[len+3]) { ^~~ belkinunv.c:307:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[MAXMSGSIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ belkinunv.c:315:2: note: used in buffer access here buf[2] = 0x02; ^~~ belkinunv.c:317:2: note: used in buffer access here buf[4] = 0; ^~~ belkinunv.c:331:7: note: used in buffer access here if ((buf[1]!=0x05 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:316:2: note: used in buffer access here buf[3] = reg; ^~~ belkinunv.c:314:2: note: used in buffer access here buf[1] = 0x03; ^~~ belkinunv.c:318:2: note: used in buffer access here buf[5] = belkin_checksum(buf, 5); ^~~ belkinunv.c:331:23: note: used in buffer access here if ((buf[1]!=0x05 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:331:40: note: used in buffer access here if ((buf[1]!=0x05 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:335:6: note: used in buffer access here if (buf[1]==0x01) { ^~~ belkinunv.c:340:6: note: used in buffer access here if (buf[2] < 1) { ^~~ belkinunv.c:344:8: note: used in buffer access here len = buf[2]-1; ^~~ belkinunv.c:346:15: note: used in buffer access here memcpy(str, &buf[4], len); ^~~ belkinunv.c:310:8: warning: 'str' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *str; ~~~~~~^~~ belkinunv.c:347:2: note: used in buffer access here str[len]=0; ^~~ belkinunv.c:354:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[MAXMSGSIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ belkinunv.c:390:10: note: used in buffer access here return buf[4] + 256*buf[5]; ^~~ belkinunv.c:386:8: note: used in buffer access here len = buf[2]-1; ^~~ belkinunv.c:377:40: note: used in buffer access here if ((buf[1]!=0x05 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:381:6: note: used in buffer access here if (buf[1]==0x01) { ^~~ belkinunv.c:390:23: note: used in buffer access here return buf[4] + 256*buf[5]; ^~~ belkinunv.c:364:2: note: used in buffer access here buf[5] = belkin_checksum(buf, 5); ^~~ belkinunv.c:377:23: note: used in buffer access here if ((buf[1]!=0x05 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:363:2: note: used in buffer access here buf[4] = 0; ^~~ belkinunv.c:377:7: note: used in buffer access here if ((buf[1]!=0x05 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:360:2: note: used in buffer access here buf[1] = 0x03; ^~~ belkinunv.c:361:2: note: used in buffer access here buf[2] = 0x02; ^~~ belkinunv.c:362:2: note: used in buffer access here buf[3] = reg; ^~~ belkinunv.c:388:10: note: used in buffer access here return buf[4]; ^~~ belkinunv.c:400:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[MAXMSGSIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ belkinunv.c:427:6: note: used in buffer access here if (buf[1]==0x01) { ^~~ belkinunv.c:423:7: note: used in buffer access here if ((buf[1]!=0x02 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:423:23: note: used in buffer access here if ((buf[1]!=0x02 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:423:40: note: used in buffer access here if ((buf[1]!=0x02 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:408:2: note: used in buffer access here buf[4] = val & 0xff; ^~~ belkinunv.c:409:2: note: used in buffer access here buf[5] = (val>>8) & 0xff; ^~~ belkinunv.c:410:2: note: used in buffer access here buf[6] = belkin_checksum(buf, 6); ^~~ belkinunv.c:407:2: note: used in buffer access here buf[3] = reg; ^~~ belkinunv.c:405:2: note: used in buffer access here buf[1] = 0x04; ^~~ belkinunv.c:406:2: note: used in buffer access here buf[2] = 0x03; ^~~ belkinunv.c:468:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tios.c_cc[VMIN] = 1; ^~~~~~~~~ belkinunv.c:469:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tios.c_cc[VTIME] = 0; ^~~~~~~~~ belkinunv.c:526:54: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int belkin_std_upsread(int fd, unsigned char *buf, int n) { ~~~~~~~~~~~~~~~^~~ belkinunv.c:532:17: note: used in buffer access here r = read(fd, &buf[count], (size_t)(n-count)); ^~~ belkinunv.c:550:55: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int belkin_std_upswrite(int fd, unsigned char *buf, int n) { ~~~~~~~~~~~~~~~^~~ belkinunv.c:556:18: note: used in buffer access here r = write(fd, &buf[count], (size_t)(n-count)); ^~~ belkinunv.c:576:54: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int belkin_std_receive(int fd, unsigned char *buf, int bufsize) { ~~~~~~~~~~~~~~~^~~ belkinunv.c:614:37: note: used in buffer access here if (belkin_checksum(buf, len+3) != buf[len+3]) { ^~~ belkinunv.c:595:30: note: used in buffer access here r = belkin_std_upsread(fd, &buf[1], 3); ^~~ belkinunv.c:607:30: note: used in buffer access here r = belkin_std_upsread(fd, &buf[4], len); ^~~ belkinunv.c:601:8: note: used in buffer access here len = buf[2]; ^~~ belkinunv.c:623:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[MAXMSGSIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ belkinunv.c:654:10: note: used in buffer access here return buf[4]; ^~~ belkinunv.c:644:40: note: used in buffer access here if ((buf[1]!=0x05 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:644:23: note: used in buffer access here if ((buf[1]!=0x05 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:630:2: note: used in buffer access here buf[3] = reg; ^~~ belkinunv.c:656:10: note: used in buffer access here return buf[4] + 256*buf[5]; ^~~ belkinunv.c:632:2: note: used in buffer access here buf[5] = belkin_checksum(buf, 5); ^~~ belkinunv.c:629:2: note: used in buffer access here buf[2] = 0x02; ^~~ belkinunv.c:628:2: note: used in buffer access here buf[1] = 0x03; ^~~ belkinunv.c:647:6: note: used in buffer access here if (buf[1]==0x01) { ^~~ belkinunv.c:644:7: note: used in buffer access here if ((buf[1]!=0x05 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:656:23: note: used in buffer access here return buf[4] + 256*buf[5]; ^~~ belkinunv.c:652:8: note: used in buffer access here len = buf[2]-1; ^~~ belkinunv.c:631:2: note: used in buffer access here buf[4] = 0; ^~~ belkinunv.c:665:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[MAXMSGSIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ belkinunv.c:687:40: note: used in buffer access here if ((buf[1]!=0x02 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:690:6: note: used in buffer access here if (buf[1]==0x01) { ^~~ belkinunv.c:674:2: note: used in buffer access here buf[5] = (val>>8) & 0xff; ^~~ belkinunv.c:687:23: note: used in buffer access here if ((buf[1]!=0x02 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:687:7: note: used in buffer access here if ((buf[1]!=0x02 && buf[1]!=0x01) || buf[3] != reg) { ^~~ belkinunv.c:675:2: note: used in buffer access here buf[6] = belkin_checksum(buf, 6); ^~~ belkinunv.c:673:2: note: used in buffer access here buf[4] = val & 0xff; ^~~ belkinunv.c:672:2: note: used in buffer access here buf[3] = reg; ^~~ belkinunv.c:670:2: note: used in buffer access here buf[1] = 0x04; ^~~ belkinunv.c:671:2: note: used in buffer access here buf[2] = 0x03; ^~~ belkinunv.c:704:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[1024]; /* static string limit is OK */ ~~~~~^~~~~~~~~ belkinunv.c:733:2: note: used in buffer access here buf[sizeof(buf)-1] = 0; ^~~ belkinunv.c:189:20: warning: 'status' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *status[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ belkinunv.c:854:50: note: used in buffer access here updatestatus(smode, "%s, battery level: %d%%", status[st], bl); ^~~~~~ belkinunv.c:164:20: warning: 'upstype' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *upstype[3] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ belkinunv.c:924:36: note: used in buffer access here dstate_setinfo("ups.type", "%s", upstype[(val & 0x0f) % 3]); ^~~~~~~ belkinunv.c:170:20: warning: 'voltsens' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *voltsens[3] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ belkinunv.c:935:46: note: used in buffer access here dstate_addenum("input.sensitivity", "%s", voltsens[i]); ^~~~~~~~ belkinunv.c:930:79: note: used in buffer access here dstate_setinfo("input.sensitivity", "%s", (val>=0 && val=0 && val=0 && val= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ bcmxcp.c:814:6: note: used in buffer access here bcmxcp_command_map[commandByte].command_byte = commandByte; ^~~~~~~~~~~~~~~~~~ bcmxcp.c:826:10: note: used in buffer access here if (bcmxcp_command_map[i].command_byte > 0) { ^~~~~~~~~~~~~~~~~~ bcmxcp.c:827:58: note: used in buffer access here if ((nutvalue = nut_find_infoval(command_map_info, bcmxcp_command_map[i].command_byte, FALSE)) != NULL) { ^~~~~~~~~~~~~~~~~~ bcmxcp.c:777:16: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:795:9: note: used in buffer access here res = answer[iIndex]; ^~~~~~ bcmxcp.c:799:9: note: used in buffer access here res = answer[iIndex]; /* Entry length - bytes reported for each command */ ^~~~~~ bcmxcp.c:811:19: note: used in buffer access here commandByte = answer[iIndex]; ^~~~~~ bcmxcp.c:844:46: warning: 'map' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void init_ups_meter_map(const unsigned char *map, unsigned char len) ~~~~~~~~~~~~~~~~~~~~~^~~ bcmxcp.c:854:37: note: used in buffer access here bcmxcp_meter_map[iIndex].format = map[iIndex]; ^~~ bcmxcp.c:855:7: note: used in buffer access here if (map[iIndex] != 0) ^~~ bcmxcp.c:266:2: warning: 'bcmxcp_meter_map' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] bcmxcp_meter_map[BCMXCP_METER_MAP_MAX]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:862:61: note: used in buffer access here (bcmxcp_meter_map[iIndex].nut_entity == NULL ? "None" :bcmxcp_meter_map[iIndex].nut_entity)); ^~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ bcmxcp.c:854:3: note: used in buffer access here bcmxcp_meter_map[iIndex].format = map[iIndex]; ^~~~~~~~~~~~~~~~ bcmxcp.c:861:57: note: used in buffer access here upsdebugx(2, "%04d\t%04d\t%2x\t%s", iIndex, iOffset, bcmxcp_meter_map[iIndex].format, ^~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ bcmxcp.c:858:4: note: used in buffer access here bcmxcp_meter_map[iIndex].meter_block_index = iOffset; ^~~~~~~~~~~~~~~~ bcmxcp.c:862:7: note: used in buffer access here (bcmxcp_meter_map[iIndex].nut_entity == NULL ? "None" :bcmxcp_meter_map[iIndex].nut_entity)); ^~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ bcmxcp.c:870:50: warning: 'entry' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void decode_meter_map_entry(const unsigned char *entry, const unsigned char format, char* value) ~~~~~~~~~~~~~~~~~~~~~^~~~~ bcmxcp.c:925:8: note: used in buffer access here cc = entry[3]; ^~~~~ bcmxcp.c:943:8: note: used in buffer access here mm = entry[2]; ^~~~~ bcmxcp.c:924:8: note: used in buffer access here yy = entry[2]; ^~~~~ bcmxcp.c:944:8: note: used in buffer access here hh = entry[3]; ^~~~~ bcmxcp.c:942:8: note: used in buffer access here ss = entry[1]; ^~~~~ bcmxcp.c:923:8: note: used in buffer access here mm = entry[1]; ^~~~~ bcmxcp.c:997:23: warning: 'map' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const unsigned char *map, ~~~~~~~~~~~~~~~~~~~~~^~~ bcmxcp.c:1004:6: note: used in buffer access here if (map[mapIndex] & bitmask) ^~~ bcmxcp.c:268:2: warning: 'bcmxcp_alarm_map' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] bcmxcp_alarm_map[BCMXCP_ALARM_MAP_MAX]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1008:3: note: used in buffer access here bcmxcp_alarm_map[alarmMapIndex].alarm_block_index = (int)alarmBlockIndex; ^~~~~~~~~~~~~~~~ bcmxcp.c:1013:3: note: used in buffer access here bcmxcp_alarm_map[alarmMapIndex].alarm_block_index = -1; ^~~~~~~~~~~~~~~~ bcmxcp.c:1024:32: note: used in buffer access here upsdebugx(3, "%04d\t%s\tNo", bcmxcp_alarm_map[alarmMapIndex].alarm_block_index, bcmxcp_alarm_map[alarmMapIndex].alarm_desc); ^~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ bcmxcp.c:1019:84: note: used in buffer access here upsdebugx(2, "%04d\t%s\tYes", bcmxcp_alarm_map[alarmMapIndex].alarm_block_index, bcmxcp_alarm_map[alarmMapIndex].alarm_desc); ^~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ bcmxcp.c:1019:33: note: used in buffer access here upsdebugx(2, "%04d\t%s\tYes", bcmxcp_alarm_map[alarmMapIndex].alarm_block_index, bcmxcp_alarm_map[alarmMapIndex].alarm_desc); ^~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ bcmxcp.c:1017:6: note: used in buffer access here if (bcmxcp_alarm_map[alarmMapIndex].alarm_block_index >= 0) { ^~~~~~~~~~~~~~~~ bcmxcp.c:1024:83: note: used in buffer access here upsdebugx(3, "%04d\t%s\tNo", bcmxcp_alarm_map[alarmMapIndex].alarm_block_index, bcmxcp_alarm_map[alarmMapIndex].alarm_desc); ^~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ bcmxcp.c:1034:16: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1060:18: note: used in buffer access here outlet_state = answer[iIndex++]; ^~~~~~ bcmxcp.c:1066:27: note: used in pointer arithmetic here auto_dly_off = get_word(answer+iIndex); ^~~~~~ bcmxcp.c:1048:15: note: used in buffer access here num_outlet = answer[iIndex++]; ^~~~~~ bcmxcp.c:1051:16: note: used in buffer access here size_outlet = answer[iIndex++]; ^~~~~~ bcmxcp.c:1074:26: note: used in pointer arithmetic here auto_dly_on = get_word(answer+iIndex); ^~~~~~ bcmxcp.c:1055:16: note: used in buffer access here outlet_num = answer[iIndex++]; ^~~~~~ bcmxcp.c:175:20: warning: 'OutletStatus' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *OutletStatus[9] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ bcmxcp.c:1064:38: note: used in buffer access here dstate_setinfo(outlet_name, "%s", OutletStatus[outlet_state]); ^~~~~~~~~~~~ bcmxcp.c:1088:16: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE], cbuf[5]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1107:10: note: used in buffer access here switch(answer[index]) { ^~~~~~ bcmxcp.c:1088:44: warning: 'cbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE], cbuf[5]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ bcmxcp.c:1098:2: note: used in buffer access here cbuf[2] = 0x0; ^~~~ bcmxcp.c:1099:2: note: used in buffer access here cbuf[3] = 0x0; ^~~~ bcmxcp.c:1097:2: note: used in buffer access here cbuf[1] = PW_CONF_REQ; ^~~~ bcmxcp.c:1170:16: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1184:22: note: used in pointer arithmetic here voltage = get_word((answer + BCMXCP_CONFIG_BLOCK_NOMINAL_OUTPUT_VOLTAGE)); ^~~~~~ bcmxcp.c:1189:24: note: used in pointer arithmetic here frequency = get_word((answer + BCMXCP_CONFIG_BLOCK_NOMINAL_OUTPUT_FREQ)); ^~~~~~ bcmxcp.c:1209:41: note: used in pointer arithmetic here snprintf(sValue, sizeof(sValue), "%s", answer + BCMXCP_CONFIG_BLOCK_SERIAL_NUMBER); ^~~~~~ bcmxcp.c:1181:32: note: used in buffer access here bcmxcp_status.topology_mask = answer[BCMXCP_CONFIG_BLOCK_HW_MODULES_INSTALLED_BYTE3]; ^~~~~~ bcmxcp.c:1214:51: note: used in pointer arithmetic here snprintf(sPartNumber, sizeof(sPartNumber), "%s", answer + BCMXCP_CONFIG_BLOCK_PART_NUMBER); ^~~~~~ bcmxcp.c:1194:21: note: used in pointer arithmetic here tmp = (uint16_t) *(answer + BCMXCP_CONFIG_BLOCK_BATTERY_DATA_WORD3); ^~~~~~ bcmxcp.c:1224:16: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1268:26: note: used in buffer access here bcmxcp_status.lowbatt = answer[BCMXCP_EXT_LIMITS_BLOCK_LOW_BATT_WARNING] * 60; ^~~~~~ bcmxcp.c:1277:10: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_HORN_STATUS]; ^~~~~~ bcmxcp.c:1246:21: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_FREQ_DEV_LIMIT)); ^~~~~~ bcmxcp.c:1240:20: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_NOMINAL_INPUT_FREQ)); ^~~~~~ bcmxcp.c:1331:10: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_BATT_CAPACITY_RETURN]; ^~~~~~ bcmxcp.c:1256:20: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_VOLTAGE_LOW_DEV_LIMIT)); ^~~~~~ bcmxcp.c:1325:19: note: used in pointer arithmetic here value = get_word(answer + BCMXCP_EXT_LIMITS_BLOCK_RETURN_STAB_DELAY); ^~~~~~ bcmxcp.c:1313:10: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_SLEEP_DELAY]; ^~~~~~ bcmxcp.c:1319:10: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_LOW_BATT_WARNING]; ^~~~~~ bcmxcp.c:1307:10: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_SLEEP_TH_LOAD]; ^~~~~~ bcmxcp.c:1262:20: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_VOLTAGE_HIGE_DEV_LIMIT)); ^~~~~~ bcmxcp.c:1301:10: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_AMBIENT_TEMP_HIGE]; ^~~~~~ bcmxcp.c:1234:20: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_NOMINAL_INPUT_VOLTAGE)); ^~~~~~ bcmxcp.c:1295:10: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_AMBIENT_TEMP_LOW]; ^~~~~~ bcmxcp.c:1283:20: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_MIN_INPUT_VOLTAGE)); ^~~~~~ bcmxcp.c:1289:20: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_MAX_INPUT_VOLTAGE)); ^~~~~~ bcmxcp.c:198:20: warning: 'horn_stat' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *horn_stat[3] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ bcmxcp.c:1279:45: note: used in buffer access here dstate_setinfo("ups.beeper.status", "%s", horn_stat[value]); ^~~~~~~~~ bcmxcp.c:1358:16: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE], cbuf[5]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1383:11: note: used in buffer access here value = answer[i]; ^~~~~~ bcmxcp.c:1358:44: warning: 'cbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE], cbuf[5]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ bcmxcp.c:1369:2: note: used in buffer access here cbuf[1] = PW_SYS_TEST_REPORT_CAPABILITIES; ^~~~ bcmxcp.c:1393:16: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1508:8: note: used in buffer access here len = answer[iIndex++]; ^~~~~~ bcmxcp.c:1501:8: note: used in buffer access here len = answer[iIndex++]; ^~~~~~ bcmxcp.c:1504:21: note: used in pointer arithmetic here init_ups_meter_map(answer+iIndex, (unsigned char)len); ^~~~~~ bcmxcp.c:1519:8: note: used in buffer access here len = answer[iIndex++]; ^~~~~~ bcmxcp.c:1514:28: note: used in pointer arithmetic here conf_block_len = get_word(answer+iIndex); ^~~~~~ bcmxcp.c:1537:8: note: used in buffer access here len = answer[iIndex++]; ^~~~~~ bcmxcp.c:1554:30: note: used in pointer arithmetic here alarm_block_len = get_word(answer+iIndex); ^~~~~~ bcmxcp.c:1542:27: note: used in pointer arithmetic here cmd_list_len = get_word(answer+iIndex); ^~~~~~ bcmxcp.c:1548:31: note: used in pointer arithmetic here outlet_block_len = get_word(answer+iIndex); ^~~~~~ bcmxcp.c:1442:62: note: used in buffer access here snprintfcat(pTmp, buf+1, "%s%02x.%02x ", cpu_name[ncpu], answer[iIndex+1], answer[iIndex]); ^~~~~~ bcmxcp.c:1532:32: note: used in pointer arithmetic here topology_block_len = get_word(answer+iIndex); ^~~~~~ bcmxcp.c:1525:17: note: used in pointer arithmetic here len = get_word(answer+iIndex); ^~~~~~ bcmxcp.c:1483:8: note: used in buffer access here len = answer[iIndex++]; ^~~~~~ bcmxcp.c:1487:32: note: used in pointer arithmetic here snprintf(pTmp, len + 1, "%s", answer + iIndex); ^~~~~~ bcmxcp.c:1459:17: note: used in buffer access here if ((iRating = answer[iIndex++]) > 0) ^~~~~~ bcmxcp.c:1470:13: note: used in buffer access here nphases = (answer[iIndex++]); ^~~~~~ bcmxcp.c:1510:21: note: used in pointer arithmetic here init_ups_alarm_map(answer+iIndex, (unsigned char)len); ^~~~~~ bcmxcp.c:1464:22: note: used in pointer arithmetic here iRating = get_word(answer+iIndex) * 50; ^~~~~~ bcmxcp.c:1440:9: note: used in buffer access here if ((answer[iIndex] != 0x00) || (answer[iIndex+1] != 0x00)) { ^~~~~~ bcmxcp.c:1430:8: note: used in buffer access here len = answer[iIndex++]; ^~~~~~ bcmxcp.c:1442:80: note: used in buffer access here snprintfcat(pTmp, buf+1, "%s%02x.%02x ", cpu_name[ncpu], answer[iIndex+1], answer[iIndex]); ^~~~~~ bcmxcp.c:1440:37: note: used in buffer access here if ((answer[iIndex] != 0x00) || (answer[iIndex+1] != 0x00)) { ^~~~~~ bcmxcp.c:1394:8: warning: 'pTmp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *pTmp; ~~~~~~^~~~ bcmxcp.c:1488:2: note: used in buffer access here pTmp[len+1] = 0; ^~~~ bcmxcp.c:191:20: warning: 'cpu_name' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *cpu_name[5] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ bcmxcp.c:1442:46: note: used in buffer access here snprintfcat(pTmp, buf+1, "%s%02x.%02x ", cpu_name[ncpu], answer[iIndex+1], answer[iIndex]); ^~~~~~~~ bcmxcp.c:264:2: warning: 'bcmxcp_command_map' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] bcmxcp_command_map[BCMXCP_COMMAND_MAP_MAX]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1595:6: note: used in buffer access here if (bcmxcp_command_map[PW_INIT_SYS_TEST].command_byte > 0) { ^~~~~~~~~~~~~~~~~~ bcmxcp.c:1804:55: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] *(answer + BCMXCP_BATTDATA_BLOCK_NUMBER_OF_STRINGS + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ bcmxcp.c:1804:13: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] *(answer + BCMXCP_BATTDATA_BLOCK_NUMBER_OF_STRINGS + ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1607:16: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[PW_ANSWER_MAX_SIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1630:27: note: used in pointer arithmetic here decode_meter_map_entry(answer + bcmxcp_meter_map[iIndex].meter_block_index, ^~~~~~ bcmxcp.c:1678:9: note: used in buffer access here if (answer[bcmxcp_alarm_map[iIndex].alarm_block_index] > 0) { ^~~~~~ bcmxcp.c:1716:21: note: used in pointer arithmetic here memcpy(&topology, answer+1, sizeof(topology)); ^~~~~~ bcmxcp.c:1804:6: note: used in pointer arithmetic here *(answer + BCMXCP_BATTDATA_BLOCK_NUMBER_OF_STRINGS + ^~~~~~ bcmxcp.c:1805:8: note: used in pointer arithmetic here *(answer + BCMXCP_BATTDATA_BLOCK_NUMBER_OF_STRINGS) * 1 + 2); ^~~~~~ bcmxcp.c:1818:21: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_NOMINAL_INPUT_VOLTAGE)); ^~~~~~ bcmxcp.c:1825:21: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_VOLTAGE_LOW_DEV_LIMIT)); ^~~~~~ bcmxcp.c:1832:21: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_VOLTAGE_HIGE_DEV_LIMIT)); ^~~~~~ bcmxcp.c:1839:21: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_MIN_INPUT_VOLTAGE)); ^~~~~~ bcmxcp.c:1846:21: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_EXT_LIMITS_BLOCK_MAX_INPUT_VOLTAGE)); ^~~~~~ bcmxcp.c:1853:11: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_HORN_STATUS]; ^~~~~~ bcmxcp.c:1859:11: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_AMBIENT_TEMP_HIGE]; ^~~~~~ bcmxcp.c:1866:11: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_SLEEP_TH_LOAD]; ^~~~~~ bcmxcp.c:1872:11: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_SLEEP_DELAY]; ^~~~~~ bcmxcp.c:1878:11: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_LOW_BATT_WARNING]; ^~~~~~ bcmxcp.c:1884:20: note: used in pointer arithmetic here value = get_word(answer + BCMXCP_EXT_LIMITS_BLOCK_RETURN_STAB_DELAY); ^~~~~~ bcmxcp.c:1890:11: note: used in buffer access here value = answer[BCMXCP_EXT_LIMITS_BLOCK_BATT_CAPACITY_RETURN]; ^~~~~~ bcmxcp.c:1903:21: note: used in pointer arithmetic here value = get_word((answer + BCMXCP_CONFIG_BLOCK_NOMINAL_OUTPUT_VOLTAGE)); ^~~~~~ bcmxcp.c:1908:24: note: used in pointer arithmetic here value = (uint16_t) *(answer + BCMXCP_CONFIG_BLOCK_BATTERY_DATA_WORD3); ^~~~~~ bcmxcp.c:169:20: warning: 'ABMStatus' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *ABMStatus[4] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ bcmxcp.c:1808:51: note: used in buffer access here dstate_setinfo("battery.charger.status", "%s", ABMStatus[value-1]); ^~~~~~~~~ bcmxcp.c:198:20: warning: 'horn_stat' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *horn_stat[3] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ bcmxcp.c:1856:46: note: used in buffer access here dstate_setinfo("ups.beeper.status", "%s", horn_stat[value]); ^~~~~~~~~ bcmxcp.c:266:2: warning: 'bcmxcp_meter_map' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] bcmxcp_meter_map[BCMXCP_METER_MAP_MAX]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1629:7: note: used in buffer access here if (bcmxcp_meter_map[iIndex].format != 0 && bcmxcp_meter_map[iIndex].nut_entity != NULL) { ^~~~~~~~~~~~~~~~ bcmxcp.c:1629:47: note: used in buffer access here if (bcmxcp_meter_map[iIndex].format != 0 && bcmxcp_meter_map[iIndex].nut_entity != NULL) { ^~~~~~~~~~~~~~~~ bcmxcp.c:1634:19: note: used in buffer access here dstate_setinfo(bcmxcp_meter_map[iIndex].nut_entity, "%s", sValue); ^~~~~~~~~~~~~~~~ bcmxcp.c:1630:36: note: used in buffer access here decode_meter_map_entry(answer + bcmxcp_meter_map[iIndex].meter_block_index, ^~~~~~~~~~~~~~~~ bcmxcp.c:1631:8: note: used in buffer access here bcmxcp_meter_map[iIndex].format, sValue); ^~~~~~~~~~~~~~~~ bcmxcp.c:1637:45: note: used in buffer access here if (has_ups_load == FALSE && !strcasecmp(bcmxcp_meter_map[iIndex].nut_entity, "ups.load")) { ^~~~~~~~~~~~~~~~ bcmxcp.c:268:2: warning: 'bcmxcp_alarm_map' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] bcmxcp_alarm_map[BCMXCP_ALARM_MAP_MAX]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1677:8: note: used in buffer access here if (bcmxcp_alarm_map[iIndex].alarm_block_index >= 0 && bcmxcp_alarm_map[iIndex].alarm_desc != NULL) { ^~~~~~~~~~~~~~~~ bcmxcp.c:1677:59: note: used in buffer access here if (bcmxcp_alarm_map[iIndex].alarm_block_index >= 0 && bcmxcp_alarm_map[iIndex].alarm_desc != NULL) { ^~~~~~~~~~~~~~~~ bcmxcp.c:1678:16: note: used in buffer access here if (answer[bcmxcp_alarm_map[iIndex].alarm_block_index] > 0) { ^~~~~~~~~~~~~~~~ bcmxcp.c:1679:16: note: used in buffer access here alarm_set(bcmxcp_alarm_map[iIndex].alarm_desc); ^~~~~~~~~~~~~~~~ bcmxcp.c:1918:47: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] float calculate_ups_load(const unsigned char *answer) ~~~~~~~~~~~~~~~~~~~~~^~~~~~ bcmxcp.c:1926:26: note: used in pointer arithmetic here decode_meter_map_entry(answer + bcmxcp_meter_map[BCMXCP_METER_MAP_OUTPUT_VA].meter_block_index, ^~~~~~ bcmxcp.c:1929:26: note: used in pointer arithmetic here decode_meter_map_entry(answer + bcmxcp_meter_map[BCMXCP_METER_MAP_OUTPUT_VA_BAR_CHART].meter_block_index, ^~~~~~ bcmxcp.c:1936:26: note: used in pointer arithmetic here decode_meter_map_entry(answer + bcmxcp_meter_map[BCMXCP_METER_MAP_LOAD_CURRENT_PHASE_A].meter_block_index, ^~~~~~ bcmxcp.c:1939:26: note: used in pointer arithmetic here decode_meter_map_entry(answer + bcmxcp_meter_map[BCMXCP_METER_MAP_LOAD_CURRENT_PHASE_A_BAR_CHART].meter_block_index, ^~~~~~ bcmxcp.c:266:2: warning: 'bcmxcp_meter_map' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] bcmxcp_meter_map[BCMXCP_METER_MAP_MAX]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:1923:6: note: used in buffer access here if (bcmxcp_meter_map[BCMXCP_METER_MAP_OUTPUT_VA].format != 0 && /* Output VA */ ^~~~~~~~~~~~~~~~ bcmxcp.c:1924:4: note: used in buffer access here bcmxcp_meter_map[BCMXCP_METER_MAP_OUTPUT_VA_BAR_CHART].format != 0) /* Max output VA */ ^~~~~~~~~~~~~~~~ bcmxcp.c:1926:35: note: used in buffer access here decode_meter_map_entry(answer + bcmxcp_meter_map[BCMXCP_METER_MAP_OUTPUT_VA].meter_block_index, ^~~~~~~~~~~~~~~~ bcmxcp.c:1927:7: note: used in buffer access here bcmxcp_meter_map[BCMXCP_METER_MAP_OUTPUT_VA].format, sValue); ^~~~~~~~~~~~~~~~ bcmxcp.c:1929:35: note: used in buffer access here decode_meter_map_entry(answer + bcmxcp_meter_map[BCMXCP_METER_MAP_OUTPUT_VA_BAR_CHART].meter_block_index, ^~~~~~~~~~~~~~~~ bcmxcp.c:1930:7: note: used in buffer access here bcmxcp_meter_map[BCMXCP_METER_MAP_OUTPUT_VA_BAR_CHART].format, sValue); ^~~~~~~~~~~~~~~~ bcmxcp.c:1933:11: note: used in buffer access here else if (bcmxcp_meter_map[BCMXCP_METER_MAP_LOAD_CURRENT_PHASE_A].format != 0 && /* Output A */ ^~~~~~~~~~~~~~~~ bcmxcp.c:1934:7: note: used in buffer access here bcmxcp_meter_map[BCMXCP_METER_MAP_LOAD_CURRENT_PHASE_A_BAR_CHART].format != 0) /* Max output A */ ^~~~~~~~~~~~~~~~ bcmxcp.c:1936:35: note: used in buffer access here decode_meter_map_entry(answer + bcmxcp_meter_map[BCMXCP_METER_MAP_LOAD_CURRENT_PHASE_A].meter_block_index, ^~~~~~~~~~~~~~~~ bcmxcp.c:1937:7: note: used in buffer access here bcmxcp_meter_map[BCMXCP_METER_MAP_LOAD_CURRENT_PHASE_A].format, sValue); ^~~~~~~~~~~~~~~~ bcmxcp.c:1939:35: note: used in buffer access here decode_meter_map_entry(answer + bcmxcp_meter_map[BCMXCP_METER_MAP_LOAD_CURRENT_PHASE_A_BAR_CHART].meter_block_index, ^~~~~~~~~~~~~~~~ bcmxcp.c:1940:7: note: used in buffer access here bcmxcp_meter_map[BCMXCP_METER_MAP_LOAD_CURRENT_PHASE_A_BAR_CHART].format, sValue); ^~~~~~~~~~~~~~~~ bcmxcp.c:1969:32: warning: 'cmdname' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int instcmd(const char *cmdname, const char *extra) ~~~~~~~~~~~~^~~~~~~ bcmxcp.c:2146:16: note: used in buffer access here outlet_num = cmdname[NUT_OUTLET_POSITION] - '0'; ^~~~~~~ bcmxcp.c:2151:14: note: used in buffer access here cbuf[0] = (cmdname[NUT_OUTLET_POSITION+8] == 'n') ? PW_UPS_ON : PW_UPS_OFF; /* Cmd oN or not*/ ^~~~~~~ bcmxcp.c:2158:6: note: used in buffer access here ((cmdname[NUT_OUTLET_POSITION+8] == 'n') ? "On" : "Off")); ^~~~~~~ bcmxcp.c:2083:11: note: used in buffer access here switch (cmdname[7]) { ^~~~~~~ bcmxcp.c:2116:68: note: used in buffer access here snprintf(varname, sizeof(varname)-1, "outlet.%c.delay.shutdown", cmdname[NUT_OUTLET_POSITION]); ^~~~~~~ bcmxcp.c:2124:16: note: used in buffer access here outlet_num = cmdname[NUT_OUTLET_POSITION] - '0'; ^~~~~~~ bcmxcp.c:1971:16: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[128], cbuf[6]; ~~~~~~~~~~~~~~^~~~~~~~~~~ bcmxcp.c:2135:31: note: used in buffer access here sec = (256 * (unsigned char)answer[3]) + (unsigned char)answer[2]; ^~~~~~ bcmxcp.c:2135:59: note: used in buffer access here sec = (256 * (unsigned char)answer[3]) + (unsigned char)answer[2]; ^~~~~~ bcmxcp.c:1993:59: note: used in buffer access here sec = (256 * (unsigned char)answer[3]) + (unsigned char)answer[2]; ^~~~~~ bcmxcp.c:1993:31: note: used in buffer access here sec = (256 * (unsigned char)answer[3]) + (unsigned char)answer[2]; ^~~~~~ bcmxcp.c:1971:29: warning: 'cbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[128], cbuf[6]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ bcmxcp.c:2131:3: note: used in buffer access here cbuf[3] = (unsigned char)outlet_num; /* which outlet load segment? Assumes outlet number at position 8 of the command string. */ ^~~~ bcmxcp.c:2152:3: note: used in buffer access here cbuf[1] = (unsigned char)outlet_num; /* Outlet number */ ^~~~ bcmxcp.c:2087:5: note: used in buffer access here cbuf[2] = 0x0; /*disable beeper*/ ^~~~ bcmxcp.c:2038:3: note: used in buffer access here cbuf[1] = 0x0A; /* 10 sec start delay for test.*/ ^~~~ bcmxcp.c:2039:3: note: used in buffer access here cbuf[2] = 0x1E; /* 30 sec test duration.*/ ^~~~ bcmxcp.c:2082:3: note: used in buffer access here cbuf[1] = PW_CONF_BEEPER; ^~~~ bcmxcp.c:2057:3: note: used in buffer access here cbuf[1] = PW_SYS_TEST_GENERAL; ^~~~ bcmxcp.c:1988:3: note: used in buffer access here cbuf[1] = (unsigned char)(bcmxcp_status.shutdowndelay & 0x00ff); /* "delay" sec delay for shutdown, */ ^~~~ bcmxcp.c:1989:3: note: used in buffer access here cbuf[2] = (unsigned char)(bcmxcp_status.shutdowndelay >> 8); /* high byte sec. From ups.conf. */ ^~~~ bcmxcp.c:2069:3: note: used in buffer access here cbuf[1] = PW_SYS_TEST_FLASH_LIGHTS; ^~~~ bcmxcp.c:2070:3: note: used in buffer access here cbuf[2] = 0x0A; /* Flash and beep 10 times */ ^~~~ bcmxcp.c:2092:5: note: used in buffer access here cbuf[2] = 0x1; /*enable beeper*/ ^~~~ bcmxcp.c:2097:5: note: used in buffer access here cbuf[2] = 0x2; ^~~~ bcmxcp.c:2101:3: note: used in buffer access here cbuf[3] = 0x0; /*padding*/ ^~~~ bcmxcp.c:2129:3: note: used in buffer access here cbuf[1] = sddelay & 0xff; ^~~~ bcmxcp.c:2130:3: note: used in buffer access here cbuf[2] = (unsigned char)(sddelay >> 8); /* high byte of the 2 byte time argument */ ^~~~ bcmxcp.c:1973:7: warning: 'namebuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char namebuf[MAX_NUT_NAME_LENGTH]; ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:2108:2: note: used in buffer access here namebuf[NUT_OUTLET_POSITION] = 'n'; /* Assumes a maximum of 9 outlets */ ^~~~~~~ bcmxcp.c:2222:25: warning: 'varname' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int setvar (const char *varname, const char *val) ~~~~~~~~~~~~^~~~~~~ bcmxcp.c:2480:16: note: used in buffer access here outlet_num = varname[NUT_OUTLET_POSITION] - '0'; ^~~~~~~ bcmxcp.c:2224:29: warning: 'cbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char answer[128], cbuf[5]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ bcmxcp.c:2314:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2383:3: note: used in buffer access here cbuf[1]=PW_CONF_NOMINAL_OUT_VOLTAGE; ^~~~ bcmxcp.c:2360:3: note: used in buffer access here cbuf[1]=PW_CONF_MAX_TEMP; ^~~~ bcmxcp.c:2315:3: note: used in buffer access here cbuf[3]=(unsigned char)(tmp>>8); ^~~~ bcmxcp.c:2362:3: note: used in buffer access here cbuf[3]=0x0; ^~~~ bcmxcp.c:2406:3: note: used in buffer access here cbuf[1]=PW_CONF_SLEEP_TH_LOAD; ^~~~ bcmxcp.c:2407:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2408:3: note: used in buffer access here cbuf[3]=0x0; ^~~~ bcmxcp.c:2428:3: note: used in buffer access here cbuf[1]=PW_CONF_SLEEP_DELAY; ^~~~ bcmxcp.c:2429:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2430:3: note: used in buffer access here cbuf[3]=0x0; ^~~~ bcmxcp.c:2452:3: note: used in buffer access here cbuf[1]=PW_CONF_BATT_STRINGS; ^~~~ bcmxcp.c:2453:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2454:3: note: used in buffer access here cbuf[3]=0x0; ^~~~ bcmxcp.c:2496:3: note: used in buffer access here cbuf[1] = (unsigned char)onOff_setting; /* Set Auto Off (1) or On (2) Delay */ ^~~~ bcmxcp.c:2497:3: note: used in buffer access here cbuf[2] = (unsigned char)outlet_num; /* Outlet number */ ^~~~ bcmxcp.c:2498:3: note: used in buffer access here cbuf[3] = sec&0xff; /* Delay in seconds LSB */ ^~~~ bcmxcp.c:2499:3: note: used in buffer access here cbuf[4] = (unsigned char)(sec>>8); /* Delay in seconds MSB */ ^~~~ bcmxcp.c:2361:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2292:3: note: used in buffer access here cbuf[3]=0x0; ^~~~ bcmxcp.c:2313:3: note: used in buffer access here cbuf[1]=PW_CONF_RETURN_DELAY; ^~~~ bcmxcp.c:2268:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2291:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2290:3: note: used in buffer access here cbuf[1]=PW_CONF_LOW_BATT; ^~~~ bcmxcp.c:2267:3: note: used in buffer access here cbuf[1]=PW_CONF_HIGH_DEV_LIMIT; ^~~~ bcmxcp.c:2246:3: note: used in buffer access here cbuf[3]=(unsigned char)(tmp>>8); ^~~~ bcmxcp.c:2385:3: note: used in buffer access here cbuf[3]=(unsigned char)(tmp>>8); ^~~~ bcmxcp.c:2269:3: note: used in buffer access here cbuf[3]=(unsigned char)(tmp>>8); ^~~~ bcmxcp.c:2384:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2245:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2336:3: note: used in buffer access here cbuf[1]=PW_CONF_RETURN_CAP; ^~~~ bcmxcp.c:2337:3: note: used in buffer access here cbuf[2]=tmp&0xff; ^~~~ bcmxcp.c:2338:3: note: used in buffer access here cbuf[3]=0x0; ^~~~ bcmxcp.c:2244:3: note: used in buffer access here cbuf[1]=PW_CONF_LOW_DEV_LIMIT; ^~~~ bcmxcp.c:2225:7: warning: 'namebuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char namebuf[MAX_NUT_NAME_LENGTH]; ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcmxcp.c:2463:2: note: used in buffer access here namebuf[NUT_OUTLET_POSITION] = 'n'; /* Assumes a maximum of 9 outlets */ ^~~~~~~ bcmxcp.c:2566:14: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~^~~~~~~~ bcmxcp.c:2574:57: note: used in pointer arithmetic here for (info_lkp = xcp2info; info_lkp->nut_value != NULL; info_lkp++) { ^~~~~~~~ 48 warnings generated. depbase=`echo bestups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT bestups.o -MD -MP -MF $depbase.Tpo -c -o bestups.o bestups.c &&\ mv -f $depbase.Tpo $depbase.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I../clients -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT dummy_ups-dummy-ups.o -MD -MP -MF .deps/dummy_ups-dummy-ups.Tpo -c -o dummy_ups-dummy-ups.o `test -f 'dummy-ups.c' || echo './'`dummy-ups.c bestuferrups.c:133:7: warning: 'fstring' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char fstring[512]; ~~~~~^~~~~~~~~~~~ bestuferrups.c:170:15: note: used in pointer arithmetic here memcpy(tmp, fstring+16, 2); ^~~~~~~ bestuferrups.c:175:15: note: used in pointer arithmetic here memcpy(tmp, fstring+18, 2); ^~~~~~~ bestuferrups.c:180:15: note: used in pointer arithmetic here memcpy(tmp, fstring+24, 4); ^~~~~~~ bestuferrups.c:185:15: note: used in pointer arithmetic here memcpy(tmp, fstring+28, 4); ^~~~~~~ bestuferrups.c:190:15: note: used in pointer arithmetic here memcpy(tmp, fstring+36, 4); ^~~~~~~ bestuferrups.c:195:15: note: used in pointer arithmetic here memcpy(tmp, fstring+50, 4); ^~~~~~~ bestuferrups.c:200:15: note: used in pointer arithmetic here memcpy(tmp, fstring+40, 6); ^~~~~~~ bestuferrups.c:205:15: note: used in pointer arithmetic here memcpy(tmp, fstring+72, 2); ^~~~~~~ bestuferrups.c:210:15: note: used in pointer arithmetic here memcpy(tmp, fstring+20, 2); ^~~~~~~ bestuferrups.c:215:15: note: used in pointer arithmetic here memcpy(tmp, fstring+22, 2); ^~~~~~~ bestuferrups.c:220:15: note: used in pointer arithmetic here memcpy(tmp, fstring+54, 4); ^~~~~~~ bestuferrups.c:225:15: note: used in pointer arithmetic here memcpy(tmp, fstring+58, 4); ^~~~~~~ bestuferrups.c:230:15: note: used in pointer arithmetic here memcpy(tmp, fstring+62, 4); ^~~~~~~ bestuferrups.c:167:8: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[16]; ~~~~~^~~~~~~ bestuferrups.c:171:3: note: used in buffer access here tmp[2] = '\0'; ^~~ bestuferrups.c:181:3: note: used in buffer access here tmp[4] = '\0'; ^~~ bestuferrups.c:176:3: note: used in buffer access here tmp[2] = '\0'; ^~~ bestuferrups.c:186:3: note: used in buffer access here tmp[4] = '\0'; ^~~ bestuferrups.c:191:3: note: used in buffer access here tmp[4] = '\0'; ^~~ bestuferrups.c:196:3: note: used in buffer access here tmp[4] = '\0'; ^~~ bestuferrups.c:201:3: note: used in buffer access here tmp[6] = '\0'; ^~~ bestuferrups.c:206:3: note: used in buffer access here tmp[2] = '\0'; ^~~ bestuferrups.c:211:3: note: used in buffer access here tmp[2] = '\0'; ^~~ bestuferrups.c:216:3: note: used in buffer access here tmp[2] = '\0'; ^~~ bestuferrups.c:221:3: note: used in buffer access here tmp[4]= '\0'; ^~~ bestuferrups.c:226:3: note: used in buffer access here tmp[4]= '\0'; ^~~ bestuferrups.c:231:3: note: used in buffer access here tmp[4]= '\0'; ^~~ bestuferrups.c:405:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VMIN] = 1; ^~~~~~~~ bestuferrups.c:406:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VTIME] = 0; ^~~~~~~~ bestuferrups.c:423:21: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] void upsdrv_initups () ^ void bestuferrups.c:425:7: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char temp[256], fcstring[512]; ~~~~~~~~^~~~~~~~~ bestuferrups.c:452:2: note: used in buffer access here temp[2] = '\0'; ^~~~ bestuferrups.c:425:18: warning: 'fcstring' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char temp[256], fcstring[512]; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ bestuferrups.c:451:15: note: used in pointer arithmetic here memcpy(temp, fcstring+9, 2); ^~~~~~~~ 7 warnings generated. bestfcom.c:165:31: warning: 'bcdstring' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int bcd2i (const char *bcdstring, const int bcdlen) ~~~~~~~~~~~~^~~~~~~~~ bestfcom.c:171:11: note: used in buffer access here digit = bcdstring[i] - '0'; ^~~~~~~~~ bestfcom.c:250:7: warning: 'fstring' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char fstring[512]; ~~~~~^~~~~~~~~~~~ bestfcom.c:290:21: note: used in buffer access here inverter = bcd2i(&fstring[16], 2); ^~~~~~~ bestfcom.c:293:20: note: used in buffer access here charger = bcd2i(&fstring[18], 2); ^~~~~~~ bestfcom.c:296:17: note: used in buffer access here vin = bcd2i(&fstring[24], 4); ^~~~~~~ bestfcom.c:305:19: note: used in buffer access here alstat = bcd2i(&fstring[20], 2); ^~~~~~~ bestfcom.c:299:17: note: used in buffer access here vout = bcd2i(&fstring[28], 4); ^~~~~~~ bestfcom.c:302:28: note: used in buffer access here vbatt = ((double)(bcd2i(&fstring[50], 4)) / 10.0); ^~~~~~~ bestfcom.c:308:29: note: used in buffer access here alstat = alstat | (bcd2i(&fstring[22], 2) << 8); ^~~~~~~ bestfcom.c:311:29: note: used in buffer access here acfreq = ((double)(bcd2i(&fstring[54], 4)) / 100.0); ^~~~~~~ bestfcom.c:314:22: note: used in buffer access here btimeleft = bcd2i(&fstring[58], 4) * 60; ^~~~~~~ bestfcom.c:318:31: note: used in buffer access here ampsout = ((double)(bcd2i(&fstring[36], 4)) / 10.0); ^~~~~~~ bestfcom.c:321:19: note: used in buffer access here vaout = bcd2i(&fstring[40], 6); ^~~~~~~ bestfcom.c:324:22: note: used in buffer access here linestat = bcd2i(&fstring[72], 2); ^~~~~~~ bestfcom.c:329:30: note: used in buffer access here upstemp = (double)(bcd2i(&fstring[62], 4)); ^~~~~~~ bestfcom.c:510:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VMIN] = 1; ^~~~~~~~ bestfcom.c:511:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VTIME] = 0; ^~~~~~~~ bestfcom.c:552:17: warning: 'rstring' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[256], rstring[1024]; ~~~~~~~~~~~~~~~^~~~~~~~~~~~~ bestfcom.c:566:2: note: used in buffer access here rstring[sizeof(rstring) - 1] = '\0'; ^~~~~~~ bestfcom.c:682:40: warning: 'fcstring' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void upsdrv_init_fc(const char *fcstring) ~~~~~~~~~~~~^~~~~~~~ bestfcom.c:696:13: note: used in pointer arithmetic here if (memcmp(fcstring+3, "01", 2) == 0) { ^~~~~~~~ bestfcom.c:692:13: note: used in pointer arithmetic here if (memcmp(fcstring+3, "00", 2) == 0) { ^~~~~~~~ bestfcom.c:699:18: note: used in pointer arithmetic here else if (memcmp(fcstring+3, "02", 2) == 0) { ^~~~~~~~ bestfcom.c:713:13: note: used in pointer arithmetic here if (memcmp(fcstring+5, "00", 2) == 0) { ^~~~~~~~ bestfcom.c:703:18: note: used in pointer arithmetic here else if (memcmp(fcstring+3, "03", 2) == 0) { ^~~~~~~~ bestfcom.c:707:18: note: used in pointer arithmetic here else if (memcmp(fcstring+3, "04", 2) == 0) { ^~~~~~~~ bestfcom.c:717:18: note: used in pointer arithmetic here else if (memcmp(fcstring+5, "01", 2) == 0) { ^~~~~~~~ bestfcom.c:721:18: note: used in pointer arithmetic here else if (memcmp(fcstring+5, "02", 2) == 0) { ^~~~~~~~ bestfcom.c:725:18: note: used in pointer arithmetic here else if (memcmp(fcstring+5, "03", 2) == 0) { ^~~~~~~~ bestfcom.c:729:18: note: used in pointer arithmetic here else if (memcmp(fcstring+71, "LI", 2) == 0) { ^~~~~~~~ bestfcom.c:735:19: note: used in buffer access here fc.va = bcd2i(&fcstring[11], 5); ^~~~~~~~ bestfcom.c:736:22: note: used in buffer access here fc.watts = bcd2i(&fcstring[16], 5); ^~~~~~~~ bestfcom.c:739:36: note: used in buffer access here fc.emptyvolts= ((double)(bcd2i(&fcstring[57], 4)) / 10.0); ^~~~~~~~ bestfcom.c:742:34: note: used in buffer access here fc.lowvolts= ((double)(bcd2i(&fcstring[53], 4)) / 10.0); ^~~~~~~~ bestfcom.c:745:35: note: used in buffer access here fc.fullvolts= ((double)(bcd2i(&fcstring[49], 4)) / 10.0); ^~~~~~~~ 6 warnings generated. depbase=`echo etapro.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT etapro.o -MD -MP -MF $depbase.Tpo -c -o etapro.o etapro.c &&\ mv -f $depbase.Tpo $depbase.Po gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: 'libcommonclient.la' is up to date. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' depbase=`echo everups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT everups.o -MD -MP -MF $depbase.Tpo -c -o everups.o everups.c &&\ mv -f $depbase.Tpo $depbase.Po bestfortress.c:114:29: warning: 's' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int checksum (char * s) ~~~~~~~^ bestfortress.c:118:32: note: used in buffer access here for (i = 40, sum = 0; s[0] && s[1] && i > 0; i--, s += 2) { ^ bestfortress.c:118:52: note: used in pointer arithmetic here for (i = 40, sum = 0; s[0] && s[1] && i > 0; i--, s += 2) { ^ bestfortress.c:119:43: note: used in buffer access here sum += (fromhex (s[0]) << 4) + fromhex (s[1]); ^ bestfortress.c:127:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[10]; ~~~~~^~~~~~~ bestfortress.c:133:2: note: used in buffer access here buf[len] = 0; ^~~ bestfortress.c:144:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[10]; ~~~~~^~~~~~~ bestfortress.c:149:2: note: used in buffer access here buf[len] = 0; ^~~ bestfortress.c:156:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[10]; ~~~~~^~~~~~~ bestfortress.c:160:2: note: used in buffer access here buf[len] = 0; ^~~ bestfortress.c:179:19: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char buf[1024], *p; ~~~~~~~~~~~~~~~~~^ bestfortress.c:204:42: note: used in pointer arithmetic here for (p = buf; *p && sent < INT_MAX - 1; p++) { ^ bestfortress.c:242:7: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char temp[256]; ~~~~~^~~~~~~~~ bestfortress.c:290:3: note: used in buffer access here temp[1] = '0'; ^~~~ bestfortress.c:264:12: note: used in buffer access here } while (temp[2] == 0); ^~~~ bestfortress.c:257:3: note: used in buffer access here temp[2] = 0; ^~~~ bestfortress.c:259:25: note: used in pointer arithmetic here if ((recv = upsrecv (temp+2, sizeof temp - 2, ENDCHAR, IGNCHARS)) <= 0) { ^~~~ bestfortress.c:282:30: note: used in pointer arithmetic here checksum_ok = ( (checksum (temp+2) & 0xff) == 0 ); ^~~~ bestfortress.c:288:16: note: used in pointer arithmetic here len = strlen(temp+2); ^~~~ bestfortress.c:291:7: note: used in pointer arithmetic here p = temp+2; ^~~~ bestfortress.c:243:8: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p = NULL; ~~~~~~^~~~~~~~ bestfortress.c:315:32: note: used in pointer arithmetic here setinfo_int ("input.voltage", p+24,4); ^ bestfortress.c:316:33: note: used in pointer arithmetic here setinfo_int ("output.voltage", p+28,4); ^ bestfortress.c:317:44: note: used in pointer arithmetic here setinfo_float ("battery.voltage", "%.1f", p+50,4, 0.1); ^ bestfortress.c:318:43: note: used in pointer arithmetic here setinfo_float ("output.current", "%.1f", p+36,4, 0.1); ^ bestfortress.c:319:43: note: used in pointer arithmetic here loadva = setinfo_int ("output.voltamps", p+40,6); ^ bestfortress.c:322:44: note: used in pointer arithmetic here setinfo_float ("input.frequency", "%.1f", p+54,3, 0.1); ^ bestfortress.c:323:42: note: used in pointer arithmetic here setinfo_int_minutes ("battery.runtime", p+58,4); ^ bestfortress.c:324:34: note: used in pointer arithmetic here setinfo_int ("ups.temperature", p+62,4); ^ bestfortress.c:326:14: note: used in buffer access here is_online = p[17] == '0'; ^ bestfortress.c:327:21: note: used in buffer access here low_batt = fromhex(p[21]) & 8 || fromhex(p[20]) & 1; ^ bestfortress.c:327:43: note: used in buffer access here low_batt = fromhex(p[21]) & 8 || fromhex(p[20]) & 1; ^ bestfortress.c:328:11: note: used in buffer access here is_off = p[11] == '0'; ^ bestfortress.c:329:13: note: used in buffer access here trimming = p[33] == '1'; ^ bestfortress.c:469:3: warning: 'speed_table' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } speed_table[] = { ~~^~~~~~~~~~~~~~~~~ bestfortress.c:488:13: note: used in buffer access here for (i=0; speed_table[i].val; i++) { ^~~~~~~~~~~ bestfortress.c:489:27: note: used in buffer access here if (strcmp (speed_val, speed_table[i].val) == 0) ^~~~~~~~~~~ bestfortress.c:492:11: note: used in buffer access here speed = speed_table[i].speed; ^~~~~~~~~~~ 8 warnings generated. bestups.c:231:13: warning: 'nominal' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const int nominal[] = { 2, 6, 12, 24, 36, 48, 72, 96 }; ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bestups.c:233:18: note: used in buffer access here if ((lowvolt < nominal[i]) && (highvolt > nominal[i])) { ^~~~~~~ bestups.c:233:45: note: used in buffer access here if ((lowvolt < nominal[i]) && (highvolt > nominal[i])) { ^~~~~~~ bestups.c:234:67: note: used in buffer access here dstate_setinfo("battery.voltage.nominal", "%d", battvoltmult * nominal[i]); ^~~~~~~ bestups.c:331:30: warning: 'pstat' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] battvolt[16], upstemp[16], pstat[16], buf[256]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ bestups.c:406:7: note: used in buffer access here if (pstat[2] == (inverted_bypass_bit ? '0' : '1')) { ^~~~~ bestups.c:419:6: note: used in buffer access here if (pstat[1] == '1') ^~~~~ 2 warnings generated. depbase=`echo gamatronic.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT gamatronic.o -MD -MP -MF $depbase.Tpo -c -o gamatronic.o gamatronic.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo genericups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT genericups.o -MD -MP -MF $depbase.Tpo -c -o genericups.o genericups.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo isbmex.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT isbmex.o -MD -MP -MF $depbase.Tpo -c -o isbmex.o isbmex.c &&\ mv -f $depbase.Tpo $depbase.Po etapro.c:72:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[256]; ~~~~~^~~~~~~~ etapro.c:80:47: note: used in buffer access here while (ser_get_char(upsfd, (unsigned char *)&tmp[n], 1, 0) == 1) { ^~~ etapro.c:81:31: note: used in buffer access here if (n >= sizeof(tmp) - 1 || tmp[n] == '\n') ^~~ etapro.c:85:2: note: used in buffer access here tmp[n] = '\0'; ^~~ etapro.c:73:8: warning: 'cp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *cp; ~~~~~~^~ etapro.c:98:10: note: used in buffer access here switch (cp[1]) { ^~ etapro.c:92:28: note: used in buffer access here if (!cp || *cp == '\0' || cp[strlen(cp) - 1] != '\r') { ^~ etapro.c:96:2: note: used in buffer access here cp[strlen(cp) - 1] = '\0'; /* remove the CR */ ^~ etapro.c:101:35: note: used in pointer arithmetic here dstate_setinfo("ups.mfr", "%s", cp + 2); ^~ etapro.c:104:37: note: used in pointer arithmetic here dstate_setinfo("ups.model", "%s", cp + 2); ^~ etapro.c:107:40: note: used in pointer arithmetic here dstate_setinfo("ups.mfr.date", "%s", cp + 2); ^~ etapro.c:112:13: note: used in pointer arithmetic here if (sscanf(cp + 2, "%x", &val) != 1) { ^~ 2 warnings generated. depbase=`echo liebert.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT liebert.o -MD -MP -MF $depbase.Tpo -c -o liebert.o liebert.c &&\ mv -f $depbase.Tpo $depbase.Po everups.c:94:16: warning: 'recBuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char recBuf[2]; ~~~~~~~~~~~~~~^~~~~~~~~ everups.c:125:25: note: used in buffer access here lineV=(recBuf[0]*100+recBuf[1]*25600)/352; ^~~~~~ everups.c:127:25: note: used in buffer access here lineV=(recBuf[0]*100+recBuf[1]*25600)/372; ^~~~~~ 1 warning generated. depbase=`echo liebert-esp2.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT liebert-esp2.o -MD -MP -MF $depbase.Tpo -c -o liebert-esp2.o liebert-esp2.c &&\ mv -f $depbase.Tpo $depbase.Po dummy-ups.c:114:16: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] dummy_info_t *item; ~~~~~~~~~~~~~~^~~~ dummy-ups.c:121:54: note: used in pointer arithmetic here for ( item = nut_data ; item->info_type != NULL ; item++ ) ^~~~ dummy-ups.c:554:14: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *query[4]; ~~~~~~~~~~~~~~~~~^~~~~~~~ dummy-ups.c:558:2: note: used in buffer access here query[1] = client_upsname; ^~~~~ dummy-ups.c:555:10: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~~~~~~~~~~~~^~~~~~ dummy-ups.c:578:16: note: used in buffer access here answer[0], answer[1], answer[2], answer[3]); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ dummy-ups.c:578:27: note: used in buffer access here answer[0], answer[1], answer[2], answer[3]); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ dummy-ups.c:582:11: note: used in buffer access here setvar(answer[2], answer[3]); ^~~~~~ dummy-ups.c:578:38: note: used in buffer access here answer[0], answer[1], answer[2], answer[3]); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ dummy-ups.c:581:15: note: used in buffer access here if (strncmp(answer[2], "driver.", 7)) ^~~~~~ dummy-ups.c:582:22: note: used in buffer access here setvar(answer[2], answer[3]); ^~~~~~ dummy-ups.c:590:16: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] dummy_info_t *item; ~~~~~~~~~~~~~~^~~~ dummy-ups.c:592:52: note: used in pointer arithmetic here for ( item = nut_data ; item->info_type != NULL ; item++ ) ^~~~ dummy-ups.c:710:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] int delay = atoi (ctx->arglist[1]); ^~~~~~~~~~~~ dummy-ups.c:739:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] status_set(ctx->arglist[counter]); ^~~~~~~~~~~~ dummy-ups.c:749:51: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintf(var_value, sizeof(var_value), "%s", ctx->arglist[counter]); ^~~~~~~~~~~~ dummy-ups.c:751:55: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintfcat(var_value, sizeof(var_value), " %s", ctx->arglist[counter]); ^~~~~~~~~~~~ 8 warnings generated. mv -f .deps/dummy_ups-dummy-ups.Tpo .deps/dummy_ups-dummy-ups.Po isbmex.c:106:12: warning: 'x' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const int x[7]={75,83,87,98,103,118,145}; ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ isbmex.c:114:14: note: used in buffer access here if(vbytes > x[6]) return f[6]; ^ isbmex.c:117:21: note: used in buffer access here if((int)vbytes == x[i]) return f[i]; ^ isbmex.c:124:29: note: used in buffer access here if(j!=i) l[i] *= (float)(x[i] - x[j]); ^ isbmex.c:124:36: note: used in buffer access here if(j!=i) l[i] *= (float)(x[i] - x[j]); ^ isbmex.c:129:44: note: used in buffer access here for(i=0; i<=n; i++) t *= (vbytes - (float)x[i]); ^ isbmex.c:131:60: note: used in buffer access here for(i=0; i<=n; i++) volts += (l[i] * t / (vbytes - (float)x[i])); ^ isbmex.c:107:14: warning: 'f' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const float f[7]={96.0,102.0,105.0,113.0,116.0,124.0,140.0}; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ isbmex.c:114:27: note: used in buffer access here if(vbytes > x[6]) return f[6]; ^ isbmex.c:117:34: note: used in buffer access here if((int)vbytes == x[i]) return f[i]; ^ isbmex.c:126:10: note: used in buffer access here l[i] = f[i] / l[i]; ^ isbmex.c:108:8: warning: 'l' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] float l[7]; ~~~~~~^~~~ isbmex.c:124:13: note: used in buffer access here if(j!=i) l[i] *= (float)(x[i] - x[j]); ^ isbmex.c:121:3: note: used in buffer access here l[i] = 1.0; ^ isbmex.c:126:3: note: used in buffer access here l[i] = f[i] / l[i]; ^ isbmex.c:126:17: note: used in buffer access here l[i] = f[i] / l[i]; ^ isbmex.c:131:32: note: used in buffer access here for(i=0; i<=n; i++) volts += (l[i] * t / (vbytes - (float)x[i])); ^ isbmex.c:163:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&readfds); ^~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ isbmex.c:164:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(upsfd,&readfds); ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ isbmex.c:156:14: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char buf[256]; ~~~~~~~~~~~~^~~~~~~~ isbmex.c:179:2: note: used in buffer access here buf[r]=0; ^~~ isbmex.c:191:20: note: used in pointer arithmetic here rr = read(upsfd, buf+r, (size_t)(255-r)); ^~~ isbmex.c:242:14: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *buf=NULL; ~~~~~~~~~~~~~~~~~^~~~~~~~ isbmex.c:286:25: note: used in buffer access here + (unsigned char)buf[(bytes_per_packet==10)?7:6]; ^~~ isbmex.c:280:38: note: used in buffer access here battpct = ((double)((unsigned char)buf[(bytes_per_packet==10)?5:4])-168.0)*(100.0/(215.0-168.0)); ^~~ isbmex.c:262:38: note: used in buffer access here in_volt = lagrange((unsigned char)buf[3]); ^~~ isbmex.c:264:51: note: used in buffer access here in_volt = interpol(sqrt((float)((unsigned char)buf[3]*256+(unsigned char)buf[4]))); ^~~ isbmex.c:264:77: note: used in buffer access here in_volt = interpol(sqrt((float)((unsigned char)buf[3]*256+(unsigned char)buf[4]))); ^~~ isbmex.c:285:20: note: used in buffer access here d=(unsigned char)buf[(bytes_per_packet==10)?6:5]*256 ^~~ isbmex.c:294:11: note: used in buffer access here switch (buf[(bytes_per_packet==10)?8:7]){ ^~~ isbmex.c:304:11: note: used in buffer access here switch (buf[(bytes_per_packet==10)?9:8]){ ^~~ 7 warnings generated. depbase=`echo masterguard.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT masterguard.o -MD -MP -MF $depbase.Tpo -c -o masterguard.o masterguard.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo metasys.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT metasys.o -MD -MP -MF $depbase.Tpo -c -o metasys.o metasys.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mge-utalk.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT mge-utalk.o -MD -MP -MF $depbase.Tpo -c -o mge-utalk.o mge-utalk.c &&\ mv -f $depbase.Tpo $depbase.Po gamatronic.c:56:31: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int sec_upsrecv (char *buf) ~~~~~~^~~ gamatronic.c:63:11: note: used in buffer access here switch (buf[1]) { ^~~ gamatronic.c:69:21: note: used in pointer arithmetic here strncpy(lenbuf, buf+2, 3); ^~~ gamatronic.c:73:17: note: used in pointer arithmetic here strcpy(buf,buf+5); ^~~ gamatronic.c:58:7: warning: 'lenbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char lenbuf[4]; ~~~~~^~~~~~~~~ gamatronic.c:70:5: note: used in buffer access here lenbuf[3] = '\0'; ^~~~~~ gamatronic.c:135:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] sec_querylist[q].varnum[field-1] = varnum; ^~~~~~~~~~~~~~~~~~~~~~~ In file included from gamatronic.c:32: ./gamatronic.h:204:3: warning: 'sec_querylist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } sec_querylist[SEC_QUERYLIST_LEN]; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:135:4: note: used in buffer access here sec_querylist[q].varnum[field-1] = varnum; ^~~~~~~~~~~~~ gamatronic.c:134:7: note: used in buffer access here if (sec_querylist[q].command == cmd) { ^~~~~~~~~~~~~ gamatronic.c:128:7: note: used in buffer access here if (sec_querylist[q].command == NULL) { ^~~~~~~~~~~~~ gamatronic.c:130:4: note: used in buffer access here sec_querylist[q].command = cmd; ^~~~~~~~~~~~~ gamatronic.c:131:4: note: used in buffer access here sec_querylist[q].pollflag = pollflag; ^~~~~~~~~~~~~ In file included from gamatronic.c:32: ./gamatronic.h:99:22: warning: 'sec_varlist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static sec_varlist_t sec_varlist[] = { ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ gamatronic.c:147:19: note: used in buffer access here dstate_setinfo(sec_varlist[varnum].setcmd,"%s", value); ^~~~~~~~~~~ gamatronic.c:144:7: note: used in buffer access here if (*sec_varlist[varnum].setcmd) ^~~~~~~~~~~ gamatronic.c:146:7: note: used in buffer access here if (sec_varlist[varnum].flags == FLAG_STRING) { ^~~~~~~~~~~ gamatronic.c:149:12: note: used in buffer access here else if (sec_varlist[varnum].unit == 1) { ^~~~~~~~~~~ gamatronic.c:150:19: note: used in buffer access here dstate_setinfo(sec_varlist[varnum].setcmd,"%s", value); ^~~~~~~~~~~ gamatronic.c:152:12: note: used in buffer access here else if (sec_varlist[varnum].flags == FLAG_MULTI) { ^~~~~~~~~~~ gamatronic.c:154:20: note: used in buffer access here dstate_setinfo(sec_varlist[varnum].setcmd,"0"); ^~~~~~~~~~~ gamatronic.c:157:20: note: used in buffer access here dstate_setinfo(sec_varlist[varnum].setcmd,"%d", atoi(value) * sec_varlist[varnum].unit); ^~~~~~~~~~~ gamatronic.c:157:67: note: used in buffer access here dstate_setinfo(sec_varlist[varnum].setcmd,"%d", atoi(value) * sec_varlist[varnum].unit); ^~~~~~~~~~~ gamatronic.c:161:19: note: used in buffer access here dstate_setinfo(sec_varlist[varnum].setcmd,"%.1f", atof(value) / sec_varlist[varnum].unit); ^~~~~~~~~~~ gamatronic.c:161:68: note: used in buffer access here dstate_setinfo(sec_varlist[varnum].setcmd,"%.1f", atof(value) / sec_varlist[varnum].unit); ^~~~~~~~~~~ In file included from gamatronic.c:32: ./gamatronic.h:99:22: warning: 'sec_varlist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static sec_varlist_t sec_varlist[] = { ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ gamatronic.c:194:12: note: used in buffer access here if(strcmp(sec_varlist[19].value,"2")== 0) { ^~~~~~~~~~~ gamatronic.c:188:12: note: used in buffer access here if(strcmp(sec_varlist[10].value,"1")== 0) { ^~~~~~~~~~~ gamatronic.c:191:12: note: used in buffer access here if(strcmp(sec_varlist[22].value,"1")== 0) { ^~~~~~~~~~~ gamatronic.c:182:12: note: used in buffer access here if(strcmp(sec_varlist[76].value,"3")== 0) { ^~~~~~~~~~~ gamatronic.c:179:12: note: used in buffer access here if(strcmp(sec_varlist[76].value,"2")== 0) { ^~~~~~~~~~~ gamatronic.c:170:12: note: used in buffer access here if(strcmp(sec_varlist[9].value,"1")== 0) { ^~~~~~~~~~~ gamatronic.c:185:12: note: used in buffer access here if(strcmp(sec_varlist[76].value,"4")== 0) { ^~~~~~~~~~~ gamatronic.c:173:12: note: used in buffer access here if(strcmp(sec_varlist[76].value,"0")== 0) { ^~~~~~~~~~~ gamatronic.c:176:12: note: used in buffer access here if(strcmp(sec_varlist[76].value,"1")== 0) { ^~~~~~~~~~~ gamatronic.c:218:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (sqv(q,f) > 0) { ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:219:28: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (strcmp(sec_varlist[sqv(q,f)].value, r) != 0) { ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:230:37: warning: unsafe buffer access [-Wunsafe-buffer-usage] int len = snprintf(sec_varlist[sqv(q,f)].value, ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:231:26: warning: unsafe buffer access [-Wunsafe-buffer-usage] sizeof(sec_varlist[sqv(q,f)].value), "%s", r); ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:237:55: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((intmax_t)len > (intmax_t)sizeof(sec_varlist[sqv(q,f)].value) ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:238:78: warning: unsafe buffer access [-Wunsafe-buffer-usage] || (intmax_t)strnlen(r, sizeof(retbuf)) > (intmax_t)sizeof(sec_varlist[sqv(q,f)].value) ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:245:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] sec_setinfo(sqv(q,f), r); ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:249:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (sec_varlist[sqv(q,f)].flags & FLAG_ALARM && strcmp(r,"1")== 0) { ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:250:28: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(sec_varlist[sqv(q,f)].name); ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~~~~~~~~~~~ ./gamatronic.h:99:22: warning: 'sec_varlist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static sec_varlist_t sec_varlist[] = { ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ gamatronic.c:219:16: note: used in buffer access here if (strcmp(sec_varlist[sqv(q,f)].value, r) != 0) { ^~~~~~~~~~~ gamatronic.c:230:25: note: used in buffer access here int len = snprintf(sec_varlist[sqv(q,f)].value, ^~~~~~~~~~~ gamatronic.c:231:14: note: used in buffer access here sizeof(sec_varlist[sqv(q,f)].value), "%s", r); ^~~~~~~~~~~ gamatronic.c:237:43: note: used in buffer access here if ((intmax_t)len > (intmax_t)sizeof(sec_varlist[sqv(q,f)].value) ^~~~~~~~~~~ gamatronic.c:238:66: note: used in buffer access here || (intmax_t)strnlen(r, sizeof(retbuf)) > (intmax_t)sizeof(sec_varlist[sqv(q,f)].value) ^~~~~~~~~~~ gamatronic.c:249:9: note: used in buffer access here if (sec_varlist[sqv(q,f)].flags & FLAG_ALARM && strcmp(r,"1")== 0) { ^~~~~~~~~~~ gamatronic.c:250:16: note: used in buffer access here alarm_set(sec_varlist[sqv(q,f)].name); ^~~~~~~~~~~ In file included from gamatronic.c:32: ./gamatronic.h:204:3: warning: 'sec_querylist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } sec_querylist[SEC_QUERYLIST_LEN]; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gamatronic.c:218:8: note: used in buffer access here if (sqv(q,f) > 0) { ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~ gamatronic.c:219:28: note: used in buffer access here if (strcmp(sec_varlist[sqv(q,f)].value, r) != 0) { ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~ gamatronic.c:208:7: note: used in buffer access here if (sec_querylist[q].pollflag != pollflag) continue; ^~~~~~~~~~~~~ gamatronic.c:211:24: note: used in buffer access here sec_cmd(SEC_POLLCMD, sec_querylist[q].command, retbuf, &msglen); ^~~~~~~~~~~~~ gamatronic.c:207:7: note: used in buffer access here if (sec_querylist[q].command == NULL) break; ^~~~~~~~~~~~~ gamatronic.c:230:37: note: used in buffer access here int len = snprintf(sec_varlist[sqv(q,f)].value, ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~ gamatronic.c:231:26: note: used in buffer access here sizeof(sec_varlist[sqv(q,f)].value), "%s", r); ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~ gamatronic.c:237:55: note: used in buffer access here if ((intmax_t)len > (intmax_t)sizeof(sec_varlist[sqv(q,f)].value) ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~ gamatronic.c:238:78: note: used in buffer access here || (intmax_t)strnlen(r, sizeof(retbuf)) > (intmax_t)sizeof(sec_varlist[sqv(q,f)].value) ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~ gamatronic.c:245:18: note: used in buffer access here sec_setinfo(sqv(q,f), r); ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~ gamatronic.c:249:21: note: used in buffer access here if (sec_varlist[sqv(q,f)].flags & FLAG_ALARM && strcmp(r,"1")== 0) { ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~ gamatronic.c:250:28: note: used in buffer access here alarm_set(sec_varlist[sqv(q,f)].name); ^~~~~~~~ ./gamatronic.h:206:18: note: expanded from macro 'sqv' #define sqv(a,b) sec_querylist[a].varnum[b] ^~~~~~~~~~~~~ gamatronic.c:204:21: warning: 'n' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char retbuf[140], *n, *r; ~~~~~~~~~~~~~~~~~~~^ gamatronic.c:255:8: note: used in pointer arithmetic here r = n+1; ^ gamatronic.c:204:25: warning: 'r' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char retbuf[140], *n, *r; ~~~~~~~~~~~~~~~~~~~~~~~^ gamatronic.c:213:5: note: used in pointer arithmetic here *(r+msglen) = '\0'; ^ In file included from gamatronic.c:32: ./gamatronic.h:99:22: warning: 'sec_varlist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static sec_varlist_t sec_varlist[] = { ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ gamatronic.c:285:12: note: used in buffer access here addquery(sec_varlist[v].cmd, sec_varlist[v].field, v, sec_varlist[v].poll); ^~~~~~~~~~~ gamatronic.c:285:57: note: used in buffer access here addquery(sec_varlist[v].cmd, sec_varlist[v].field, v, sec_varlist[v].poll); ^~~~~~~~~~~ gamatronic.c:284:7: note: used in buffer access here if (sec_varlist[v].flags == FLAG_WONLY) continue; ^~~~~~~~~~~ gamatronic.c:285:32: note: used in buffer access here addquery(sec_varlist[v].cmd, sec_varlist[v].field, v, sec_varlist[v].poll); ^~~~~~~~~~~ gamatronic.c:265:12: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *a, *p, avail_list[300]; ~~~~~~~~~~^ gamatronic.c:271:24: note: used in pointer arithmetic here if (p != avail_list) *p++ = ','; ^ gamatronic.c:274:4: note: used in pointer arithmetic here *(p+msglen) = '\0'; ^ gamatronic.c:265:15: warning: 'avail_list' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *a, *p, avail_list[300]; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~ gamatronic.c:270:6: note: used in pointer arithmetic here p = avail_list + msglen; ^~~~~~~~~~ In file included from gamatronic.c:32: ./gamatronic.h:74:3: warning: 'baud_rates' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } baud_rates[] = { ~~^~~~~~~~~~~~~~~~ gamatronic.c:357:37: note: used in buffer access here ser_set_speed(upsfd, device_path, baud_rates[i].rate); ^~~~~~~~~~ gamatronic.c:372:10: note: used in buffer access here port, baud_rates[i].name); ^~~~~~~~~~ 23 warnings generated. depbase=`echo microdowell.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT microdowell.o -MD -MP -MF $depbase.Tpo -c -o microdowell.o microdowell.c &&\ mv -f $depbase.Tpo $depbase.Po liebert-esp2.c:122:31: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char cksum(const char *buf, const size_t len) ~~~~~~~~~~~~^~~ liebert-esp2.c:128:10: note: used in buffer access here sum += buf[i]; ^~~ liebert-esp2.c:134:63: warning: 'reply' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static ssize_t do_command(const unsigned char *command, char *reply, size_t cmd_len) ~~~~~~^~~~~ liebert-esp2.c:156:13: note: used in buffer access here } else if (reply[7] != cksum(reply, 7)) { ^~~~~ liebert-esp2.c:58:14: warning: 'multi' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static float multi[19]={ ~~~~~~~~~~~~~^~~~~~~~~~~ liebert-esp2.c:261:4: note: used in buffer access here multi[M_FREQUENCY]=0.1; ^~~~~ liebert-esp2.c:263:4: note: used in buffer access here multi[M_VOLT_DC]=0.1; ^~~~~ liebert-esp2.c:264:4: note: used in buffer access here multi[M_POWER]=1.0; ^~~~~ liebert-esp2.c:265:4: note: used in buffer access here multi[M_NOMPOWER]=1.0; ^~~~~ liebert-esp2.c:268:4: note: used in buffer access here multi[M_FREQUENCY]=0.01; ^~~~~ liebert-esp2.c:269:4: note: used in buffer access here multi[M_VOLT_DC]=0.1; ^~~~~ liebert-esp2.c:270:4: note: used in buffer access here multi[M_POWER]=100.0; ^~~~~ liebert-esp2.c:271:4: note: used in buffer access here multi[M_NOMPOWER]=100.0; ^~~~~ liebert-esp2.c:170:4: warning: 'vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } vartab[] = { ~~^~~~~~~~~~~~ liebert-esp2.c:186:17: note: used in buffer access here for (vari = 0; vartab[vari].var; vari++) { ^~~~~~ liebert-esp2.c:187:31: note: used in buffer access here upsdebugx(1, "reading: %s", vartab[vari].var); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ liebert-esp2.c:189:19: note: used in buffer access here for (i = 0; i < vartab[vari].len; i++) { ^~~~~~ liebert-esp2.c:207:19: note: used in buffer access here dstate_setinfo(vartab[vari].var,"%s",buf); ^~~~~~ liebert-esp2.c:210:11: note: used in buffer access here offset+=vartab[vari].len; ^~~~~~ liebert-esp2.c:178:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[LARGEBUF]; ~~~~~~~~^~~~~~~~~~~~~ liebert-esp2.c:199:4: note: used in buffer access here buf[i<<1] = reply[6]; ^~~ liebert-esp2.c:200:4: note: used in buffer access here buf[(i<<1)+1] = reply[5]; ^~~ liebert-esp2.c:203:3: note: used in buffer access here buf[i<<1] = 0; ^~~ liebert-esp2.c:181:7: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char command[6], reply[8]; ~~~~~~~~^~~~~~~~~~ liebert-esp2.c:191:4: note: used in buffer access here command[5] = cksum(command, 5); ^~~~~~~ liebert-esp2.c:181:19: warning: 'reply' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char command[6], reply[8]; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~ liebert-esp2.c:199:16: note: used in buffer access here buf[i<<1] = reply[6]; ^~~~~ liebert-esp2.c:200:20: note: used in buffer access here buf[(i<<1)+1] = reply[5]; ^~~~~ liebert-esp2.c:225:17: note: used in buffer access here if (IsBitSet(reply[6],(unsigned short int)bitn)) /* bit range measurement on LSByte*/ ^~~~~ liebert-esp2.c:28:30: note: expanded from macro 'IsBitSet' #define IsBitSet(val, bit) ((val) & (1 << (bit))) ^~~ liebert-esp2.c:233:17: note: used in buffer access here if (IsBitSet(reply[6],(unsigned short int)bitn)) /* bit range measurement on LSByte*/ ^~~~~ liebert-esp2.c:28:30: note: expanded from macro 'IsBitSet' #define IsBitSet(val, bit) ((val) & (1 << (bit))) ^~~ liebert-esp2.c:239:7: note: used in buffer access here if (reply[5] & (1<<4)) { /* ISOFFLINE */ ^~~~~ liebert-esp2.c:242:12: note: used in buffer access here else if (reply[5] & (1<<5)) { /* ISINTERACTIVE */ ^~~~~ liebert-esp2.c:259:11: note: used in buffer access here switch (reply[6]) { ^~~~~ liebert-esp2.c:58:14: warning: 'multi' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static float multi[19]={ ~~~~~~~~~~~~~^~~~~~~~~~~ liebert-esp2.c:411:48: note: used in buffer access here dstate_setinfo(vartab[i].var, vartab[i].fmt, multi[vartab[i].multindex] * intval); ^~~~~ liebert-esp2.c:455:50: note: used in buffer access here dstate_setinfo(cmdin_p[i].var, cmdin_p[i].fmt, multi[cmdin_p[i].multindex] * intval); ^~~~~ liebert-esp2.c:479:52: note: used in buffer access here dstate_setinfo(cmdout_p[i].var, cmdout_p[i].fmt, multi[cmdout_p[i].multindex] * intval); ^~~~~ liebert-esp2.c:291:15: warning: 'vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static cmd_s vartab[] = { /* common vars */ ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ liebert-esp2.c:393:14: note: used in buffer access here for (i = 0; vartab[i].var; i++) { ^~~~~~ liebert-esp2.c:395:20: note: used in buffer access here ret = do_command(vartab[i].cmd, reply, 6); ^~~~~~ liebert-esp2.c:411:33: note: used in buffer access here dstate_setinfo(vartab[i].var, vartab[i].fmt, multi[vartab[i].multindex] * intval); ^~~~~~ liebert-esp2.c:411:18: note: used in buffer access here dstate_setinfo(vartab[i].var, vartab[i].fmt, multi[vartab[i].multindex] * intval); ^~~~~~ liebert-esp2.c:411:54: note: used in buffer access here dstate_setinfo(vartab[i].var, vartab[i].fmt, multi[vartab[i].multindex] * intval); ^~~~~~ liebert-esp2.c:385:17: warning: 'cmdin_p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static cmd_s * cmdin_p; ~~~~~~~~~~~~~~~^~~~~~~ liebert-esp2.c:437:14: note: used in buffer access here for (i = 0; cmdin_p[i].var; i++) { ^~~~~~~ liebert-esp2.c:439:20: note: used in buffer access here ret = do_command(cmdin_p[i].cmd, reply, 6); ^~~~~~~ liebert-esp2.c:455:18: note: used in buffer access here dstate_setinfo(cmdin_p[i].var, cmdin_p[i].fmt, multi[cmdin_p[i].multindex] * intval); ^~~~~~~ liebert-esp2.c:455:34: note: used in buffer access here dstate_setinfo(cmdin_p[i].var, cmdin_p[i].fmt, multi[cmdin_p[i].multindex] * intval); ^~~~~~~ liebert-esp2.c:455:56: note: used in buffer access here dstate_setinfo(cmdin_p[i].var, cmdin_p[i].fmt, multi[cmdin_p[i].multindex] * intval); ^~~~~~~ liebert-esp2.c:386:17: warning: 'cmdout_p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static cmd_s * cmdout_p; ~~~~~~~~~~~~~~~^~~~~~~~ liebert-esp2.c:461:14: note: used in buffer access here for (i = 0; cmdout_p[i].var; i++) { ^~~~~~~~ liebert-esp2.c:463:20: note: used in buffer access here ret = do_command(cmdout_p[i].cmd, reply, 6); ^~~~~~~~ liebert-esp2.c:479:18: note: used in buffer access here dstate_setinfo(cmdout_p[i].var, cmdout_p[i].fmt, multi[cmdout_p[i].multindex] * intval); ^~~~~~~~ liebert-esp2.c:479:35: note: used in buffer access here dstate_setinfo(cmdout_p[i].var, cmdout_p[i].fmt, multi[cmdout_p[i].multindex] * intval); ^~~~~~~~ liebert-esp2.c:479:58: note: used in buffer access here dstate_setinfo(cmdout_p[i].var, cmdout_p[i].fmt, multi[cmdout_p[i].multindex] * intval); ^~~~~~~~ liebert-esp2.c:389:7: warning: 'reply' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char reply[8]; ~~~~~~~~^~~~~~~~ liebert-esp2.c:399:27: note: used in buffer access here intval = (unsigned char)reply[5]; ^~~~~ liebert-esp2.c:401:28: note: used in buffer access here intval += (unsigned char)reply[6]; ^~~~~ liebert-esp2.c:443:27: note: used in buffer access here intval = (unsigned char)reply[5]; ^~~~~ liebert-esp2.c:445:28: note: used in buffer access here intval += (unsigned char)reply[6]; ^~~~~ liebert-esp2.c:467:27: note: used in buffer access here intval = (unsigned char)reply[5]; ^~~~~ liebert-esp2.c:469:28: note: used in buffer access here intval += (unsigned char)reply[6]; ^~~~~ liebert-esp2.c:494:6: note: used in buffer access here if (reply[5] & (1<<0)) { /* ON_BATTERY */ ^~~~~ liebert-esp2.c:517:6: note: used in buffer access here if (reply[6] & (1<<0)) { /* ON_BYPASS */ ^~~~~ liebert-esp2.c:521:6: note: used in buffer access here if (reply[6] & (1<<5)) { /* REPLACE_BATTERY */ ^~~~~ liebert-esp2.c:525:6: note: used in buffer access here if (reply[6] & (1<<6)) { /* BOOST_ON */ ^~~~~ liebert-esp2.c:529:6: note: used in buffer access here if (reply[5] & (1<<1)) { /* BUCK_ON */ ^~~~~ liebert-esp2.c:540:6: note: used in buffer access here if (reply[6] & (1<<0) ) { /* UPS_OVERLOAD */ ^~~~~ liebert-esp2.c:544:6: note: used in buffer access here if (reply[6] & (1<<5) ) { /* LOW_BATTERY */ ^~~~~ 12 warnings generated. In file included from genericups.c:26: ./genericups.h:33:3: warning: 'upstab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } upstab[] = ~~~~~~~~^~~~~~~~~~ genericups.c:185:70: note: used in buffer access here dstate_setinfo("ups.mfr", "%s", ((v = getval("mfr")) != NULL) ? v : upstab[upstype].mfr); ^~~~~~ genericups.c:186:74: note: used in buffer access here dstate_setinfo("ups.model", "%s", ((v = getval("model")) != NULL) ? v : upstab[upstype].model); ^~~~~~ genericups.c:196:27: note: used in buffer access here parse_input_signals(v, &upstab[upstype].line_ol, &upstab[upstype].val_ol); ^~~~~~ genericups.c:201:53: note: used in buffer access here parse_input_signals(v, &upstab[upstype].line_bl, &upstab[upstype].val_bl); ^~~~~~ genericups.c:196:53: note: used in buffer access here parse_input_signals(v, &upstab[upstype].line_ol, &upstab[upstype].val_ol); ^~~~~~ genericups.c:201:27: note: used in buffer access here parse_input_signals(v, &upstab[upstype].line_bl, &upstab[upstype].val_bl); ^~~~~~ genericups.c:206:27: note: used in buffer access here parse_input_signals(v, &upstab[upstype].line_rb, &upstab[upstype].val_rb); ^~~~~~ genericups.c:206:53: note: used in buffer access here parse_input_signals(v, &upstab[upstype].line_rb, &upstab[upstype].val_rb); ^~~~~~ genericups.c:211:27: note: used in buffer access here parse_input_signals(v, &upstab[upstype].line_bypass, &upstab[upstype].val_bypass); ^~~~~~ genericups.c:211:57: note: used in buffer access here parse_input_signals(v, &upstab[upstype].line_bypass, &upstab[upstype].val_bypass); ^~~~~~ In file included from genericups.c:26: ./genericups.h:33:3: warning: 'upstab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } upstab[] = ~~~~~~~~^~~~~~~~~~ genericups.c:231:17: note: used in buffer access here ol = ((flags & upstab[upstype].line_ol) == upstab[upstype].val_ol); ^~~~~~ genericups.c:231:45: note: used in buffer access here ol = ((flags & upstab[upstype].line_ol) == upstab[upstype].val_ol); ^~~~~~ genericups.c:234:7: note: used in buffer access here bl = upstab[upstype].line_bl != 0 && ((flags & upstab[upstype].line_bl) == upstab[upstype].val_bl); ^~~~~~ genericups.c:235:7: note: used in buffer access here rb = upstab[upstype].line_rb != 0 && ((flags & upstab[upstype].line_rb) == upstab[upstype].val_rb); ^~~~~~ genericups.c:234:49: note: used in buffer access here bl = upstab[upstype].line_bl != 0 && ((flags & upstab[upstype].line_bl) == upstab[upstype].val_bl); ^~~~~~ genericups.c:234:77: note: used in buffer access here bl = upstab[upstype].line_bl != 0 && ((flags & upstab[upstype].line_bl) == upstab[upstype].val_bl); ^~~~~~ genericups.c:235:49: note: used in buffer access here rb = upstab[upstype].line_rb != 0 && ((flags & upstab[upstype].line_rb) == upstab[upstype].val_rb); ^~~~~~ genericups.c:235:77: note: used in buffer access here rb = upstab[upstype].line_rb != 0 && ((flags & upstab[upstype].line_rb) == upstab[upstype].val_rb); ^~~~~~ genericups.c:236:11: note: used in buffer access here bypass = upstab[upstype].line_bypass != 0 && ((flags & upstab[upstype].line_bypass) == upstab[upstype].val_bypass); ^~~~~~ genericups.c:236:57: note: used in buffer access here bypass = upstab[upstype].line_bypass != 0 && ((flags & upstab[upstype].line_bypass) == upstab[upstype].val_bypass); ^~~~~~ genericups.c:236:89: note: used in buffer access here bypass = upstab[upstype].line_bypass != 0 && ((flags & upstab[upstype].line_bypass) == upstab[upstype].val_bypass); ^~~~~~ In file included from genericups.c:26: ./genericups.h:33:3: warning: 'upstab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } upstab[] = ~~~~~~~~^~~~~~~~~~ genericups.c:273:14: note: used in buffer access here for (i = 0; upstab[i].mfr != NULL; i++) { ^~~~~~ genericups.c:274:25: note: used in buffer access here printf("%i: %s\n", i, upstab[i].desc); ^~~~~~ In file included from genericups.c:26: ./genericups.h:33:3: warning: 'upstab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } upstab[] = ~~~~~~~~^~~~~~~~~~ genericups.c:289:14: note: used in buffer access here for (i = 0; upstab[i].mfr != NULL; i++) { ^~~~~~ genericups.c:292:40: note: used in buffer access here upslogx(LOG_INFO, "UPS type: %s\n", upstab[i].desc); ^~~~~~ In file included from genericups.c:26: ./genericups.h:33:3: warning: 'upstab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } upstab[] = ~~~~~~~~^~~~~~~~~~ genericups.c:311:10: note: used in buffer access here flags = upstab[upstype].line_sd; ^~~~~~ In file included from genericups.c:26: ./genericups.h:33:3: warning: 'upstab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } upstab[] = ~~~~~~~~^~~~~~~~~~ genericups.c:420:28: note: used in buffer access here parse_output_signals(v, &upstab[upstype].line_norm); ^~~~~~ genericups.c:425:28: note: used in buffer access here parse_output_signals(v, &upstab[upstype].line_sd); ^~~~~~ genericups.c:429:30: note: used in buffer access here if (ioctl(upsfd, TIOCMSET, &upstab[upstype].line_norm)) { ^~~~~~ 6 warnings generated. depbase=`echo microsol-apc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT microsol-apc.o -MD -MP -MF $depbase.Tpo -c -o microsol-apc.o microsol-apc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo microsol-common.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT microsol-common.o -MD -MP -MF $depbase.Tpo -c -o microsol-common.o microsol-common.c &&\ mv -f $depbase.Tpo $depbase.Po masterguard.c:77:18: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] return source + i + 1; ~~~~~~~^~~ masterguard.c:64:33: warning: 'source' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char *StringSplit( char *source, char *word, size_t maxlen ) ~~~~~~^~~~~~ masterguard.c:74:7: note: used in buffer access here if( source[i] == ' ' ) ^~~~~~ masterguard.c:79:14: note: used in buffer access here word[wc] = source[i]; ^~~~~~ masterguard.c:77:11: note: used in pointer arithmetic here return source + i + 1; ^~~~~~ masterguard.c:64:47: warning: 'word' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char *StringSplit( char *source, char *word, size_t maxlen ) ~~~~~~^~~~ masterguard.c:76:4: note: used in buffer access here word[wc] = '\0'; ^~~~ masterguard.c:79:3: note: used in buffer access here word[wc] = source[i]; ^~~~ masterguard.c:82:2: note: used in buffer access here word[wc] = '\0'; ^~~~ masterguard.c:94:32: warning: 'source' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void StringStrip( char *source, char *word ) ~~~~~~^~~~~~ masterguard.c:110:14: note: used in buffer access here word[wc] = source[i]; ^~~~~~ masterguard.c:104:7: note: used in buffer access here if( source[i] == ' ' ) ^~~~~~ masterguard.c:106:7: note: used in buffer access here if( source[i] == '\n' ) ^~~~~~ masterguard.c:108:7: note: used in buffer access here if( source[i] == '\t' ) ^~~~~~ masterguard.c:94:46: warning: 'word' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void StringStrip( char *source, char *word ) ~~~~~~^~~~ masterguard.c:113:2: note: used in buffer access here word[wc] = '\0'; ^~~~ masterguard.c:110:3: note: used in buffer access here word[wc] = source[i]; ^~~~ masterguard.c:122:31: warning: 'flags' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void parseFlags( char *flags ) ~~~~~~^~~~~ masterguard.c:134:6: note: used in buffer access here if( flags[2] == '1' ) ^~~~~ masterguard.c:131:6: note: used in buffer access here if( flags[1] == '1' ) ^~~~~ masterguard.c:164:27: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void query1( char *buf ) ~~~~~~^~~ masterguard.c:175:11: note: used in pointer arithmetic here oldPOS = buf + 1; ^~~ masterguard.c:174:35: note: used in pointer arithmetic here printf( "Q1 Buffer is : %s\n" , buf + 1 ); ^~~ masterguard.c:238:27: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void query3( char *buf ) ~~~~~~^~~ masterguard.c:249:11: note: used in pointer arithmetic here oldPOS = buf + 1; ^~~ masterguard.c:248:35: note: used in pointer arithmetic here printf( "Q3 Buffer is : %s\n" , buf+1 ); ^~~ masterguard.c:52:16: warning: 'name' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char name[31]; ~~~~~~~~~~~~~~~^~~~~~~~ masterguard.c:334:2: note: used in buffer access here name[30] = '\0'; ^~~~ masterguard.c:53:16: warning: 'firmware' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char firmware[6]; ~~~~~~~~~~~~~~~^~~~~~~~~~~ masterguard.c:336:2: note: used in buffer access here firmware[5] = '\0'; ^~~~~~~~ masterguard.c:331:28: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void parseWH( char *buf ) ~~~~~~^~~ masterguard.c:335:21: note: used in pointer arithmetic here strncpy( firmware, buf + 4, 5 ); ^~~ masterguard.c:333:17: note: used in pointer arithmetic here strncpy( name, buf + 16, 30 ); ^~~ masterguard.c:52:16: warning: 'name' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char name[31]; ~~~~~~~~~~~~~~~^~~~~~~~ masterguard.c:351:2: note: used in buffer access here name[12] = '\0'; ^~~~ masterguard.c:53:16: warning: 'firmware' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char firmware[6]; ~~~~~~~~~~~~~~~^~~~~~~~~~~ masterguard.c:353:2: note: used in buffer access here firmware[4] = '\0'; ^~~~~~~~ masterguard.c:348:31: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void parseOldWH( char *buf ) ~~~~~~^~~ masterguard.c:350:17: note: used in pointer arithmetic here strncpy( name, buf + 4, 12 ); ^~~ 14 warnings generated. cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DSHUT_MODE=1 -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT mge_shut-usbhid-ups.o -MD -MP -MF .deps/mge_shut-usbhid-ups.Tpo -c -o mge_shut-usbhid-ups.o `test -f 'usbhid-ups.c' || echo './'`usbhid-ups.c In file included from microsol-apc.c:35: ./microsol-apc.h:31:27: warning: 'MODELS' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const unsigned int MODELS[MODEL_COUNT] = { ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:67:24: note: used in buffer access here for (model_index = 0; MODELS[model_index] != ups_model; model_index++); ^~~~~~ microsol-apc.c:122:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] input_voltage = INPUT_VOLTAGE_MULTIPLIER_A[model_index][output_220v] * input_voltage + INPUT_VOLTAGE_MULTIPLIER_B[model_index][output_220v]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:122:89: warning: unsafe buffer access [-Wunsafe-buffer-usage] input_voltage = INPUT_VOLTAGE_MULTIPLIER_A[model_index][output_220v] * input_voltage + INPUT_VOLTAGE_MULTIPLIER_B[model_index][output_220v]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:126:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] output_current = OUTPUT_CURRENT_MULTIPLIER_A[model_index][line_unpowered] * output_current + OUTPUT_CURRENT_MULTIPLIER_B[model_index][line_unpowered]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:126:95: warning: unsafe buffer access [-Wunsafe-buffer-usage] output_current = OUTPUT_CURRENT_MULTIPLIER_A[model_index][line_unpowered] * output_current + OUTPUT_CURRENT_MULTIPLIER_B[model_index][line_unpowered]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:130:68: warning: unsafe buffer access [-Wunsafe-buffer-usage] output_voltage = battery_voltage * sqrt(output_voltage / 64.0) * OUTPUT_VOLTAGE_MULTIPLIER_A[model_index][line_unpowered][relay_state] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:130:68: warning: unsafe buffer access [-Wunsafe-buffer-usage] output_voltage = battery_voltage * sqrt(output_voltage / 64.0) * OUTPUT_VOLTAGE_MULTIPLIER_A[model_index][line_unpowered][relay_state] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:131:26: warning: unsafe buffer access [-Wunsafe-buffer-usage] - output_current * OUTPUT_VOLTAGE_MULTIPLIER_B[model_index][line_unpowered][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:131:26: warning: unsafe buffer access [-Wunsafe-buffer-usage] - output_current * OUTPUT_VOLTAGE_MULTIPLIER_B[model_index][line_unpowered][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:147:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] output_voltage = OUTPUT_VOLTAGE_MULTIPLIER_A[model_index][line_unpowered][relay_state] * output_voltage + OUTPUT_VOLTAGE_MULTIPLIER_B[model_index][line_unpowered][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:147:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] output_voltage = OUTPUT_VOLTAGE_MULTIPLIER_A[model_index][line_unpowered][relay_state] * output_voltage + OUTPUT_VOLTAGE_MULTIPLIER_B[model_index][line_unpowered][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:147:109: warning: unsafe buffer access [-Wunsafe-buffer-usage] output_voltage = OUTPUT_VOLTAGE_MULTIPLIER_A[model_index][line_unpowered][relay_state] * output_voltage + OUTPUT_VOLTAGE_MULTIPLIER_B[model_index][line_unpowered][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:147:109: warning: unsafe buffer access [-Wunsafe-buffer-usage] output_voltage = OUTPUT_VOLTAGE_MULTIPLIER_A[model_index][line_unpowered][relay_state] * output_voltage + OUTPUT_VOLTAGE_MULTIPLIER_B[model_index][line_unpowered][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:161:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power_curve_1 = REAL_POWER_CURVE_SELECTOR_A1[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B1[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:161:93: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power_curve_1 = REAL_POWER_CURVE_SELECTOR_A1[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B1[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:162:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power_curve_2 = REAL_POWER_CURVE_SELECTOR_A2[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B2[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:162:93: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power_curve_2 = REAL_POWER_CURVE_SELECTOR_A2[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B2[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:163:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power_curve_3 = REAL_POWER_CURVE_SELECTOR_A3[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B3[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:163:93: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power_curve_3 = REAL_POWER_CURVE_SELECTOR_A3[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B3[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:170:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power = REAL_POWER_MULTIPLIER_A1[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B1[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:170:82: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power = REAL_POWER_MULTIPLIER_A1[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B1[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:172:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power = REAL_POWER_MULTIPLIER_A2[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B2[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:172:82: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power = REAL_POWER_MULTIPLIER_A2[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B2[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:174:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power = REAL_POWER_MULTIPLIER_A3[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B3[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:174:82: warning: unsafe buffer access [-Wunsafe-buffer-usage] real_power = REAL_POWER_MULTIPLIER_A3[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B3[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:187:85: warning: unsafe buffer access [-Wunsafe-buffer-usage] battery_charge = (100.0 * (battery_voltage - MIN_BATTERY_VOLTAGE[model_index])) / (MAX_BATTERY_VOLTAGE[model_index][recharging] - MIN_BATTERY_VOLTAGE[model_index]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:34: ./microsol-common.h:33:22: warning: 'received_packet' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern unsigned char received_packet[PACKET_SIZE]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:106:18: note: used in buffer access here input_voltage = received_packet[2]; ^~~~~~~~~~~~~~~ microsol-apc.c:107:19: note: used in buffer access here output_voltage = received_packet[1]; ^~~~~~~~~~~~~~~ microsol-apc.c:108:19: note: used in buffer access here output_current = received_packet[5]; ^~~~~~~~~~~~~~~ microsol-apc.c:109:20: note: used in buffer access here battery_voltage = received_packet[3]; ^~~~~~~~~~~~~~~ microsol-apc.c:111:17: note: used in buffer access here relay_state = (received_packet[6] & 0x28) >> 3; ^~~~~~~~~~~~~~~ microsol-apc.c:154:37: note: used in buffer access here input_frequency = 0.37 * (257 - ((received_packet[21] + received_packet[22] * 256) >> 8)); ^~~~~~~~~~~~~~~ microsol-apc.c:154:59: note: used in buffer access here input_frequency = 0.37 * (257 - ((received_packet[21] + received_packet[22] * 256) >> 8)); ^~~~~~~~~~~~~~~ microsol-apc.c:160:15: note: used in buffer access here real_power = received_packet[7] + 256 * received_packet[8]; ^~~~~~~~~~~~~~~ microsol-apc.c:160:42: note: used in buffer access here real_power = received_packet[7] + 256 * received_packet[8]; ^~~~~~~~~~~~~~~ microsol-apc.c:186:23: note: used in buffer access here recharging = (0x02 & received_packet[20]) == 0x02; ^~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:31:27: warning: 'MODELS' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const unsigned int MODELS[MODEL_COUNT] = { ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:114:24: note: used in buffer access here for (model_index = 0; MODELS[model_index] != ups_model && model_index < MODEL_COUNT - 1; model_index++); ^~~~~~ microsol-apc.c:115:6: note: used in buffer access here if (MODELS[model_index] != ups_model) { ^~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:40:18: warning: 'NOMINAL_POWER' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const int NOMINAL_POWER[MODEL_COUNT] = { ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:120:18: note: used in buffer access here nominal_power = NOMINAL_POWER[model_index]; ^~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:51:20: warning: 'OUTPUT_VOLTAGE_MULTIPLIER_A' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float OUTPUT_VOLTAGE_MULTIPLIER_A[MODEL_COUNT][2][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:130:68: note: used in buffer access here output_voltage = battery_voltage * sqrt(output_voltage / 64.0) * OUTPUT_VOLTAGE_MULTIPLIER_A[model_index][line_unpowered][relay_state] ^~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:147:20: note: used in buffer access here output_voltage = OUTPUT_VOLTAGE_MULTIPLIER_A[model_index][line_unpowered][relay_state] * output_voltage + OUTPUT_VOLTAGE_MULTIPLIER_B[model_index][line_unpowered][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:66:20: warning: 'OUTPUT_VOLTAGE_MULTIPLIER_B' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float OUTPUT_VOLTAGE_MULTIPLIER_B[MODEL_COUNT][2][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:131:26: note: used in buffer access here - output_current * OUTPUT_VOLTAGE_MULTIPLIER_B[model_index][line_unpowered][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:147:109: note: used in buffer access here output_voltage = OUTPUT_VOLTAGE_MULTIPLIER_A[model_index][line_unpowered][relay_state] * output_voltage + OUTPUT_VOLTAGE_MULTIPLIER_B[model_index][line_unpowered][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:84:20: warning: 'OUTPUT_CURRENT_MULTIPLIER_A' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float OUTPUT_CURRENT_MULTIPLIER_A[MODEL_COUNT][2] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:126:19: note: used in buffer access here output_current = OUTPUT_CURRENT_MULTIPLIER_A[model_index][line_unpowered] * output_current + OUTPUT_CURRENT_MULTIPLIER_B[model_index][line_unpowered]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:96:20: warning: 'OUTPUT_CURRENT_MULTIPLIER_B' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float OUTPUT_CURRENT_MULTIPLIER_B[MODEL_COUNT][2] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:126:95: note: used in buffer access here output_current = OUTPUT_CURRENT_MULTIPLIER_A[model_index][line_unpowered] * output_current + OUTPUT_CURRENT_MULTIPLIER_B[model_index][line_unpowered]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:111:20: warning: 'INPUT_VOLTAGE_MULTIPLIER_A' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float INPUT_VOLTAGE_MULTIPLIER_A[MODEL_COUNT][2] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:122:18: note: used in buffer access here input_voltage = INPUT_VOLTAGE_MULTIPLIER_A[model_index][output_220v] * input_voltage + INPUT_VOLTAGE_MULTIPLIER_B[model_index][output_220v]; ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:117:20: warning: 'INPUT_VOLTAGE_MULTIPLIER_B' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float INPUT_VOLTAGE_MULTIPLIER_B[MODEL_COUNT][2] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:122:89: note: used in buffer access here input_voltage = INPUT_VOLTAGE_MULTIPLIER_A[model_index][output_220v] * input_voltage + INPUT_VOLTAGE_MULTIPLIER_B[model_index][output_220v]; ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:124:20: warning: 'BATTERY_VOLTAGE_MULTIPLIER_A' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float BATTERY_VOLTAGE_MULTIPLIER_A[MODEL_COUNT] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:124:20: note: used in buffer access here battery_voltage = BATTERY_VOLTAGE_MULTIPLIER_A[model_index] * battery_voltage + BATTERY_VOLTAGE_MULTIPLIER_B[model_index]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:130:20: warning: 'BATTERY_VOLTAGE_MULTIPLIER_B' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float BATTERY_VOLTAGE_MULTIPLIER_B[MODEL_COUNT] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:124:82: note: used in buffer access here battery_voltage = BATTERY_VOLTAGE_MULTIPLIER_A[model_index] * battery_voltage + BATTERY_VOLTAGE_MULTIPLIER_B[model_index]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:141:20: warning: 'REAL_POWER_CURVE_SELECTOR_A1' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_CURVE_SELECTOR_A1[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:161:23: note: used in buffer access here real_power_curve_1 = REAL_POWER_CURVE_SELECTOR_A1[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B1[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:147:20: warning: 'REAL_POWER_CURVE_SELECTOR_B1' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_CURVE_SELECTOR_B1[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:161:93: note: used in buffer access here real_power_curve_1 = REAL_POWER_CURVE_SELECTOR_A1[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B1[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:153:20: warning: 'REAL_POWER_CURVE_SELECTOR_A2' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_CURVE_SELECTOR_A2[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:162:23: note: used in buffer access here real_power_curve_2 = REAL_POWER_CURVE_SELECTOR_A2[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B2[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:159:20: warning: 'REAL_POWER_CURVE_SELECTOR_B2' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_CURVE_SELECTOR_B2[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:162:93: note: used in buffer access here real_power_curve_2 = REAL_POWER_CURVE_SELECTOR_A2[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B2[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:165:20: warning: 'REAL_POWER_CURVE_SELECTOR_A3' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_CURVE_SELECTOR_A3[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:163:23: note: used in buffer access here real_power_curve_3 = REAL_POWER_CURVE_SELECTOR_A3[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B3[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:171:20: warning: 'REAL_POWER_CURVE_SELECTOR_B3' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_CURVE_SELECTOR_B3[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:163:93: note: used in buffer access here real_power_curve_3 = REAL_POWER_CURVE_SELECTOR_A3[model_index][relay_state] * real_power + REAL_POWER_CURVE_SELECTOR_B3[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:177:20: warning: 'REAL_POWER_MULTIPLIER_A1' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_MULTIPLIER_A1[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:170:16: note: used in buffer access here real_power = REAL_POWER_MULTIPLIER_A1[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B1[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:183:20: warning: 'REAL_POWER_MULTIPLIER_B1' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_MULTIPLIER_B1[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:170:82: note: used in buffer access here real_power = REAL_POWER_MULTIPLIER_A1[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B1[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:189:20: warning: 'REAL_POWER_MULTIPLIER_A2' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_MULTIPLIER_A2[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:172:16: note: used in buffer access here real_power = REAL_POWER_MULTIPLIER_A2[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B2[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:195:20: warning: 'REAL_POWER_MULTIPLIER_B2' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_MULTIPLIER_B2[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:172:82: note: used in buffer access here real_power = REAL_POWER_MULTIPLIER_A2[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B2[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:201:20: warning: 'REAL_POWER_MULTIPLIER_A3' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_MULTIPLIER_A3[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:174:16: note: used in buffer access here real_power = REAL_POWER_MULTIPLIER_A3[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B3[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:207:20: warning: 'REAL_POWER_MULTIPLIER_B3' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float REAL_POWER_MULTIPLIER_B3[MODEL_COUNT][8] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:174:82: note: used in buffer access here real_power = REAL_POWER_MULTIPLIER_A3[model_index][relay_state] * real_power + REAL_POWER_MULTIPLIER_B3[model_index][relay_state]; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:217:20: warning: 'MAX_BATTERY_VOLTAGE' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float MAX_BATTERY_VOLTAGE[MODEL_COUNT][2] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:187:85: note: used in buffer access here battery_charge = (100.0 * (battery_voltage - MIN_BATTERY_VOLTAGE[model_index])) / (MAX_BATTERY_VOLTAGE[model_index][recharging] - MIN_BATTERY_VOLTAGE[model_index]); ^~~~~~~~~~~~~~~~~~~ In file included from microsol-apc.c:35: ./microsol-apc.h:224:20: warning: 'MIN_BATTERY_VOLTAGE' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const float MIN_BATTERY_VOLTAGE[MODEL_COUNT] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-apc.c:187:47: note: used in buffer access here battery_charge = (100.0 * (battery_voltage - MIN_BATTERY_VOLTAGE[model_index])) / (MAX_BATTERY_VOLTAGE[model_index][recharging] - MIN_BATTERY_VOLTAGE[model_index]); ^~~~~~~~~~~~~~~~~~~ microsol-apc.c:187:132: note: used in buffer access here battery_charge = (100.0 * (battery_voltage - MIN_BATTERY_VOLTAGE[model_index])) / (MAX_BATTERY_VOLTAGE[model_index][recharging] - MIN_BATTERY_VOLTAGE[model_index]); ^~~~~~~~~~~~~~~~~~~ 51 warnings generated. cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DSHUT_MODE=1 -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT mge_shut-libshut.o -MD -MP -MF .deps/mge_shut-libshut.Tpo -c -o mge_shut-libshut.o `test -f 'libshut.c' || echo './'`libshut.c metasys.c:77:41: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static uint16_t get_word(unsigned char *buffer) { /* return an integer reading a word in the supplied buffer */ ~~~~~~~~~~~~~~~^~~~~~ metasys.c:82:6: note: used in buffer access here b = buffer[1]; ^~~~~~ metasys.c:88:41: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static uint32_t get_long(unsigned char *buffer) { /* return a long integer reading 4 bytes in the supplied buffer */ ~~~~~~~~~~~~~~~^~~~~~ metasys.c:92:4: note: used in buffer access here b=buffer[1]; ^~~~~~ metasys.c:93:4: note: used in buffer access here c=buffer[2]; ^~~~~~ metasys.c:94:4: note: used in buffer access here d=buffer[3]; ^~~~~~ metasys.c:121:40: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void dump_buffer(unsigned char *buffer, int buf_len) { ~~~~~~~~~~~~~~~^~~~~~ metasys.c:124:30: note: used in buffer access here printf("byte %d: %x\n", i, buffer[i]); ^~~~~~ metasys.c:134:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[4]; ~~~~~~~~~~~~~~^~~~~~ metasys.c:142:10: note: used in buffer access here buf[3]=buf[1] + buf[2]; /* checksum (sum modulus 256 of data bytes + length) */ ^~~ metasys.c:141:3: note: used in buffer access here buf[2]=command; /* command to send */ ^~~ metasys.c:140:3: note: used in buffer access here buf[1]=0x02; /* data length(data + checksum byte) */ ^~~ metasys.c:142:3: note: used in buffer access here buf[3]=buf[1] + buf[2]; /* checksum (sum modulus 256 of data bytes + length) */ ^~~ metasys.c:142:19: note: used in buffer access here buf[3]=buf[1] + buf[2]; /* checksum (sum modulus 256 of data bytes + length) */ ^~~ metasys.c:156:16: warning: 'raw_buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char raw_buf[255]; ~~~~~~~~~~~~~~^~~~~~~~~~~~ metasys.c:166:51: note: used in buffer access here for (i = 1; i < command_length; i++) checksum += raw_buf[i]; ^~~~~~~ metasys.c:177:61: note: used in buffer access here if (sent < 0) ser_comm_fail("Error sending command %d\n", raw_buf[2]); ^~~~~~~ metasys.c:161:9: note: used in pointer arithmetic here memcpy(raw_buf+2, command, command_length); ^~~~~~~ metasys.c:168:2: note: used in buffer access here raw_buf[command_length] = (unsigned char)checksum; ^~~~~~~ metasys.c:178:75: note: used in buffer access here if (sent != (int)(command_length)) printf("Error sending command %d\n", raw_buf[2]); ^~~~~~~ metasys.c:160:2: note: used in buffer access here raw_buf[1] = (unsigned char)(command_length + 1); /* data length + checksum */ ^~~~~~~ metasys.c:185:16: warning: 'my_buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char my_buf[255]; /* packet has a maximum length of 256 bytes */ ~~~~~~~~~~~~~~^~~~~~~~~~~ metasys.c:224:79: note: used in buffer access here ser_comm_fail("checksum error! got %x instead of %x, received %d bytes \n", my_buf[packet_length - 1], checksum, packet_length); ^~~~~~ metasys.c:223:6: note: used in buffer access here if (my_buf[packet_length-1] != checksum) { ^~~~~~ metasys.c:221:56: note: used in buffer access here for (i = 0; i < (packet_length - 1); i++) checksum += my_buf[i]; ^~~~~~ metasys.c:288:16: warning: 'my_answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char my_answer[255]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~ metasys.c:355:6: note: used in buffer access here i = my_answer[1] * 10 + my_answer[2]; ^~~~~~~~~ metasys.c:355:26: note: used in buffer access here i = my_answer[1] * 10 + my_answer[2]; ^~~~~~~~~ metasys.c:592:17: note: used in pointer arithmetic here memcpy(serial, my_answer + 7, (size_t)(res - 7)); ^~~~~~~~~ metasys.c:598:56: note: used in buffer access here dstate_setinfo("ups.firmware", "%u.%u", my_answer[5], my_answer[6]); ^~~~~~~~~ metasys.c:598:42: note: used in buffer access here dstate_setinfo("ups.firmware", "%u.%u", my_answer[5], my_answer[6]); ^~~~~~~~~ metasys.c:289:7: warning: 'serial' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char serial[13]; ~~~~~^~~~~~~~~~ metasys.c:594:2: note: used in buffer access here serial[12]='\0'; /* terminate string */ ^~~~~~ metasys.c:631:16: warning: 'my_answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char my_answer[255]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~ metasys.c:640:23: note: used in buffer access here int_num = get_word(&my_answer[1]); ^~~~~~~~~ metasys.c:651:23: note: used in buffer access here int_num = get_word(&my_answer[3]); ^~~~~~~~~ metasys.c:656:31: note: used in buffer access here float_num = get_word_float(&my_answer[5]); ^~~~~~~~~ metasys.c:784:17: note: used in buffer access here autorestart = my_answer[5]; ^~~~~~~~~ metasys.c:690:23: note: used in buffer access here int_num = get_word(&my_answer[3]); ^~~~~~~~~ metasys.c:722:31: note: used in buffer access here float_num = get_word_float(&my_answer[1]); ^~~~~~~~~ metasys.c:795:24: note: used in buffer access here long_num = get_long(&my_answer[1]); ^~~~~~~~~ metasys.c:802:24: note: used in buffer access here long_num = get_long(&my_answer[5]); ^~~~~~~~~ metasys.c:818:3: note: used in buffer access here my_answer[3] -=128; ^~~~~~~~~ metasys.c:819:7: note: used in buffer access here if (my_answer[3] > 0) { ^~~~~~~~~ metasys.c:820:44: note: used in buffer access here dstate_setinfo("ups.temperature", "%d", my_answer[3]); ^~~~~~~~~ metasys.c:826:11: note: used in buffer access here switch (my_answer[1]) { /* byte 1 = STATUS */ ^~~~~~~~~ metasys.c:844:11: note: used in buffer access here switch (my_answer[2]) { /* byte 2 = FAULTS */ ^~~~~~~~~ metasys.c:871:16: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char command[10], answer[10]; ~~~~~~~~~~~~~~^~~~~~~~~~~ metasys.c:878:3: note: used in buffer access here command[1]=0x00; /* max time on */ ^~~~~~~ metasys.c:879:3: note: used in buffer access here command[2]=0x00; /* battery */ ^~~~~~~ metasys.c:881:3: note: used in buffer access here command[3]=0x00; /* max time after */ ^~~~~~~ metasys.c:890:2: note: used in buffer access here command[1]=0x96; /* remaining */ ^~~~~~~ metasys.c:882:3: note: used in buffer access here command[4]=0x00; /* battery reserve */ ^~~~~~~ metasys.c:884:3: note: used in buffer access here command[5]=0x01; /* autorestart after battery depleted enabled */ ^~~~~~~ metasys.c:891:2: note: used in buffer access here command[2]=0x00; /* time */ ^~~~~~~ metasys.c:892:2: note: used in buffer access here command[3]=0x00; /* to */ ^~~~~~~ metasys.c:893:2: note: used in buffer access here command[4]=0x00; /* shutdown 150 secs */ ^~~~~~~ metasys.c:897:2: note: used in buffer access here command[5]=0x01; /* programmed */ ^~~~~~~ metasys.c:898:2: note: used in buffer access here command[6]=0x00; /* time */ ^~~~~~~ metasys.c:899:2: note: used in buffer access here command[7]=0x00; /* to */ ^~~~~~~ metasys.c:900:2: note: used in buffer access here command[8]=0x00; /* restart 1 sec */ ^~~~~~~ metasys.c:914:16: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char command[10], answer[10]; ~~~~~~~~~~~~~~^~~~~~~~~~~ metasys.c:950:3: note: used in buffer access here command[6]=0x00; /* time */ ^~~~~~~ metasys.c:951:3: note: used in buffer access here command[7]=0x00; /* to */ ^~~~~~~ metasys.c:949:3: note: used in buffer access here command[5]=0x01; /* programmed */ ^~~~~~~ metasys.c:945:3: note: used in buffer access here command[2]=0x00; /* time */ ^~~~~~~ metasys.c:946:3: note: used in buffer access here command[3]=0x00; /* to */ ^~~~~~~ metasys.c:947:3: note: used in buffer access here command[4]=0x00; /* shutdown 30 secs */ ^~~~~~~ metasys.c:939:4: note: used in buffer access here command[5]=0x01; /* autorestart after battery depleted enabled */ ^~~~~~~ metasys.c:944:3: note: used in buffer access here command[1]=0x1e; /* remaining */ ^~~~~~~ metasys.c:938:4: note: used in buffer access here command[4]=0x00; /* battery reserve */ ^~~~~~~ metasys.c:937:4: note: used in buffer access here command[3]=0x00; /* max time after */ ^~~~~~~ metasys.c:935:4: note: used in buffer access here command[1]=0x00; /* max time on */ ^~~~~~~ metasys.c:936:4: note: used in buffer access here command[2]=0x00; /* battery */ ^~~~~~~ metasys.c:952:3: note: used in buffer access here command[8]=0x00; /* restart 1 sec */ ^~~~~~~ metasys.c:960:3: note: used in buffer access here command[1]=0x1e; /* remaining */ ^~~~~~~ metasys.c:961:3: note: used in buffer access here command[2]=0x00; /* time */ ^~~~~~~ metasys.c:962:3: note: used in buffer access here command[3]=0x00; /* to */ ^~~~~~~ metasys.c:963:3: note: used in buffer access here command[4]=0x00; /* shutdown 150 secs */ ^~~~~~~ metasys.c:965:3: note: used in buffer access here command[5]=0xff; /* programmed */ ^~~~~~~ metasys.c:966:3: note: used in buffer access here command[6]=0xff; /* time */ ^~~~~~~ metasys.c:967:3: note: used in buffer access here command[7]=0xff; /* to */ ^~~~~~~ metasys.c:968:3: note: used in buffer access here command[8]=0xff; /* restart -1 no restart*/ ^~~~~~~ metasys.c:976:3: note: used in buffer access here command[1]=0xff; /* remaining */ ^~~~~~~ metasys.c:977:3: note: used in buffer access here command[2]=0xff; /* time */ ^~~~~~~ metasys.c:978:3: note: used in buffer access here command[3]=0xff; /* to */ ^~~~~~~ metasys.c:979:3: note: used in buffer access here command[4]=0xff; /* shutdown -1 (no shutdown) */ ^~~~~~~ metasys.c:981:3: note: used in buffer access here command[5]=0xff; /* programmed */ ^~~~~~~ metasys.c:982:3: note: used in buffer access here command[6]=0xff; /* time */ ^~~~~~~ metasys.c:983:3: note: used in buffer access here command[7]=0xff; /* to */ ^~~~~~~ metasys.c:984:3: note: used in buffer access here command[8]=0xff; /* restart -1 no restart */ ^~~~~~~ metasys.c:992:3: note: used in buffer access here command[1]=0x01; ^~~~~~~ metasys.c:1003:3: note: used in buffer access here command[1]=0x02; ^~~~~~~ metasys.c:1014:3: note: used in buffer access here command[1]=0x00; ^~~~~~~ metasys.c:1056:3: note: used in buffer access here command[1]=0x00; ^~~~~~~ metasys.c:1067:3: note: used in buffer access here command[1]=0x01; ^~~~~~~ metasys.c:914:29: warning: 'answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char command[10], answer[10]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ metasys.c:1021:11: note: used in buffer access here switch (answer[1]) { /* byte 1 = Test result */ ^~~~~~ metasys.c:1049:51: note: used in buffer access here upslogx(LOG_NOTICE, "test battery byte 1 = %x", answer[1]); ^~~~~~ 12 warnings generated. cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DSHUT_MODE=1 -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT mge_shut-libhid.o -MD -MP -MF .deps/mge_shut-libhid.Tpo -c -o mge_shut-libhid.o `test -f 'libhid.c' || echo './'`libhid.c microdowell.c:65:45: warning: 'Buff' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int CheckDataChecksum(unsigned char *Buff, size_t Len) ~~~~~~~~~~~~~~~^~~~ microdowell.c:72:7: note: used in buffer access here if (Buff[Idx] == STX_CHAR) ^~~~ microdowell.c:78:31: note: used in buffer access here if ( (Idx > (Len-4)) || (Idx+Buff[Idx+1]+2 > Len) ) ^~~~ microdowell.c:82:25: note: used in buffer access here for (i=Idx+1 ; i < Idx+Buff[Idx+1]+2 ; i++) ^~~~ microdowell.c:83:10: note: used in buffer access here Xor ^= Buff[i] ; ^~~~ microdowell.c:86:13: note: used in buffer access here if (Xor != Buff[i]) ^~~~ microdowell.c:94:20: warning: 'ErrMessages' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *ErrMessages[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ microdowell.c:149:9: note: used in buffer access here return(ErrMessages[msgIndex]) ; ^~~~~~~~~~~ microdowell.c:152:41: warning: 'Buff' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int CheckErrCode(unsigned char * Buff) ~~~~~~~~~~~~~~~~^~~~ microdowell.c:159:10: note: used in buffer access here Ret = Buff[3] ; ^~~~ microdowell.c:156:10: note: used in buffer access here switch (Buff[2]) { ^~~~ microdowell.c:191:44: warning: 'Buff' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void SendCmdToSerial(unsigned char *Buff, size_t Len) ~~~~~~~~~~~~~~~^~~~ microdowell.c:200:14: note: used in buffer access here Tmp[i+2] = Buff[i] ; ^~~~ microdowell.c:201:10: note: used in buffer access here Xor ^= Buff[i] ; ^~~~ microdowell.c:194:16: warning: 'Tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char Tmp[20], Xor ; ~~~~~~~~~~~~~~^~~~~~~ microdowell.c:203:2: note: used in buffer access here Tmp[Len+2] = Xor ; ^~~ microdowell.c:198:17: note: used in buffer access here for (i=0 ; i < Tmp[1] ; i++) ^~~ microdowell.c:200:3: note: used in buffer access here Tmp[i+2] = Buff[i] ; ^~~ microdowell.c:197:8: note: used in buffer access here Xor = Tmp[1] = (unsigned char) (Len & 0x1f) ; ^~~ microdowell.c:212:87: warning: 'RetBuffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static unsigned char * CmdSerial(unsigned char *OutBuffer, size_t Len, unsigned char *RetBuffer) ~~~~~~~~~~~~~~~^~~~~~~~~ microdowell.c:254:6: note: used in buffer access here RetBuffer[i] = p[i] ; ^~~~~~~~~ microdowell.c:215:16: warning: 'InpBuff' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char InpBuff[TMP_BUFF_LEN+1] ; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ microdowell.c:246:8: note: used in pointer arithmetic here p = InpBuff + ups.FramePointer ; ^~~~~~~ microdowell.c:231:3: note: used in buffer access here InpBuff[BuffLen++] = TmpBuff[0] ; ^~~~~~~ microdowell.c:218:17: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char *p ; ~~~~~~~~~~~~~~~^ microdowell.c:253:24: note: used in buffer access here for(i=0 ; i<(int) (p[1])+3 ; i++) ^ microdowell.c:254:21: note: used in buffer access here RetBuffer[i] = p[i] ; ^ microdowell.c:296:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] ups.UpsModel[i] = (char)p[i+5] ; ^~~~~~~~~~~~ microdowell.c:297:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] ups.UpsModel[8] = '\0' ; ^~~~~~~~~~~~ microdowell.c:321:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] ups.SerialNumber[i] = (char)p[i+5] ; ^~~~~~~~~~~~~~~~ microdowell.c:322:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] ups.SerialNumber[8] = '\0' ; ^~~~~~~~~~~~~~~~ microdowell.c:276:16: warning: 'OutBuff' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char OutBuff[20] ; ~~~~~~~~~~~~~~^~~~~~~~~~~ microdowell.c:290:3: note: used in buffer access here OutBuff[1] = EEP_UPS_MODEL ; /* UPS model */ ^~~~~~~ microdowell.c:291:3: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:315:2: note: used in buffer access here OutBuff[1] = EEP_SERIAL_NUM ; /* UPS serial # */ ^~~~~~~ microdowell.c:316:2: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:335:2: note: used in buffer access here OutBuff[1] = EEP_PROD_DATE ; /* Production date + HW version */ ^~~~~~~ microdowell.c:336:2: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:364:2: note: used in buffer access here OutBuff[1] = EEP_BATT_SUBST ; /* Battery substitution dates */ ^~~~~~~ microdowell.c:365:2: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:382:2: note: used in buffer access here OutBuff[1] = EEP_MIN_VBATT ; /* working time */ ^~~~~~~ microdowell.c:383:2: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:400:2: note: used in buffer access here OutBuff[1] = EEP_THRESHOLD_0 ; /* Thresholds table 0 */ ^~~~~~~ microdowell.c:401:2: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:418:2: note: used in buffer access here OutBuff[1] = EEP_THRESHOLD_1 ; /* Thresholds table 0 */ ^~~~~~~ microdowell.c:419:2: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:436:2: note: used in buffer access here OutBuff[1] = EEP_THRESHOLD_2 ; /* Thresholds table 0 */ ^~~~~~~ microdowell.c:437:2: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:454:2: note: used in buffer access here OutBuff[1] = EEP_OPT_BYTE_BLK ; /* Option Bytes */ ^~~~~~~ microdowell.c:455:2: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:474:2: note: used in buffer access here OutBuff[1] = EEP_FAULT_POINTS ; /* Number of fault points (sensitivity)) */ ^~~~~~~ microdowell.c:475:2: note: used in buffer access here OutBuff[2] = 8 ; /* number of bytes */ ^~~~~~~ microdowell.c:501:2: note: used in buffer access here OutBuff[1] = (Time->tm_wday+6) % 7 ; /* week day (0=monday) */ ^~~~~~~ microdowell.c:502:2: note: used in buffer access here OutBuff[2] = (unsigned char)Time->tm_hour ; /* hours */ ^~~~~~~ microdowell.c:503:2: note: used in buffer access here OutBuff[3] = (unsigned char)Time->tm_min ; /* minutes */ ^~~~~~~ microdowell.c:504:2: note: used in buffer access here OutBuff[4] = (unsigned char)Time->tm_sec ; /* seconds */ ^~~~~~~ microdowell.c:278:17: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char *p ; ~~~~~~~~~~~~~~~^ microdowell.c:296:29: note: used in buffer access here ups.UpsModel[i] = (char)p[i+5] ; ^ microdowell.c:321:32: note: used in buffer access here ups.SerialNumber[i] = (char)p[i+5] ; ^ microdowell.c:340:3: note: used in pointer arithmetic here p += 5 ; /* 'p' points to eeprom data */ ^ microdowell.c:342:21: note: used in buffer access here ups.MonthOfProd = p[1] ; /* Production month of the UPS */ ^ microdowell.c:343:19: note: used in buffer access here ups.DayOfProd = p[2] ; /* Production day of the UPS */ ^ microdowell.c:344:26: note: used in buffer access here ups.HW_MajorVersion = (p[3]>>4) & 0x0F ; /* Hardware: Major version */ ^ microdowell.c:345:26: note: used in buffer access here ups.HW_MinorVersion = (p[3] & 0x0F) ; /* Hardware: Minor version */ ^ microdowell.c:346:26: note: used in buffer access here ups.BR_MajorVersion = (p[4]>>4) & 0x0F ; /* BoardHardware: Major version */ ^ microdowell.c:347:26: note: used in buffer access here ups.BR_MinorVersion = (p[4] & 0x0F) ; /* BoardHardware: Minor version */ ^ microdowell.c:348:26: note: used in buffer access here ups.FW_MajorVersion = (p[5]>>4) & 0x0F ; /* Firmware: Major version */ ^ microdowell.c:349:26: note: used in buffer access here ups.FW_MinorVersion = (p[5] & 0x0F) ; /* Firmware: Minor version */ ^ microdowell.c:350:23: note: used in buffer access here ups.FW_SubVersion = p[6] ; /* Firmware: SUBVERSION (special releases */ ^ microdowell.c:351:23: note: used in buffer access here ups.BatteryNumber = p[7] ; /* number of batteries in UPS */ ^ microdowell.c:369:3: note: used in pointer arithmetic here p += 5 ; /* 'p' points to eeprom data */ ^ microdowell.c:387:3: note: used in pointer arithmetic here p += 5 ; /* 'p' points to eeprom data */ ^ microdowell.c:405:3: note: used in pointer arithmetic here p += 5 ; /* 'p' points to eeprom data */ ^ microdowell.c:423:3: note: used in pointer arithmetic here p += 5 ; /* 'p' points to eeprom data */ ^ microdowell.c:441:3: note: used in pointer arithmetic here p += 5 ; /* 'p' points to eeprom data */ ^ microdowell.c:459:3: note: used in pointer arithmetic here p += 5 ; /* 'p' points to eeprom data */ ^ microdowell.c:460:50: note: used in buffer access here dstate_setinfo("input.voltage.nominal", "%s", (p[EEP_OPT_BYTE_1] & 0x02) ? "110": "230") ; ^ microdowell.c:461:44: note: used in buffer access here dstate_setinfo("input.frequency", "%s", (p[EEP_OPT_BYTE_1] & 0x01) ? "60.0": "50.0") ; ^ microdowell.c:479:3: note: used in pointer arithmetic here p += 5 ; /* 'p' points to eeprom data */ ^ microdowell.c:527:17: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char *p ; ~~~~~~~~~~~~~~~^ microdowell.c:602:68: note: used in buffer access here dstate_setinfo("output.voltage", "%d", (int)((float)(p[6]*256 + p[7]) / 36.4)) ; ^ microdowell.c:598:67: note: used in buffer access here dstate_setinfo("battery.voltage", "%.1f", ((float) (p[4]*256 + p[5])) / 329.0) ; ^ microdowell.c:602:57: note: used in buffer access here dstate_setinfo("output.voltage", "%d", (int)((float)(p[6]*256 + p[7]) / 36.4)) ; ^ microdowell.c:596:68: note: used in buffer access here dstate_setinfo("output.voltage", "%d", (int)((float)(p[6]*256 + p[7]) / 63.8)) ; ^ microdowell.c:598:56: note: used in buffer access here dstate_setinfo("battery.voltage", "%.1f", ((float) (p[4]*256 + p[5])) / 329.0) ; ^ microdowell.c:597:54: note: used in buffer access here dstate_setinfo("output.current", "%1.f", ((float)(p[8]*256 + p[9]) / 635.0)) ; ^ microdowell.c:603:54: note: used in buffer access here dstate_setinfo("output.current", "%1.f", ((float)(p[8]*256 + p[9]) / 1350.0)) ; ^ microdowell.c:603:65: note: used in buffer access here dstate_setinfo("output.current", "%1.f", ((float)(p[8]*256 + p[9]) / 1350.0)) ; ^ microdowell.c:597:65: note: used in buffer access here dstate_setinfo("output.current", "%1.f", ((float)(p[8]*256 + p[9]) / 635.0)) ; ^ microdowell.c:628:41: note: used in buffer access here dstate_setinfo("ups.load", "%d", (int)p[6]) ; ^ microdowell.c:596:57: note: used in buffer access here dstate_setinfo("output.voltage", "%d", (int)((float)(p[6]*256 + p[7]) / 63.8)) ; ^ microdowell.c:593:55: note: used in buffer access here dstate_setinfo("input.voltage", "%d", (int)((float)(p[2]*256 + p[3]) / 36.4)) ; ^ microdowell.c:593:66: note: used in buffer access here dstate_setinfo("input.voltage", "%d", (int)((float)(p[2]*256 + p[3]) / 36.4)) ; ^ microdowell.c:604:56: note: used in buffer access here dstate_setinfo("battery.voltage", "%.1f", ((float) (p[4]*256 + p[5])) / 585.0) ; ^ microdowell.c:591:3: note: used in pointer arithmetic here p += 3 ; /* 'p' points to received data */ ^ microdowell.c:575:54: note: used in buffer access here dstate_setinfo("ups.time", "%02d:%02d:%02d", p[6], p[7], p[8]) ; ^ microdowell.c:625:49: note: used in buffer access here dstate_setinfo("ups.power", "%d", (p[4]*256 + p[5])) ; ^ microdowell.c:575:60: note: used in buffer access here dstate_setinfo("ups.time", "%02d:%02d:%02d", p[6], p[7], p[8]) ; ^ microdowell.c:533:3: note: used in pointer arithmetic here p += 3 ; /* 'p' points to received data */ ^ microdowell.c:604:67: note: used in buffer access here dstate_setinfo("battery.voltage", "%.1f", ((float) (p[4]*256 + p[5])) / 585.0) ; ^ microdowell.c:575:48: note: used in buffer access here dstate_setinfo("ups.time", "%02d:%02d:%02d", p[6], p[7], p[8]) ; ^ microdowell.c:568:7: note: used in buffer access here if (p[4] & 0x04) ^ microdowell.c:625:38: note: used in buffer access here dstate_setinfo("ups.power", "%d", (p[4]*256 + p[5])) ; ^ microdowell.c:607:58: note: used in buffer access here dstate_setinfo("ups.temperature", "%d", (int)(((float)(p[10]*256 + p[11])-202.97) / 1.424051)) ; ^ microdowell.c:607:70: note: used in buffer access here dstate_setinfo("ups.temperature", "%d", (int)(((float)(p[10]*256 + p[11])-202.97) / 1.424051)) ; ^ microdowell.c:572:7: note: used in buffer access here if (p[4] & 0x08) ^ microdowell.c:539:31: note: used in buffer access here ups.StatusUPS |= ((uint32_t)p[1]<<8) ; ^ microdowell.c:623:3: note: used in pointer arithmetic here p += 3 ; /* 'p' points to received data */ ^ microdowell.c:543:33: note: used in buffer access here ups.ShortStatus |= ((uint16_t)p[1]<<8) ; ^ microdowell.c:540:31: note: used in buffer access here ups.StatusUPS |= ((uint32_t)p[2]<<16) ; ^ microdowell.c:560:7: note: used in buffer access here if (p[1] & 0xC0) ^ microdowell.c:541:31: note: used in buffer access here ups.StatusUPS |= ((uint32_t)p[3]<<24) ; ^ microdowell.c:651:16: warning: 'OutBuff' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char OutBuff[20] ; ~~~~~~~~~~~~~~^~~~~~~~~~~ microdowell.c:662:3: note: used in buffer access here OutBuff[1] = 0xFF ; /* ALL outputs */ ^~~~~~~ microdowell.c:663:3: note: used in buffer access here OutBuff[2] = 0x08 ; /* Enable outputs (immediately) */ ^~~~~~~ microdowell.c:664:3: note: used in buffer access here OutBuff[3] = 0 ; ^~~~~~~ microdowell.c:667:3: note: used in buffer access here OutBuff[6] = 0 ; ^~~~~~~ microdowell.c:665:3: note: used in buffer access here OutBuff[4] = 0 ; ^~~~~~~ microdowell.c:666:3: note: used in buffer access here OutBuff[5] = 0 ; ^~~~~~~ microdowell.c:668:3: note: used in buffer access here OutBuff[7] = 0 ; ^~~~~~~ microdowell.c:686:3: note: used in buffer access here OutBuff[1] = 0xFF ; /* ALL outputs */ ^~~~~~~ microdowell.c:687:3: note: used in buffer access here OutBuff[2] = 0x04 ; /* Disable outputs (immediately) */ ^~~~~~~ microdowell.c:688:3: note: used in buffer access here OutBuff[3] = 0 ; ^~~~~~~ microdowell.c:689:3: note: used in buffer access here OutBuff[4] = 0 ; ^~~~~~~ microdowell.c:690:3: note: used in buffer access here OutBuff[5] = 0 ; ^~~~~~~ microdowell.c:691:3: note: used in buffer access here OutBuff[6] = 0 ; ^~~~~~~ microdowell.c:692:3: note: used in buffer access here OutBuff[7] = 0 ; ^~~~~~~ microdowell.c:711:3: note: used in buffer access here OutBuff[1] = 0xFF ; /* ALL outputs */ ^~~~~~~ microdowell.c:713:4: note: used in buffer access here OutBuff[2] = 0x02 ; /* Battery shutdown */ ^~~~~~~ microdowell.c:715:4: note: used in buffer access here OutBuff[2] = 0x01 ; /* Online shutdown */ ^~~~~~~ microdowell.c:720:3: note: used in buffer access here OutBuff[3] = (ups.ShutdownDelay >> 8) & 0xFF ; /* SDDELAY (MSB) Shutdown value (seconds) */ ^~~~~~~ microdowell.c:721:3: note: used in buffer access here OutBuff[4] = (ups.ShutdownDelay & 0xFF) ; /* SDDELAY (LSB) */ ^~~~~~~ microdowell.c:722:3: note: used in buffer access here OutBuff[5] = (ups.WakeUpDelay >> 16) & 0xFF ; /* WUDELAY (MSB) Wakeup value (seconds) */ ^~~~~~~ microdowell.c:723:3: note: used in buffer access here OutBuff[6] = (ups.WakeUpDelay >> 8) & 0xFF ; /* WUDELAY (...) */ ^~~~~~~ microdowell.c:724:3: note: used in buffer access here OutBuff[7] = (ups.WakeUpDelay & 0xFF ) ; /* WUDELAY (LSB) */ ^~~~~~~ microdowell.c:729:67: note: used in buffer access here upslogx(LOG_INFO, "Shutdown command(TYPE=%02x, SD=%u, WU=%u)", OutBuff[2], ups.ShutdownDelay, ups.WakeUpDelay) ; ^~~~~~~ microdowell.c:730:66: note: used in buffer access here upsdebugx(3, "Shutdown command(TYPE=%02x, SD=%u, WU=%u): %s", OutBuff[2], ups.ShutdownDelay, ups.WakeUpDelay, PrintErr(ups.ErrCode)); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ microdowell.c:734:66: note: used in buffer access here upsdebugx(1, "Shutdown command(TYPE=%02x, SD=%u, WU=%u): %s", OutBuff[2], ups.ShutdownDelay, ups.WakeUpDelay, PrintErr(ups.ErrCode)); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ microdowell.c:744:3: note: used in buffer access here OutBuff[1] = 0xFF ; /* ALL outputs */ ^~~~~~~ microdowell.c:746:4: note: used in buffer access here OutBuff[2] = 0x02 ; /* Battery shutdown */ ^~~~~~~ microdowell.c:748:4: note: used in buffer access here OutBuff[2] = 0x01 ; /* Online shutdown */ ^~~~~~~ microdowell.c:753:3: note: used in buffer access here OutBuff[3] = (ups.ShutdownDelay >> 8) & 0xFF ; /* SDDELAY (MSB) Shutdown value (seconds) */ ^~~~~~~ microdowell.c:754:3: note: used in buffer access here OutBuff[4] = (ups.ShutdownDelay & 0xFF) ; /* SDDELAY (LSB) */ ^~~~~~~ microdowell.c:755:3: note: used in buffer access here OutBuff[5] = 0 ; /* WUDELAY (MSB) Wakeup value (seconds) */ ^~~~~~~ microdowell.c:756:3: note: used in buffer access here OutBuff[6] = 0 ; /* WUDELAY (...) */ ^~~~~~~ microdowell.c:757:3: note: used in buffer access here OutBuff[7] = 0 ; /* WUDELAY (LSB) */ ^~~~~~~ microdowell.c:762:70: note: used in buffer access here upslogx(LOG_INFO, "shutdown.stayoff - (TYPE=%02x, SD=%u, WU=%u)", OutBuff[2], ups.ShutdownDelay, 0) ; ^~~~~~~ microdowell.c:763:69: note: used in buffer access here upsdebugx(3, "shutdown.stayoff - (TYPE=%02x, SD=%u, WU=%u): %s", OutBuff[2], ups.ShutdownDelay, 0, PrintErr(ups.ErrCode)); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ microdowell.c:767:69: note: used in buffer access here upsdebugx(1, "shutdown.stayoff - (TYPE=%02x, SD=%u, WU=%u): %s", OutBuff[2], ups.ShutdownDelay, 0, PrintErr(ups.ErrCode)); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ microdowell.c:768:69: note: used in buffer access here upslogx(LOG_ERR, "shutdown.stayoff - (TYPE=%02x, SD=%u, WU=%u)", OutBuff[2], ups.ShutdownDelay, 0) ; ^~~~~~~ microdowell.c:653:17: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char *p ; ~~~~~~~~~~~~~~~^ microdowell.c:671:4: note: used in pointer arithmetic here p += 3 ; /* 'p' points to received data */ ^ microdowell.c:695:4: note: used in pointer arithmetic here p += 3 ; /* 'p' points to received data */ ^ microdowell.c:728:4: note: used in pointer arithmetic here p += 3 ; /* 'p' points to received data */ ^ microdowell.c:761:4: note: used in pointer arithmetic here p += 3 ; /* 'p' points to received data */ ^ microdowell.c:899:48: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] dstate_setinfo("ups.model", "Enterprise N%s", ups.UpsModel+3) ; ^~~~~~~~~~~~ microdowell.c:900:49: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] dstate_setinfo("ups.power.nominal", "%d", atoi(ups.UpsModel+3) * 100) ; ^~~~~~~~~~~~ microdowell.c:901:53: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] dstate_setinfo("ups.realpower.nominal", "%d", atoi(ups.UpsModel+3) * 60) ; ^~~~~~~~~~~~ microdowell.c:904:11: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if (atoi(ups.UpsModel+3) >= 20) ^~~~~~~~~~~~ microdowell.c:945:16: warning: 'OutBuff' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char OutBuff[20] ; ~~~~~~~~~~~~~~^~~~~~~~~~~ microdowell.c:981:2: note: used in buffer access here OutBuff[1] = 0xFF ; /* shutdown on ALL ports */ ^~~~~~~ microdowell.c:985:3: note: used in buffer access here OutBuff[2] = 0x02 ; /* Type of shutdown (BATTERY MODE) */ ^~~~~~~ microdowell.c:987:3: note: used in buffer access here OutBuff[2] = 0x01 ; /* Type of shutdown (ONLINE) */ ^~~~~~~ microdowell.c:992:2: note: used in buffer access here OutBuff[3] = (ups.ShutdownDelay >> 8) & 0xFF ; /* SDDELAY (MSB) Shutdown value (seconds) */ ^~~~~~~ microdowell.c:993:2: note: used in buffer access here OutBuff[4] = (ups.ShutdownDelay & 0xFF) ; /* SDDELAY (LSB) */ ^~~~~~~ microdowell.c:994:2: note: used in buffer access here OutBuff[5] = (ups.WakeUpDelay >> 16) & 0xFF ; /* WUDELAY (MSB) Wakeup value (seconds) */ ^~~~~~~ microdowell.c:995:2: note: used in buffer access here OutBuff[6] = (ups.WakeUpDelay >> 8) & 0xFF ; /* WUDELAY (...) */ ^~~~~~~ microdowell.c:996:2: note: used in buffer access here OutBuff[7] = (ups.WakeUpDelay & 0xFF ) ; /* WUDELAY (LSB) */ ^~~~~~~ microdowell.c:1000:65: note: used in buffer access here upsdebugx(2, "Shutdown command(TYPE=%02x, SD=%u, WU=%u): %s", OutBuff[2], ups.ShutdownDelay, ups.WakeUpDelay, PrintErr(ups.ErrCode)); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ microdowell.c:1005:65: note: used in buffer access here upsdebugx(1, "Shutdown command(TYPE=%02x, SD=%u, WU=%u): %s", OutBuff[2], ups.ShutdownDelay, ups.WakeUpDelay, PrintErr(ups.ErrCode)); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ microdowell.c:947:17: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char *p ; ~~~~~~~~~~~~~~~^ microdowell.c:953:3: note: used in pointer arithmetic here p += 3 ; /* 'p' points to received data */ ^ microdowell.c:959:31: note: used in buffer access here ups.StatusUPS |= ((uint32_t)p[1]<<8) ; ^ microdowell.c:960:31: note: used in buffer access here ups.StatusUPS |= ((uint32_t)p[2]<<16) ; ^ microdowell.c:961:31: note: used in buffer access here ups.StatusUPS |= ((uint32_t)p[3]<<24) ; ^ microdowell.c:963:33: note: used in buffer access here ups.ShortStatus |= ((uint16_t)p[1]<<8) ; ^ 23 warnings generated. mge-utalk.c:225:8: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p; ~~~~~~^ mge-utalk.c:258:16: note: used in pointer arithmetic here firmware = p+1; ^ mge-utalk.c:291:9: note: used in pointer arithmetic here v = p+1; ^ mge-utalk.c:338:18: note: used in pointer arithmetic here table = atoi(p + 1); ^ mge-utalk.c:233:19: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] mge_info_item_t *item; ~~~~~~~~~~~~~~~~~^~~~ mge-utalk.c:357:47: note: used in pointer arithmetic here for ( item = mge_info ; item->type != NULL ; item++ ) { ^~~~ mge-utalk.c:234:17: warning: 'model_info' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] models_name_t *model_info; ~~~~~~~~~~~~~~~^~~~~~~~~~ mge-utalk.c:265:73: note: used in pointer arithmetic here for ( model_info = Si1_models_names ; model_info->basename != NULL ; model_info++ ) { ^~~~~~~~~~ mge-utalk.c:235:20: warning: 'legacy_model' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] mge_model_info_t *legacy_model; ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ mge-utalk.c:301:67: note: used in pointer arithmetic here for ( legacy_model = mge_model ; legacy_model->name != NULL ; legacy_model++ ) { ^~~~~~~~~~~~ mge-utalk.c:411:19: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] mge_info_item_t *item; ~~~~~~~~~~~~~~~~~^~~~ mge-utalk.c:435:47: note: used in pointer arithmetic here for ( item = mge_info ; item->type != NULL ; item++ ) { ^~~~ mge-utalk.c:698:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] multiplier[mge_ups.MultTab][item->unit] * atof(buf)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ mge-utalk.c:701:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] (int) (multiplier[mge_ups.MultTab][item->unit] * atof(buf))); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from mge-utalk.c:62: ./mge-utalk.h:162:21: warning: 'multiplier' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const double multiplier[4][8] = { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ mge-utalk.c:698:4: note: used in buffer access here multiplier[mge_ups.MultTab][item->unit] * atof(buf)); ^~~~~~~~~~ mge-utalk.c:701:11: note: used in buffer access here (int) (multiplier[mge_ups.MultTab][item->unit] * atof(buf))); ^~~~~~~~~~ mge-utalk.c:727:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[BUFFLEN]; ~~~~~^~~~~~~~~~~~ mge-utalk.c:778:22: note: used in buffer access here if ( !rb_set && ( buf[7] == '1' || buf[3] == '1' ) ) ^~~ mge-utalk.c:761:8: note: used in buffer access here if (buf[3] == '1') { ^~~ mge-utalk.c:749:8: note: used in buffer access here if (buf[6] == '1') { ^~~ mge-utalk.c:753:8: note: used in buffer access here if (buf[5] == '1') ^~~ mge-utalk.c:758:8: note: used in buffer access here if (buf[4] == '1') ^~~ mge-utalk.c:766:8: note: used in buffer access here if (buf[1] == '1') ^~~ mge-utalk.c:778:39: note: used in buffer access here if ( !rb_set && ( buf[7] == '1' || buf[3] == '1' ) ) ^~~ mge-utalk.c:781:8: note: used in buffer access here if (buf[1] == '1') ^~~ mge-utalk.c:792:8: note: used in buffer access here if (buf[4] == '1') ^~~ mge-utalk.c:795:24: note: used in buffer access here if ( !over_set && ( buf[3] == '1' ) ) ^~~ mge-utalk.c:798:8: note: used in buffer access here if (buf[2] == '1') ^~~ mge-utalk.c:803:8: note: used in buffer access here if (buf[16] == '1') { ^~~ mge-utalk.c:821:8: note: used in buffer access here if (buf[7] == '1') ^~~ mge-utalk.c:824:8: note: used in buffer access here if (buf[6] == '1') ^~~ mge-utalk.c:841:19: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] mge_info_item_t *item = mge_info ; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ mge-utalk.c:844:3: note: used in pointer arithmetic here item++; ^~~~ mge-utalk.c:855:19: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] mge_info_item_t *item = mge_info ; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ mge-utalk.c:858:3: note: used in pointer arithmetic here item++; ^~~~ mge-utalk.c:877:10: warning: variable 'bytes_sent' set but not used [-Wunused-but-set-variable] ssize_t bytes_sent = 0; ^ mge-utalk.c:875:14: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *p; ~~~~~~~~~~~~^ mge-utalk.c:911:24: note: used in pointer arithmetic here for (p = command; *p; p++) { ^ mge-utalk.c:925:36: note: used in pointer arithmetic here for (p = MGE_COMMAND_ENDCHAR; *p; p++) { ^ 13 warnings generated. cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DSHUT_MODE=1 -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT mge_shut-hidparser.o -MD -MP -MF .deps/mge_shut-hidparser.Tpo -c -o mge_shut-hidparser.o `test -f 'hidparser.c' || echo './'`hidparser.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DSHUT_MODE=1 -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT mge_shut-mge-hid.o -MD -MP -MF .deps/mge_shut-mge-hid.Tpo -c -o mge_shut-mge-hid.o `test -f 'mge-hid.c' || echo './'`mge-hid.c usbhid-ups.c:833:13: warning: 'event' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] HIDData_t *event[MAX_EVENT_NUM], *found_data; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ usbhid-ups.c:901:29: note: used in buffer access here if (HIDGetDataValue(udev, event[i], &value, poll_interval) != 1) ^~~~~ usbhid-ups.c:908:20: note: used in buffer access here HIDGetDataItem(event[i], subdriver->utab), ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:909:17: note: used in buffer access here HIDDataType(event[i]), event[i]->ReportID, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:910:23: note: used in buffer access here event[i]->Offset, event[i]->Size, value); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:909:28: note: used in buffer access here HIDDataType(event[i]), event[i]->ReportID, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:910:5: note: used in buffer access here event[i]->Offset, event[i]->Size, value); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:914:46: note: used in buffer access here found_data = FindObject_with_Path(pDesc, &(event[i]->Path), interrupt_only ? ITEM_INPUT:ITEM_FEATURE); ^~~~~ usbhid-ups.c:916:47: note: used in buffer access here found_data = FindObject_with_Path(pDesc, &(event[i]->Path), ITEM_INPUT); ^~~~~ usbhid-ups.c:1181:46: warning: 'nutvalue' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void process_boolean_info(const char *nutvalue) ~~~~~~~~~~~~^~~~~~~~ usbhid-ups.c:1189:3: note: used in pointer arithmetic here nutvalue++; ^~~~~~~~ usbhid-ups.c:1183:16: warning: 'status_item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] status_lkp_t *status_item; ~~~~~~~~~~~~~~^~~~~~~~~~~ usbhid-ups.c:1193:68: note: used in pointer arithmetic here for (status_item = status_info; status_item->status_str != NULL ; status_item++) ^~~~~~~~~~~ usbhid-ups.c:62:21: warning: 'subdriver_list' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static subdriver_t *subdriver_list[] = { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ usbhid-ups.c:1264:12: note: used in buffer access here for (i=0; subdriver_list[i] != NULL; i++) { ^~~~~~~~~~~~~~ usbhid-ups.c:1265:7: note: used in buffer access here if (subdriver_list[i]->claim(hd)) { ^~~~~~~~~~~~~~ usbhid-ups.c:1270:14: note: used in buffer access here subdriver = subdriver_list[i]; ^~~~~~~~~~~~~~ usbhid-ups.c:1352:14: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] hid_info_t *item; ~~~~~~~~~~~~~~~~~^~~~ usbhid-ups.c:1366:59: note: used in pointer arithmetic here for (item = subdriver->hid2nut; item->info_type != NULL; item++) { ^~~~ usbhid-ups.c:1536:16: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~~~~~~^~~~~~~~ usbhid-ups.c:1552:37: note: used in pointer arithmetic here && info_lkp->nut_value != NULL; info_lkp++) { ^~~~~~~~ usbhid-ups.c:1706:14: warning: 'hidups_item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] hid_info_t *hidups_item; ~~~~~~~~~~~~^~~~~~~~~~~ usbhid-ups.c:1708:74: note: used in pointer arithmetic here for (hidups_item = subdriver->hid2nut; hidups_item->info_type != NULL ; hidups_item++) { ^~~~~~~~~~~ usbhid-ups.c:1726:14: warning: 'hidups_item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] hid_info_t *hidups_item; ~~~~~~~~~~~~^~~~~~~~~~~ usbhid-ups.c:1733:74: note: used in pointer arithmetic here for (hidups_item = subdriver->hid2nut; hidups_item->info_type != NULL ; hidups_item++) { ^~~~~~~~~~~ usbhid-ups.c:1750:14: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~~~~~~^~~~~~~~ usbhid-ups.c:1760:57: note: used in pointer arithmetic here for (info_lkp = hid2info; info_lkp->nut_value != NULL; info_lkp++) { ^~~~~~~~ usbhid-ups.c:1778:14: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~~~~~~^~~~~~~~ usbhid-ups.c:1786:57: note: used in pointer arithmetic here for (info_lkp = hid2info; info_lkp->nut_value != NULL; info_lkp++) { ^~~~~~~~ 10 warnings generated. mv -f .deps/mge_shut-usbhid-ups.Tpo .deps/mge_shut-usbhid-ups.Po microsol-common.c:112:33: warning: 'cop' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char *convert_days(char *cop) ~~~~~~^~~ microsol-common.c:127:16: note: used in buffer access here memcpy(alt, &cop[ish], (size_t)fim); ^~~ microsol-common.c:114:14: warning: 'alt' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char alt[8]; ~~~~~~~~~~~~^~~~~~ microsol-common.c:134:11: note: used in buffer access here memcpy(&alt[fim], cop, (size_t)ish); ^~~ microsol-common.c:136:2: note: used in buffer access here alt[7] = 0; /* string terminator */ ^~~ microsol-common.c:142:42: warning: 'binStr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static uint8_t bitstring_to_binary(char *binStr) ~~~~~~^~~~~~ microsol-common.c:148:13: note: used in buffer access here char ch = binStr[i]; ^~~~~~ microsol-common.c:165:7: warning: 'ordered_week' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char ordered_week[8]; ~~~~~^~~~~~~~~~~~~~~ microsol-common.c:175:3: note: used in buffer access here ordered_week[i] += '0'; ^~~~~~~~~~~~ microsol-common.c:169:3: note: used in buffer access here ordered_week[i] = (firmware_week >> (5 - host_week - i)) & 0x01; ^~~~~~~~~~~~ microsol-common.c:172:3: note: used in buffer access here ordered_week[i + (6 - host_week)] = (firmware_week >> (6 - i)) & 0x01; ^~~~~~~~~~~~ microsol-common.c:177:2: note: used in buffer access here ordered_week[7] = 0; /* string terminator */ ^~~~~~~~~~~~ microsol-common.c:216:16: warning: 'configuration_packet' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char configuration_packet[12]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ microsol-common.c:222:2: note: used in buffer access here configuration_packet[2] = (unsigned char)host_minute; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:224:2: note: used in buffer access here configuration_packet[4] = (unsigned char)power_on_hour; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:223:2: note: used in buffer access here configuration_packet[3] = (unsigned char)host_second; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:226:2: note: used in buffer access here configuration_packet[6] = (unsigned char)power_off_hour; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:221:2: note: used in buffer access here configuration_packet[1] = (unsigned char)host_hour; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:225:2: note: used in buffer access here configuration_packet[5] = (unsigned char)power_on_minute; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:227:2: note: used in buffer access here configuration_packet[7] = (unsigned char)power_off_minute; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:228:2: note: used in buffer access here configuration_packet[8] = (unsigned char)(host_week << 5); ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:229:2: note: used in buffer access here configuration_packet[8] = (unsigned char)configuration_packet[8] | (unsigned char)host_day; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:229:43: note: used in buffer access here configuration_packet[8] = (unsigned char)configuration_packet[8] | (unsigned char)host_day; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:230:2: note: used in buffer access here configuration_packet[9] = (unsigned char)(host_month << 4); ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:231:2: note: used in buffer access here configuration_packet[9] = (unsigned char)configuration_packet[9] | (unsigned char)(host_year - BASE_YEAR); ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:231:43: note: used in buffer access here configuration_packet[9] = (unsigned char)configuration_packet[9] | (unsigned char)(host_year - BASE_YEAR); ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:232:2: note: used in buffer access here configuration_packet[10] = (unsigned char)device_days_off; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:235:2: note: used in buffer access here configuration_packet[10] = configuration_packet[10] & (~(0x80)); ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:235:29: note: used in buffer access here configuration_packet[10] = configuration_packet[10] & (~(0x80)); ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:239:15: note: used in buffer access here checksum += configuration_packet[i]; ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:242:2: note: used in buffer access here configuration_packet[11] = (unsigned char)(checksum % 256); ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:246:24: note: used in buffer access here ser_send_char(upsfd, configuration_packet[i]); ^~~~~~~~~~~~~~~~~~~~ microsol-common.c:254:7: warning: 'week_days' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char week_days[7] = { 0, 0, 0, 0, 0, 0, 0 }; ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-common.c:276:117: note: used in buffer access here upslogx(LOG_NOTICE, FMT_DAYS, week_days[0], week_days[1], week_days[2], week_days[3], week_days[4], week_days[5], week_days[6]); ^~~~~~~~~ microsol-common.c:276:89: note: used in buffer access here upslogx(LOG_NOTICE, FMT_DAYS, week_days[0], week_days[1], week_days[2], week_days[3], week_days[4], week_days[5], week_days[6]); ^~~~~~~~~ microsol-common.c:263:4: note: used in buffer access here week_days[i] = (days_to_shutdown >> (6 - i)) & 0x01; ^~~~~~~~~ microsol-common.c:276:75: note: used in buffer access here upslogx(LOG_NOTICE, FMT_DAYS, week_days[0], week_days[1], week_days[2], week_days[3], week_days[4], week_days[5], week_days[6]); ^~~~~~~~~ microsol-common.c:276:47: note: used in buffer access here upslogx(LOG_NOTICE, FMT_DAYS, week_days[0], week_days[1], week_days[2], week_days[3], week_days[4], week_days[5], week_days[6]); ^~~~~~~~~ microsol-common.c:276:61: note: used in buffer access here upslogx(LOG_NOTICE, FMT_DAYS, week_days[0], week_days[1], week_days[2], week_days[3], week_days[4], week_days[5], week_days[6]); ^~~~~~~~~ microsol-common.c:276:103: note: used in buffer access here upslogx(LOG_NOTICE, FMT_DAYS, week_days[0], week_days[1], week_days[2], week_days[3], week_days[4], week_days[5], week_days[6]); ^~~~~~~~~ microsol-common.c:81:15: warning: 'received_packet' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char received_packet[PACKET_SIZE]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ microsol-common.c:317:27: note: used in buffer access here line_unpowered = (0x20 & received_packet[20]) == 0x20; ^~~~~~~~~~~~~~~ microsol-common.c:318:21: note: used in buffer access here overload = (0x80 & received_packet[20]) == 0x80; ^~~~~~~~~~~~~~~ microsol-common.c:315:29: note: used in buffer access here inverter_working = (0x08 & received_packet[20]) == 0x08; ^~~~~~~~~~~~~~~ microsol-common.c:316:21: note: used in buffer access here overheat = (0x10 & received_packet[20]) == 0x10; ^~~~~~~~~~~~~~~ microsol-common.c:291:18: note: used in buffer access here device_minute = received_packet[10]; ^~~~~~~~~~~~~~~ microsol-common.c:320:23: note: used in buffer access here recharging = (0x02 & received_packet[20]) == 0x02; ^~~~~~~~~~~~~~~ microsol-common.c:326:14: note: used in buffer access here if ((0x40 & received_packet[20]) == 0x40) { ^~~~~~~~~~~~~~~ microsol-common.c:304:19: note: used in buffer access here power_on_hour = received_packet[13]; ^~~~~~~~~~~~~~~ microsol-common.c:314:29: note: used in buffer access here critical_battery = (0x04 & received_packet[20]) == 0x04; ^~~~~~~~~~~~~~~ microsol-common.c:305:21: note: used in buffer access here power_on_minute = received_packet[14]; ^~~~~~~~~~~~~~~ microsol-common.c:309:14: note: used in buffer access here if ((0x01 & received_packet[20]) == 0x01) { ^~~~~~~~~~~~~~~ microsol-common.c:301:22: note: used in buffer access here power_off_minute = received_packet[16]; ^~~~~~~~~~~~~~~ microsol-common.c:290:16: note: used in buffer access here device_hour = received_packet[11]; ^~~~~~~~~~~~~~~ microsol-common.c:300:20: note: used in buffer access here power_off_hour = received_packet[15]; ^~~~~~~~~~~~~~~ microsol-common.c:296:20: note: used in buffer access here device_days_on = received_packet[17]; ^~~~~~~~~~~~~~~ microsol-common.c:292:18: note: used in buffer access here device_second = received_packet[9]; ^~~~~~~~~~~~~~~ microsol-common.c:287:18: note: used in buffer access here device_month = (received_packet[19] & 0xF0) >> 4; ^~~~~~~~~~~~~~~ microsol-common.c:288:16: note: used in buffer access here device_day = (received_packet[18] & 0x1F); ^~~~~~~~~~~~~~~ microsol-common.c:286:17: note: used in buffer access here device_year = (received_packet[19] & 0x0F) + BASE_YEAR; ^~~~~~~~~~~~~~~ microsol-common.c:333:23: note: used in buffer access here temperature = 0x7F & received_packet[4]; ^~~~~~~~~~~~~~~ microsol-common.c:334:13: note: used in buffer access here if (0x80 & received_packet[4]) { ^~~~~~~~~~~~~~~ microsol-common.c:410:47: warning: 'bufptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void comm_receive(const unsigned char *bufptr, size_t size) ~~~~~~~~~~~~~~~~~~~~~^~~~~~ microsol-common.c:427:33: note: used in buffer access here if (checksum == bufptr[23] && bufptr[24] == 254) { ^~~~~~ microsol-common.c:427:19: note: used in buffer access here if (checksum == bufptr[23] && bufptr[24] == 254) { ^~~~~~ microsol-common.c:421:16: note: used in buffer access here checksum += bufptr[i]; ^~~~~~ microsol-common.c:424:93: note: used in buffer access here upsdebugx(4, "%s: calculated checksum = 0x%02x, bufptr[23] = 0x%02x", __func__, checksum, bufptr[23]); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ microsol-common.c:631:16: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char temp[256]; ~~~~~~~~~~~~~~^~~~~~~~~ microsol-common.c:647:6: note: used in buffer access here if (temp[24] == RESP_END) { ^~~~ 9 warnings generated. depbase=`echo oneac.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT oneac.o -MD -MP -MF $depbase.Tpo -c -o oneac.o oneac.c &&\ mv -f $depbase.Tpo $depbase.Po libshut.c:381:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] usb_ctrl_char buf[20] __attribute__((aligned(4))); ~~~~~~~~~~~~~~^~~~~~~ libshut.c:549:39: note: used in buffer access here desc->wDescriptorLength = (uint16_t)(buf[7]); ^~~ libshut.c:550:41: note: used in buffer access here desc->wDescriptorLength |= (((uint16_t)buf[8]) << 8); ^~~ libshut.c:889:25: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const usb_ctrl_charbuf buf, ~~~~~~~~~~~~~~~~~~~~~~~^~~ libshut.c:896:25: note: used in buffer access here chk ^= (unsigned char)buf[i]; ^~~ libshut.c:907:19: warning: 'Buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] usb_ctrl_charbuf Buf, ~~~~~~~~~~~~~~~~~^~~ libshut.c:974:7: note: used in pointer arithmetic here Buf+=Size; ^~~ libshut.c:910:18: warning: 'Start' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char Start[2]; ~~~~~~~~~~~~~~~~^~~~~~~~ libshut.c:945:35: note: used in buffer access here if( (ser_get_char(arg_upsfd, &Start[1], SHUT_TIMEOUT/1000, 0) > 0) && ^~~~~ libshut.c:946:10: note: used in buffer access here ((Start[1]>>4)==(Start[1]&0x0F))) ^~~~~ libshut.c:946:25: note: used in buffer access here ((Start[1]>>4)==(Start[1]&0x0F))) ^~~~~ libshut.c:949:11: note: used in buffer access here Size=Start[1]&0x0F; ^~~~~ libshut.c:911:18: warning: 'Frame' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char Frame[8]; ~~~~~~~~~~~~~~~~^~~~~~~~ libshut.c:962:35: note: used in buffer access here if(ser_get_char(arg_upsfd, &Frame[recv], SHUT_TIMEOUT/1000, 0) < 1) ^~~~~ libshut.c:1055:8: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *buf, ~~~~~~^~~ libshut.c:1081:4: note: used in buffer access here buf[di++] = (char)tbuf[si]; ^~~ libshut.c:1084:2: note: used in buffer access here buf[di] = 0; ^~~ libshut.c:1079:4: note: used in buffer access here buf[di++] = '?'; ^~~ libshut.c:1058:16: warning: 'tbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] usb_ctrl_char tbuf[255]; /* Some devices choke on size > 255 */ ~~~~~~~~~~~~~~^~~~~~~~~ libshut.c:1078:7: note: used in buffer access here if (tbuf[si + 1]) /* high byte */ ^~~~ libshut.c:1081:22: note: used in buffer access here buf[di++] = (char)tbuf[si]; ^~~~ libshut.c:1066:6: note: used in buffer access here if (tbuf[1] != USB_DT_STRING) ^~~~ libshut.c:1140:16: warning: 'shut_pkt' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char shut_pkt[11]; ~~~~~~~~~~~~~~^~~~~~~~~~~~ libshut.c:1255:3: note: used in buffer access here shut_pkt[1] = (unsigned char)(data_size<<4) + (unsigned char)data_size; ^~~~~~~~ libshut.c:1260:3: note: used in buffer access here shut_pkt[(data_size+3) - 1] = shut_checksum(&shut_pkt[2], (unsigned char)data_size); ^~~~~~~~ libshut.c:1257:12: note: used in buffer access here memcpy(&shut_pkt[2], bytes, data_size); /* we need to send ctrl.data */ ^~~~~~~~ libshut.c:1260:48: note: used in buffer access here shut_pkt[(data_size+3) - 1] = shut_checksum(&shut_pkt[2], (unsigned char)data_size); ^~~~~~~~ libshut.c:1259:12: note: used in buffer access here memcpy(&shut_pkt[2], &ctrl, 8); ^~~~~~~~ 8 warnings generated. mv -f .deps/mge_shut-libshut.Tpo .deps/mge_shut-libshut.Po mge-hid.c:677:14: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] const char *str_ups_load = dstate_getinfo("ups.load"); ^ mge-hid.c:1447:17: warning: 'model' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] models_name_t *model = NULL; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ mge-hid.c:1452:49: note: used in pointer arithmetic here for (model = mge_model_names; model->iProduct; model++) { ^~~~~ 2 warnings generated. mv -f .deps/mge_shut-mge-hid.Tpo .deps/mge_shut-mge-hid.Po depbase=`echo optiups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT optiups.o -MD -MP -MF $depbase.Tpo -c -o optiups.o optiups.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo powercom.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT powercom.o -MD -MP -MF $depbase.Tpo -c -o powercom.o powercom.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo rhino.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT rhino.o -MD -MP -MF $depbase.Tpo -c -o rhino.o rhino.c &&\ mv -f $depbase.Tpo $depbase.Po hidparser.c:107:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][0] == 0) { ^~~~~~~~~~~~~~~~~~ hidparser.c:108:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][0] = ReportID; ^~~~~~~~~~~~~~~~~~ hidparser.c:109:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][1] = ReportType; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:109:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][1] = ReportType; ^~~~~~~~~~~~~~~~~~ hidparser.c:110:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][2] = 0; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:110:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][2] = 0; ^~~~~~~~~~~~~~~~~~ hidparser.c:113:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][0] != ReportID) { ^~~~~~~~~~~~~~~~~~ hidparser.c:117:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][1] != ReportType) { ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:117:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][1] != ReportType) { ^~~~~~~~~~~~~~~~~~ hidparser.c:121:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] return &pParser->OffsetTab[Pos][2]; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:121:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] return &pParser->OffsetTab[Pos][2]; ^~~~~~~~~~~~~~~~~~ hidparser.c:162:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Item = pParser->ReportDesc[pParser->Pos++]; ^~~~~~~~~~~~~~~~~~~ hidparser.c:165:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Value += (uint32_t)(pParser->ReportDesc[(pParser->Pos)+i]) << (8*i); ^~~~~~~~~~~~~~~~~~~ hidparser.c:181:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[pParser->UsageSize] = pParser->Value; ^~~~~~~~~~~~~~~~~ hidparser.c:183:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[pParser->UsageSize] = ((HIDNode_t)(pParser->UPage) << 16) | (pParser->Value & 0xFFFF); ^~~~~~~~~~~~~~~~~ hidparser.c:192:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Data.Path.Node[pParser->Data.Path.Size] = pParser->UsageTab[0]; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:200:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:200:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:209:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Data.Path.Node[pParser->Data.Path.Size] = 0x00ff0000 | (pParser->Value & 0x7F); ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:220:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if((pParser->Data.Path.Node[pParser->Data.Path.Size] & 0xffff0000) == 0x00ff0000) { ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:244:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Data.Path.Node[pParser->Data.Path.Size] = pParser->UsageTab[0]; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:252:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:252:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:34:22: warning: 'ItemSize' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const uint8_t ItemSize[4] = { 0, 1, 2, 4 }; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:164:20: note: used in buffer access here for (i = 0; i < ItemSize[pParser->Item & SIZE_MASK]; i++) { ^~~~~~~~ hidparser.c:168:20: note: used in buffer access here pParser->Pos += ItemSize[pParser->Item & SIZE_MASK]; ^~~~~~~~ hidparser.c:314:55: note: used in buffer access here pParser->Data.LogMin = FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:318:55: note: used in buffer access here pParser->Data.LogMax = FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:340:53: note: used in buffer access here pParser->Data.PhyMin=FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:345:53: note: used in buffer access here pParser->Data.PhyMax=FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:399:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc_arg->item[i]; ^~~~~~~~~~~~~~~ hidparser.c:425:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc_arg->item[i]; ^~~~~~~~~~~~~~~ hidparser.c:460:15: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] HIDPath_t * pPath = &pData->Path; ^ hidparser.c:454:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc_arg->item[i]; ^~~~~~~~~~~~~~~ hidparser.c:462:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (size == 0 || pPath->Node[size-1] != Node) { ^~~~~~~~~~~ hidparser.c:478:36: warning: 'Buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void GetValue(const unsigned char *Buf, HIDData_t *pData, long *pValue) ~~~~~~~~~~~~~~~~~~~~~^~~ hidparser.c:495:15: note: used in buffer access here int State = Buf[Bit >> 3] & (1 << (Bit & 7)); ^~~ hidparser.c:558:54: warning: 'Buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void SetValue(const HIDData_t *pData, unsigned char *Buf, long Value) ~~~~~~~~~~~~~~~^~~ hidparser.c:568:4: note: used in buffer access here Buf[Bit >> 3] |= (1 << (Bit & 7)); ^~~ hidparser.c:570:4: note: used in buffer access here Buf[Bit >> 3] &= ~(1 << (Bit & 7)); ^~~ hidparser.c:641:27: warning: unsafe buffer access [-Wunsafe-buffer-usage] ret = HIDParse(parser, &pDesc_var->item[pDesc_var->nitems]); ^~~~~~~~~~~~~~~ hidparser.c:646:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] id = pDesc_var->item[pDesc_var->nitems].ReportID; ^~~~~~~~~~~~~~~ hidparser.c:649:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] max = pDesc_var->item[pDesc_var->nitems].Offset + pDesc_var->item[pDesc_var->nitems].Size; ^~~~~~~~~~~~~~~ hidparser.c:649:53: warning: unsafe buffer access [-Wunsafe-buffer-usage] max = pDesc_var->item[pDesc_var->nitems].Offset + pDesc_var->item[pDesc_var->nitems].Size; ^~~~~~~~~~~~~~~ hidparser.c:655:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (max > pDesc_var->replen[id]) { ^~~~~~~~~~~~~~~~~ hidparser.c:656:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pDesc_var->replen[id] = max; ^~~~~~~~~~~~~~~~~ 37 warnings generated. mv -f .deps/mge_shut-hidparser.Tpo .deps/mge_shut-hidparser.Po depbase=`echo safenet.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT safenet.o -MD -MP -MF $depbase.Tpo -c -o safenet.o safenet.c &&\ mv -f $depbase.Tpo $depbase.Po optiups.c:79:13: warning: '_buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char _buf[256]; ~~~~~~~~~~~~^~~~~~~~~ optiups.c:140:2: note: used in buffer access here _buf[sizeof(_buf)-1] = 0; ^~~~ optiups.c:144:4: note: used in buffer access here _buf[r] = 0; ^~~~ optiups.c:180:33: warning: 'a' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void optifill( ezfill_t *a, size_t len ) ~~~~~~~~~~^ optiups.c:188:10: note: used in buffer access here if ( ( a[i].cmd == NULL ) || ( a[i].cmd[0] == 0 ) ) ^ optiups.c:188:34: note: used in buffer access here if ( ( a[i].cmd == NULL ) || ( a[i].cmd[0] == 0 ) ) ^ optiups.c:191:18: note: used in buffer access here r = optiquery( a[i].cmd ); ^ optiups.c:201:5: note: used in buffer access here a[i].cmd = NULL; ^ optiups.c:199:7: note: used in buffer access here a[i].var ); ^ optiups.c:200:21: note: used in buffer access here dstate_setinfo( a[i].var, "N/A" ); ^ optiups.c:204:48: note: used in buffer access here upslogx( LOG_WARNING, "can't retrieve %s", a[i].var ); ^ optiups.c:207:8: note: used in buffer access here if ( a[i].scale > 1e-20 ) ^ optiups.c:209:41: note: used in buffer access here float f = strtol( _buf, NULL, 10 ) * a[i].scale; ^ optiups.c:210:20: note: used in buffer access here dstate_setinfo( a[i].var, "%.1f", f ); ^ optiups.c:214:20: note: used in buffer access here dstate_setinfo( a[i].var, "%s", _buf); ^ optiups.c:79:13: warning: '_buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char _buf[256]; ~~~~~~~~~~~~^~~~~~~~~ optiups.c:357:12: note: used in buffer access here switch ( _buf[r-1] ) ^~~~ optiups.c:362:48: note: used in buffer access here dstate_setinfo("ups.model", "Power%cS %s", _buf[r-1], _buf ); ^~~~ 3 warnings generated. depbase=`echo nutdrv_siemens_sitop.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_siemens_sitop.o -MD -MP -MF $depbase.Tpo -c -o nutdrv_siemens_sitop.o nutdrv_siemens_sitop.c &&\ mv -f $depbase.Tpo $depbase.Po libhid.c:94:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] free(rbuf->data[i]); ^~~~~~~~~~ libhid.c:121:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] pData = &arg_pDesc->item[i]; ^~~~~~~~~~~~~~~ libhid.c:126:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->data[id]) ^~~~~~~~~~ libhid.c:130:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->len[id] = arg_pDesc->replen[id] + 1; ^~~~~~~~~ libhid.c:130:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->len[id] = arg_pDesc->replen[id] + 1; ^~~~~~~~~~~~~~~~~ libhid.c:133:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->len[id] < 1) { ^~~~~~~~~ libhid.c:137:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->data[id] = calloc(rbuf->len[id], sizeof(*(rbuf->data[id]))); ^~~~~~~~~~ libhid.c:137:27: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->data[id] = calloc(rbuf->len[id], sizeof(*(rbuf->data[id]))); ^~~~~~~~~ libhid.c:137:51: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->data[id] = calloc(rbuf->len[id], sizeof(*(rbuf->data[id]))); ^~~~~~~~~~ libhid.c:138:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->data[id]) ^~~~~~~~~~ libhid.c:167:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (interrupt_only || rbuf->ts[id] + age > time(NULL)) { ^~~~~~~~ libhid.c:169:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[buf]", rbuf->data[id], rbuf->len[id]); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:169:50: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[buf]", rbuf->data[id], rbuf->len[id]); ^~~~~~~~~ ../include/common.h:191:75: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:173:31: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = max_report_size ? sizeof(rbuf->data[id]) : rbuf->len[id]; ^~~~~~~~~~ libhid.c:173:49: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = max_report_size ? sizeof(rbuf->data[id]) : rbuf->len[id]; ^~~~~~~~~ libhid.c:218:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = UMIN(r, sizeof(rbuf->data[id])); ^~~~~~~~~~ libhid.c:74:52: note: expanded from macro 'UMIN' #define UMIN(a, b) ( ((uintmax_t)(a) < (uintmax_t)(b)) ? (a) : (b) ) ^ libhid.c:218:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = UMIN(r, sizeof(rbuf->data[id])); ^~~~~~~~~~ libhid.c:74:65: note: expanded from macro 'UMIN' #define UMIN(a, b) ( ((uintmax_t)(a) < (uintmax_t)(b)) ? (a) : (b) ) ^ libhid.c:220:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = UMIN(r, rbuf->len[id]); ^~~~~~~~~ libhid.c:74:52: note: expanded from macro 'UMIN' #define UMIN(a, b) ( ((uintmax_t)(a) < (uintmax_t)(b)) ? (a) : (b) ) ^ libhid.c:220:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = UMIN(r, rbuf->len[id]); ^~~~~~~~~ libhid.c:74:65: note: expanded from macro 'UMIN' #define UMIN(a, b) ( ((uintmax_t)(a) < (uintmax_t)(b)) ? (a) : (b) ) ^ libhid.c:231:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], ^~~~~~~~~~ libhid.c:239:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->len[id] != r) { ^~~~~~~~~ libhid.c:243:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] __func__, rbuf->len[id], r); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:245:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], r); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:248:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], rbuf->len[id]); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:248:38: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], rbuf->len[id]); ^~~~~~~~~ ../include/common.h:191:75: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:252:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] time(&rbuf->ts[id]); ^~~~~~~~ libhid.c:271:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] GetValue(rbuf->data[id], pData, Value); ^~~~~~~~~~ libhid.c:283:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] size_t r = rbuf->len[id]; ^~~~~~~~~ libhid.c:285:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] SetValue(pData, rbuf->data[id], Value); ^~~~~~~~~~ libhid.c:338:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], ^~~~~~~~~~ libhid.c:344:33: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[set]", rbuf->data[id], r); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:347:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->ts[id] = 0; ^~~~~~~~ libhid.c:361:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] memcpy(rbuf->data[id], buf, (buflen < rbuf->len[id]) ? buflen : rbuf->len[id]); ^~~~~~~~~~ libhid.c:361:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] memcpy(rbuf->data[id], buf, (buflen < rbuf->len[id]) ? buflen : rbuf->len[id]); ^~~~~~~~~ libhid.c:361:66: warning: unsafe buffer access [-Wunsafe-buffer-usage] memcpy(rbuf->data[id], buf, (buflen < rbuf->len[id]) ? buflen : rbuf->len[id]); ^~~~~~~~~ libhid.c:363:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->len[id] != buflen) { ^~~~~~~~~ libhid.c:366:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] __func__, rbuf->len[id], buflen); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:369:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[int]", rbuf->data[id], rbuf->len[id]); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:369:50: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[int]", rbuf->data[id], rbuf->len[id]); ^~~~~~~~~ ../include/common.h:191:75: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:373:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] time(&rbuf->ts[id]); ^~~~~~~~ libhid.c:429:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc->item[i]; ^~~~~~~~~~~ libhid.c:770:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] pData = &pDesc->item[i]; ^~~~~~~~~~~ libhid.c:687:53: warning: 'event' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int HIDGetEvents(hid_dev_handle_t udev, HIDData_t **event, int eventsize) ~~~~~~~~~~~~^~~~~ libhid.c:786:3: note: used in buffer access here event[itemCount++] = pData; ^~~~~ libhid.c:385:3: warning: 'HIDUnits' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } HIDUnits[NB_HID_UNITS] = { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ libhid.c:884:7: note: used in buffer access here if (HIDUnits[i].Type == hiddata->Unit) { ^~~~~~~~ libhid.c:885:17: note: used in buffer access here unit_expo -= HIDUnits[i].Expo; ^~~~~~~~ libhid.c:926:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] path->Node[i++] = (HIDNode_t)usage; ^~~~~~~~~~ libhid.c:945:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] path->Node[i++] = (HIDNode_t)l; ^~~~~~~~~~ libhid.c:959:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] path->Node[i++] = 0x00ff0000 + (HIDNode_t)l; ^~~~~~~~~~ libhid.c:912:8: warning: 'token' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *token, *last; ~~~~~~~~~^~~~~ libhid.c:952:17: note: used in pointer arithmetic here int l = atoi(token + 1); /* +1: skip the bracket */ ^~~~~ libhid.c:991:28: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((p = hid_lookup_path(path->Node[i], utab)) != NULL) ^~~~~~~~~~ libhid.c:998:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((path->Node[i] & 0xffff0000) == 0x00ff0000) ^~~~~~~~~~ libhid.c:1000:38: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintfcat(string, size, "[%i]", path->Node[i] & 0x0000ffff); ^~~~~~~~~~ libhid.c:1005:37: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintfcat(string, size, "%08x", path->Node[i]); ^~~~~~~~~~ libhid.c:1020:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; utab[i][j].usage_name != NULL; j++) ^~~~~~~ libhid.c:1022:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (strcasecmp(utab[i][j].usage_name, name)) ^~~~~~~ libhid.c:1026:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(5, "hid_lookup_usage: %s -> %08x", name, (uint32_t)utab[i][j].usage_code); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:1027:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] return (long)(utab[i][j].usage_code); ^~~~~~~ libhid.c:1014:64: warning: 'utab' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static long hid_lookup_usage(const char *name, usage_tables_t *utab) ~~~~~~~~~~~~~~~~^~~~ libhid.c:1020:15: note: used in buffer access here for (j = 0; utab[i][j].usage_name != NULL; j++) ^~~~ libhid.c:1018:14: note: used in buffer access here for (i = 0; utab[i] != NULL; i++) ^~~~ libhid.c:1022:19: note: used in buffer access here if (strcasecmp(utab[i][j].usage_name, name)) ^~~~ libhid.c:1026:65: note: used in buffer access here upsdebugx(5, "hid_lookup_usage: %s -> %08x", name, (uint32_t)utab[i][j].usage_code); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:1027:18: note: used in buffer access here return (long)(utab[i][j].usage_code); ^~~~ libhid.c:1042:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; utab[i][j].usage_name != NULL; j++) ^~~~~~~ libhid.c:1044:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (utab[i][j].usage_code != usage) ^~~~~~~ libhid.c:1047:69: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(5, "hid_lookup_path: %08x -> %s", (unsigned int)usage, utab[i][j].usage_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:1048:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] return utab[i][j].usage_name; ^~~~~~~ libhid.c:1036:75: warning: 'utab' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static const char *hid_lookup_path(const HIDNode_t usage, usage_tables_t *utab) ~~~~~~~~~~~~~~~~^~~~ libhid.c:1042:15: note: used in buffer access here for (j = 0; utab[i][j].usage_name != NULL; j++) ^~~~ libhid.c:1044:8: note: used in buffer access here if (utab[i][j].usage_code != usage) ^~~~ libhid.c:1048:11: note: used in buffer access here return utab[i][j].usage_name; ^~~~ libhid.c:1047:69: note: used in buffer access here upsdebugx(5, "hid_lookup_path: %08x -> %s", (unsigned int)usage, utab[i][j].usage_name); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:1040:14: note: used in buffer access here for (i = 0; utab[i] != NULL; i++) ^~~~ 62 warnings generated. mv -f .deps/mge_shut-libhid.Tpo .deps/mge_shut-libhid.Po depbase=`echo skel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT skel.o -MD -MP -MF $depbase.Tpo -c -o skel.o skel.c &&\ mv -f $depbase.Tpo $depbase.Po rhino.c:138:22: warning: 'RecPack' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char RecPack[37]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ rhino.c:206:9: note: used in buffer access here Year = RecPack[31] + ( RecPack[32] * 100 ); ^~~~~~~ rhino.c:206:25: note: used in buffer access here Year = RecPack[31] + ( RecPack[32] * 100 ); ^~~~~~~ rhino.c:207:10: note: used in buffer access here Month = RecPack[30]; ^~~~~~~ rhino.c:212:10: note: used in buffer access here imin = RecPack[27]; ^~~~~~~ rhino.c:208:8: note: used in buffer access here Day = RecPack[29]; ^~~~~~~ rhino.c:211:10: note: used in buffer access here ihour = RecPack[26]; ^~~~~~~ rhino.c:213:10: note: used in buffer access here isec = RecPack[28]; ^~~~~~~ rhino.c:245:24: note: used in buffer access here OutputOn = ( ( 0x02 & RecPack[33] ) == 0x02 ); ^~~~~~~ rhino.c:246:24: note: used in buffer access here InputOn = ( ( 0x04 & RecPack[33] ) == 0x04 ); ^~~~~~~ rhino.c:247:24: note: used in buffer access here BypassOn = ( ( 0x08 & RecPack[33] ) == 0x08 ); ^~~~~~~ rhino.c:249:23: note: used in buffer access here Out110 = ( ( 0x10 & RecPack[34] ) == 0x10 ); ^~~~~~~ rhino.c:250:23: note: used in buffer access here LowBatt = ( ( 0x40 & RecPack[34] ) == 0x40 ); ^~~~~~~ rhino.c:252:26: note: used in buffer access here OverCharge = ( ( 0x01 & RecPack[35] ) == 0x01 ); ^~~~~~~ rhino.c:253:26: note: used in buffer access here SourceFail = ( ( 0x02 & RecPack[35] ) == 0x02 ); ^~~~~~~ rhino.c:276:14: note: used in buffer access here InVoltage = RecPack[2]; ^~~~~~~ rhino.c:277:14: note: used in buffer access here InCurrent = RecPack[3]; ^~~~~~~ rhino.c:278:16: note: used in buffer access here UtilPowerIn = RecPack[4] + RecPack[5] * 256; ^~~~~~~ rhino.c:278:29: note: used in buffer access here UtilPowerIn = RecPack[4] + RecPack[5] * 256; ^~~~~~~ rhino.c:279:15: note: used in buffer access here AppPowerIn = RecPack[6] + RecPack[7] * 256; ^~~~~~~ rhino.c:279:28: note: used in buffer access here AppPowerIn = RecPack[6] + RecPack[7] * 256; ^~~~~~~ rhino.c:280:20: note: used in buffer access here FatorPotEntrada = RecPack[8]; ^~~~~~~ rhino.c:281:13: note: used in buffer access here InFreq = ( RecPack[9] + RecPack[10] * 256 ) * 1.0 / 10; ^~~~~~~ rhino.c:281:26: note: used in buffer access here InFreq = ( RecPack[9] + RecPack[10] * 256 ) * 1.0 / 10; ^~~~~~~ rhino.c:282:15: note: used in buffer access here OutVoltage = RecPack[11]; ^~~~~~~ rhino.c:283:15: note: used in buffer access here OutCurrent = RecPack[12]; ^~~~~~~ rhino.c:284:17: note: used in buffer access here UtilPowerOut = RecPack[13] + RecPack[14] * 256; ^~~~~~~ rhino.c:284:31: note: used in buffer access here UtilPowerOut = RecPack[13] + RecPack[14] * 256; ^~~~~~~ rhino.c:285:16: note: used in buffer access here AppPowerOut = RecPack[15] + RecPack[16] * 256; ^~~~~~~ rhino.c:285:30: note: used in buffer access here AppPowerOut = RecPack[15] + RecPack[16] * 256; ^~~~~~~ rhino.c:286:18: note: used in buffer access here FatorPotSaida = RecPack[17]; ^~~~~~~ rhino.c:287:14: note: used in buffer access here OutFreq = ( RecPack[18] + RecPack[19] * 256 ) * 1.0 / 10; ^~~~~~~ rhino.c:287:28: note: used in buffer access here OutFreq = ( RecPack[18] + RecPack[19] * 256 ) * 1.0 / 10; ^~~~~~~ rhino.c:288:16: note: used in buffer access here BattVoltage = RecPack[20]; ^~~~~~~ rhino.c:289:14: note: used in buffer access here BoostVolt = RecPack[21] + RecPack[22] * 256; ^~~~~~~ rhino.c:289:28: note: used in buffer access here BoostVolt = RecPack[21] + RecPack[22] * 256; ^~~~~~~ rhino.c:290:25: note: used in buffer access here Temperature = ( 0x7F & RecPack[23] ); ^~~~~~~ rhino.c:291:15: note: used in buffer access here Rendimento = RecPack[24]; ^~~~~~~ rhino.c:326:3: note: used in buffer access here RecPack[8] = 200; /* ?????????????????????????????????? */ ^~~~~~~ rhino.c:331:3: note: used in buffer access here RecPack[8] = 99; /* ??????????????????????????????????? */ ^~~~~~~ rhino.c:138:22: warning: 'RecPack' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char RecPack[37]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ rhino.c:409:6: note: used in buffer access here RecPack[i] = *bufptr; ^~~~~~~ rhino.c:418:12: note: used in buffer access here chk = RecPack[ i ]; ^~~~~~~ rhino.c:428:15: note: used in buffer access here && ( RecPack[ 36 ] == CheckSum ) ) ^~~~~~~ rhino.c:390:34: warning: 'bufptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] CommReceive(const unsigned char *bufptr, ssize_t size) ~~~~~~~~~~~~~~~~~~~~~^~~~~~ rhino.c:410:6: note: used in pointer arithmetic here bufptr++; ^~~~~~ rhino.c:478:21: warning: 'psend' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char ch, *psend = NULL; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ rhino.c:500:3: note: used in buffer access here psend[i] = ch; /* psend[0 - 17] */ ^~~~~ rhino.c:507:2: note: used in buffer access here psend[iend] = ch; ^~~~~ rhino.c:517:32: note: used in buffer access here ret = ser_send_char( upsfd, psend[i] ); ^~~~~ rhino.c:544:16: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char temp[256]; ~~~~~~~~~~~~~~^~~~~~~~~ rhino.c:569:17: note: used in buffer access here Pacote[i] = temp[i]; ^~~~ rhino.c:545:16: warning: 'Pacote' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char Pacote[37]; ~~~~~~~~~~~~~~^~~~~~~~~~ rhino.c:569:5: note: used in buffer access here Pacote[i] = temp[i]; ^~~~~~ 6 warnings generated. depbase=`echo solis.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT solis.o -MD -MP -MF $depbase.Tpo -c -o solis.o solis.c &&\ mv -f $depbase.Tpo $depbase.Po nutdrv_siemens_sitop.c:77:13: warning: 'rx_buffer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char rx_buffer[RX_BUFFER_SIZE]; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_siemens_sitop.c:95:21: note: used in pointer arithmetic here memmove(rx_buffer, rx_buffer + n, rx_count); ^~~~~~~~~ nutdrv_siemens_sitop.c:101:30: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int check_for_new_data() { ^ void nutdrv_siemens_sitop.c:77:13: warning: 'rx_buffer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char rx_buffer[RX_BUFFER_SIZE]; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_siemens_sitop.c:110:37: note: used in pointer arithmetic here num_received = ser_get_buf(upsfd, rx_buffer + rx_count, RX_BUFFER_SIZE - rx_count, 0, 0); ^~~~~~~~~ 3 warnings generated. powercom.c:300:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] ser_send_char (upsfd, types[type].shutdown_arguments.delay[1]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:298:6: note: used in buffer access here if (types[type].shutdown_arguments.minutesShouldBeUsed != 'n') ^~~~~ powercom.c:299:25: note: used in buffer access here ser_send_char (upsfd, types[type].shutdown_arguments.delay[0]); ^~~~~ powercom.c:300:24: note: used in buffer access here ser_send_char (upsfd, types[type].shutdown_arguments.delay[1]); ^~~~~ powercom.c:314:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] ser_send_char (upsfd, types[type].shutdown_arguments.delay[1]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:314:24: note: used in buffer access here ser_send_char (upsfd, types[type].shutdown_arguments.delay[1]); ^~~~~ powercom.c:312:6: note: used in buffer access here if (types[type].shutdown_arguments.minutesShouldBeUsed != 'n') ^~~~~ powercom.c:313:25: note: used in buffer access here ser_send_char (upsfd, types[type].shutdown_arguments.delay[0]); ^~~~~ powercom.c:365:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTART] = _POSIX_VDISABLE; ^~~~~~~~ powercom.c:366:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTOP] = _POSIX_VDISABLE; ^~~~~~~~ powercom.c:384:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].validation[i].index_of_byte] == ^~~~~~~~~~~~~~~~~~~~~~ powercom.c:385:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].validation[i].required_value; ^~~~~~~~~~~~~~~~~~~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:383:6: note: used in buffer access here raw_data[ ^~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:384:11: note: used in buffer access here types[type].validation[i].index_of_byte] == ^~~~~ powercom.c:385:11: note: used in buffer access here types[type].validation[i].required_value; ^~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:422:36: note: used in buffer access here printf("%2zu 0x%02x (%c)\n", i, raw_data[i], raw_data[i]>=0x20 ? raw_data[i] : ' '); ^~~~~~~~ powercom.c:422:49: note: used in buffer access here printf("%2zu 0x%02x (%c)\n", i, raw_data[i], raw_data[i]>=0x20 ? raw_data[i] : ' '); ^~~~~~~~ powercom.c:422:69: note: used in buffer access here printf("%2zu 0x%02x (%c)\n", i, raw_data[i], raw_data[i]>=0x20 ? raw_data[i] : ' '); ^~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:409:21: note: used in buffer access here if (c != (ssize_t)types[type].num_of_bytes_from_ups) { ^~~~~ powercom.c:407:4: note: used in buffer access here types[type].num_of_bytes_from_ups, 3, 0); ^~~~~ powercom.c:410:77: note: used in buffer access here upslogx(LOG_NOTICE, "data receiving error (%zd instead of %d bytes)", c, types[type].num_of_bytes_from_ups); ^~~~~ powercom.c:421:19: note: used in buffer access here for (i = 0; i < types[type].num_of_bytes_from_ups; i++) { ^~~~~ powercom.c:402:67: note: used in buffer access here upsdebugx(5, "Num of bytes requested for reading from UPS: %d", types[type].num_of_bytes_from_ups); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:467:55: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].voltage[0] * raw_data[INPUT_VOLTAGE] + types[type].voltage[1] : ^~~~~~~~~~~~~~~~~~~ powercom.c:468:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].voltage[2] * raw_data[INPUT_VOLTAGE] + types[type].voltage[3]; ^~~~~~~~~~~~~~~~~~~ powercom.c:468:55: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].voltage[2] * raw_data[INPUT_VOLTAGE] + types[type].voltage[3]; ^~~~~~~~~~~~~~~~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:447:18: note: used in buffer access here tmp = 0.89 * raw_data[INPUT_VOLTAGE] + 6.18; ^~~~~~~~ powercom.c:441:11: note: used in buffer access here tmp=2.2*raw_data[INPUT_VOLTAGE]-24; ^~~~~~~~ powercom.c:449:18: note: used in buffer access here tmp = 1.61 * raw_data[INPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:440:43: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") && raw_data[MODELNUMBER]%16 > 7 ) { ^~~~~~~~ powercom.c:443:19: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:451:19: note: used in buffer access here tmp = 1.625 * raw_data[INPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:456:18: note: used in buffer access here tmp = 1.79 * raw_data[INPUT_VOLTAGE] + 3.35; ^~~~~~~~ powercom.c:458:18: note: used in buffer access here tmp = 1.61 * raw_data[INPUT_VOLTAGE]; ^~~~~~~~ powercom.c:460:19: note: used in buffer access here tmp = 1.625 * raw_data[INPUT_VOLTAGE]; ^~~~~~~~ powercom.c:464:7: note: used in buffer access here tmp=raw_data[INPUT_VOLTAGE]*2.0; ^~~~~~~~ powercom.c:467:29: note: used in buffer access here types[type].voltage[0] * raw_data[INPUT_VOLTAGE] + types[type].voltage[1] : ^~~~~~~~ powercom.c:468:29: note: used in buffer access here types[type].voltage[2] * raw_data[INPUT_VOLTAGE] + types[type].voltage[3]; ^~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:440:15: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") && raw_data[MODELNUMBER]%16 > 7 ) { ^~~~~ powercom.c:442:22: note: used in buffer access here } else if ( !strcmp(types[type].name, "KIN")) { ^~~~~ powercom.c:463:22: note: used in buffer access here } else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:463:58: note: used in buffer access here } else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:467:4: note: used in buffer access here types[type].voltage[0] * raw_data[INPUT_VOLTAGE] + types[type].voltage[1] : ^~~~~ powercom.c:467:55: note: used in buffer access here types[type].voltage[0] * raw_data[INPUT_VOLTAGE] + types[type].voltage[1] : ^~~~~ powercom.c:468:4: note: used in buffer access here types[type].voltage[2] * raw_data[INPUT_VOLTAGE] + types[type].voltage[3]; ^~~~~ powercom.c:468:55: note: used in buffer access here types[type].voltage[2] * raw_data[INPUT_VOLTAGE] + types[type].voltage[3]; ^~~~~ powercom.c:284:21: warning: 'KINmodels' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int KINmodels[] = {0,425,500,525,625,800,1000,1200,1500,1600,2200,2200,2500,3000,5000,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:443:9: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~ powercom.c:602:36: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].voltage[1] : ^~~~~~~~~~~~~~~~~~~ powercom.c:603:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].voltage[2] * raw_data[OUTPUT_VOLTAGE] + ^~~~~~~~~~~~~~~~~~~ powercom.c:604:36: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].voltage[3]; ^~~~~~~~~~~~~~~~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:517:18: note: used in buffer access here tmp = 1.61*raw_data[OUTPUT_VOLTAGE]; ^~~~~~~~ powercom.c:509:19: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:515:18: note: used in buffer access here tmp = 1.79*raw_data[OUTPUT_VOLTAGE] + 3.35; ^~~~~~~~ powercom.c:490:43: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") && raw_data[MODELNUMBER]%16 > 7 ) { ^~~~~~~~ powercom.c:526:21: note: used in buffer access here tmp = 1.625 * raw_data[OUTPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:533:20: note: used in buffer access here tmp = 2.07 * raw_data[OUTPUT_VOLTAGE]; ^~~~~~~~ powercom.c:488:15: note: used in buffer access here statAVRMode=raw_data[STATUS_A] & AVR_MODE; ^~~~~~~~ powercom.c:493:13: note: used in buffer access here tmp=2.2*raw_data[OUTPUT_VOLTAGE]-24; ^~~~~~~~ powercom.c:502:53: note: used in buffer access here tmp=(1.965*raw_data[15])*(1.965*raw_data[15])*(t-raw_data[OUTPUT_VOLTAGE])/t; ^~~~~~~~ powercom.c:496:15: note: used in buffer access here tmp=(2.2*raw_data[OUTPUT_VOLTAGE]-24)*31/27; ^~~~~~~~ powercom.c:502:36: note: used in buffer access here tmp=(1.965*raw_data[15])*(1.965*raw_data[15])*(t-raw_data[OUTPUT_VOLTAGE])/t; ^~~~~~~~ powercom.c:487:11: note: used in buffer access here statAVR=raw_data[STATUS_A] & AVR_ON; ^~~~~~~~ powercom.c:498:16: note: used in buffer access here tmp=(2.22*raw_data[OUTPUT_VOLTAGE]-24)*27/31; ^~~~~~~~ powercom.c:486:11: note: used in buffer access here statINV=raw_data[STATUS_A] & ONLINE; ^~~~~~~~ powercom.c:501:6: note: used in buffer access here t=raw_data[OUTPUT_FREQUENCY]/2; ^~~~~~~~ powercom.c:519:19: note: used in buffer access here tmp = 1.625*raw_data[OUTPUT_VOLTAGE]; ^~~~~~~~ powercom.c:522:20: note: used in buffer access here tmp = 0.89 * raw_data[OUTPUT_VOLTAGE] + 6.18; ^~~~~~~~ powercom.c:502:15: note: used in buffer access here tmp=(1.965*raw_data[15])*(1.965*raw_data[15])*(t-raw_data[OUTPUT_VOLTAGE])/t; ^~~~~~~~ powercom.c:524:20: note: used in buffer access here tmp = 1.61 * raw_data[OUTPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:535:20: note: used in buffer access here tmp = 2.07 * raw_data[OUTPUT_VOLTAGE]+5; ^~~~~~~~ powercom.c:537:20: note: used in buffer access here tmp = 1.87 * raw_data[OUTPUT_VOLTAGE]; ^~~~~~~~ powercom.c:539:20: note: used in buffer access here tmp = 1.87 * raw_data[OUTPUT_VOLTAGE]; ^~~~~~~~ powercom.c:542:21: note: used in buffer access here tmp = 2.158 * raw_data[OUTPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:544:21: note: used in buffer access here tmp = 1.842 * raw_data[OUTPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:546:21: note: used in buffer access here tmp = 1.875 * raw_data[OUTPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:552:21: note: used in buffer access here tmp = 1.571 * raw_data[OUTPUT_VOLTAGE]; ^~~~~~~~ powercom.c:554:20: note: used in buffer access here tmp = 1.37 * raw_data[OUTPUT_VOLTAGE]; ^~~~~~~~ powercom.c:556:19: note: used in buffer access here tmp = 1.4 * raw_data[OUTPUT_VOLTAGE]; ^~~~~~~~ powercom.c:559:21: note: used in buffer access here tmp = 1.635 * raw_data[OUTPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:561:21: note: used in buffer access here tmp = 1.392 * raw_data[OUTPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:563:21: note: used in buffer access here tmp = 1.392 * raw_data[OUTPUT_VOLTAGE] / 2.0; ^~~~~~~~ powercom.c:569:21: note: used in buffer access here rdatax = datax1[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:570:21: note: used in buffer access here rdatay = datay1[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:571:21: note: used in buffer access here rdataz = dataz1[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:573:21: note: used in buffer access here rdatax = datax2[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:574:21: note: used in buffer access here rdatay = datay2[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:575:21: note: used in buffer access here rdataz = dataz2[raw_data[MODELNUMBER]/16+1]; ^~~~~~~~ powercom.c:579:8: note: used in buffer access here t = raw_data[OUTPUT_FREQUENCY]/2; ^~~~~~~~ powercom.c:582:10: note: used in buffer access here tmp=(raw_data[BATTERY_CHARGE]*rdatax)*(raw_data[BATTERY_CHARGE]*rdatax)* ^~~~~~~~ powercom.c:582:44: note: used in buffer access here tmp=(raw_data[BATTERY_CHARGE]*rdatax)*(raw_data[BATTERY_CHARGE]*rdatax)* ^~~~~~~~ powercom.c:583:9: note: used in buffer access here (t-raw_data[OUTPUT_VOLTAGE])/t; ^~~~~~~~ powercom.c:587:15: note: used in buffer access here (double)raw_data[UPS_LOAD]*rdataz*boostdata ); ^~~~~~~~ powercom.c:589:10: note: used in buffer access here tmp=(raw_data[BATTERY_CHARGE]*rdatax-raw_data[UPS_LOAD]*rdataz)* ^~~~~~~~ powercom.c:589:42: note: used in buffer access here tmp=(raw_data[BATTERY_CHARGE]*rdatax-raw_data[UPS_LOAD]*rdataz)* ^~~~~~~~ powercom.c:590:7: note: used in buffer access here (raw_data[BATTERY_CHARGE]*rdatax-raw_data[UPS_LOAD]*rdataz)* ^~~~~~~~ powercom.c:590:39: note: used in buffer access here (raw_data[BATTERY_CHARGE]*rdatax-raw_data[UPS_LOAD]*rdataz)* ^~~~~~~~ powercom.c:591:9: note: used in buffer access here (t-raw_data[OUTPUT_VOLTAGE])/t; ^~~~~~~~ powercom.c:598:7: note: used in buffer access here tmp=raw_data[OUTPUT_VOLTAGE]*2.0; ^~~~~~~~ powercom.c:601:29: note: used in buffer access here types[type].voltage[0] * raw_data[OUTPUT_VOLTAGE] + ^~~~~~~~ powercom.c:603:29: note: used in buffer access here types[type].voltage[2] * raw_data[OUTPUT_VOLTAGE] + ^~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:508:22: note: used in buffer access here } else if ( !strcmp(types[type].name, "KIN")) { ^~~~~ powercom.c:490:15: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") && raw_data[MODELNUMBER]%16 > 7 ) { ^~~~~ powercom.c:485:15: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") || !strcmp(types[type].name, "KIN")) { ^~~~~ powercom.c:485:51: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") || !strcmp(types[type].name, "KIN")) { ^~~~~ powercom.c:597:22: note: used in buffer access here } else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:597:58: note: used in buffer access here } else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:601:4: note: used in buffer access here types[type].voltage[0] * raw_data[OUTPUT_VOLTAGE] + ^~~~~ powercom.c:602:36: note: used in buffer access here types[type].voltage[1] : ^~~~~ powercom.c:603:4: note: used in buffer access here types[type].voltage[2] * raw_data[OUTPUT_VOLTAGE] + ^~~~~ powercom.c:604:36: note: used in buffer access here types[type].voltage[3]; ^~~~~ powercom.c:284:21: warning: 'KINmodels' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int KINmodels[] = {0,425,500,525,625,800,1000,1200,1500,1600,2200,2200,2500,3000,5000,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:509:9: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~ powercom.c:478:15: warning: 'datax1' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static float datax1[]={0,1.0,1.0,1.0,1.0,0.945,0.945,0.945,0.127,0.127,0.945,0.945,0.945,0.256}; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:569:14: note: used in buffer access here rdatax = datax1[raw_data[MODELNUMBER]/16]; ^~~~~~ powercom.c:479:15: warning: 'datay1' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static float datay1[]={0,0.85,0.85,0.85,0.88,0.9,0.9,0.9,6.6,6.6,0.87,0.87,0.87,3.29}; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:570:14: note: used in buffer access here rdatay = datay1[raw_data[MODELNUMBER]/16]; ^~~~~~ powercom.c:480:15: warning: 'dataz1' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static float dataz1[]={0,1.03,0.78,0.78,0.72,0.55,0.55,0.55,0.5,0.5,0.43,0.43,0.43,0.3}; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:571:14: note: used in buffer access here rdataz = dataz1[raw_data[MODELNUMBER]/16]; ^~~~~~ powercom.c:481:15: warning: 'datax2' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static float datax2[]={0,1.0,1.0,1.0,1.0,1.89,1.89,1.89,0.127,0.127,1.89,1.89,1.89,0.256}; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:573:14: note: used in buffer access here rdatax = datax2[raw_data[MODELNUMBER]/16]; ^~~~~~ powercom.c:482:15: warning: 'datay2' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static float datay2[]={0,1.73,1.74,1.74,1.77,0.9,0.9,0.9,13.204,13.204,0.88,0.88,0.88,6.645}; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:574:14: note: used in buffer access here rdatay = datay2[raw_data[MODELNUMBER]/16]; ^~~~~~ powercom.c:483:15: warning: 'dataz2' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static float dataz2[]={0,1.15,0.9,0.9,0.75,1.1,1.1,1.1,0.8,0.8,0.86,0.86,0.86,0.7}; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:575:14: note: used in buffer access here rdataz = dataz2[raw_data[MODELNUMBER]/16+1]; ^~~~~~ powercom.c:619:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].freq[1]) : 0; ^~~~~~~~~~~~~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:615:10: note: used in buffer access here return raw_data[INPUT_FREQUENCY]; ^~~~~~~~ powercom.c:613:17: note: used in buffer access here return 4807.0/raw_data[INPUT_FREQUENCY]; ^~~~~~~~ powercom.c:618:5: note: used in buffer access here raw_data[INPUT_FREQUENCY] + ^~~~~~~~ powercom.c:616:9: note: used in buffer access here return raw_data[INPUT_FREQUENCY] ? ^~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:619:7: note: used in buffer access here types[type].freq[1]) : 0; ^~~~~ powercom.c:612:15: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") || !strcmp(types[type].name, "KIN")) ^~~~~ powercom.c:612:51: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") || !strcmp(types[type].name, "KIN")) ^~~~~ powercom.c:614:20: note: used in buffer access here else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) ^~~~~ powercom.c:614:56: note: used in buffer access here else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) ^~~~~ powercom.c:617:10: note: used in buffer access here 1.0 / (types[type].freq[0] * ^~~~~ powercom.c:631:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].freq[1]) : 0; ^~~~~~~~~~~~~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:627:10: note: used in buffer access here return raw_data[OUTPUT_FREQUENCY]; ^~~~~~~~ powercom.c:625:17: note: used in buffer access here return 4807.0/raw_data[OUTPUT_FREQUENCY]; ^~~~~~~~ powercom.c:630:5: note: used in buffer access here raw_data[OUTPUT_FREQUENCY] + ^~~~~~~~ powercom.c:628:9: note: used in buffer access here return raw_data[OUTPUT_FREQUENCY] ? ^~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:631:7: note: used in buffer access here types[type].freq[1]) : 0; ^~~~~ powercom.c:629:10: note: used in buffer access here 1.0 / (types[type].freq[0] * ^~~~~ powercom.c:626:20: note: used in buffer access here else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) ^~~~~ powercom.c:624:51: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") || !strcmp(types[type].name, "KIN")) ^~~~~ powercom.c:626:56: note: used in buffer access here else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) ^~~~~ powercom.c:624:15: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") || !strcmp(types[type].name, "KIN")) ^~~~~ powercom.c:701:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].loadpct[1] : ^~~~~~~~~~~~~~~~~~~ powercom.c:702:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].loadpct[2] * raw_data[UPS_LOAD] + ^~~~~~~~~~~~~~~~~~~ powercom.c:703:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].loadpct[3]; ^~~~~~~~~~~~~~~~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:670:22: note: used in buffer access here case 800: return raw_data[UPS_LOAD]*110.0/load500i[voltage]; ^~~~~~~~ powercom.c:668:22: note: used in buffer access here case 400: return raw_data[UPS_LOAD]*110.0/load400i[voltage]; ^~~~~~~~ powercom.c:702:28: note: used in buffer access here types[type].loadpct[2] * raw_data[UPS_LOAD] + ^~~~~~~~ powercom.c:699:10: note: used in buffer access here return (raw_data[STATUS_A] & MAINS_FAILURE) ? ^~~~~~~~ powercom.c:658:19: note: used in buffer access here model=BNTmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:700:28: note: used in buffer access here types[type].loadpct[0] * raw_data[UPS_LOAD] + ^~~~~~~~ powercom.c:692:27: note: used in buffer access here if (model==625) return raw_data[UPS_LOAD]*110.0/load625i[voltage]; ^~~~~~~~ powercom.c:697:10: note: used in buffer access here return raw_data[UPS_LOAD]; ^~~~~~~~ powercom.c:693:27: note: used in buffer access here if (model<2000) return raw_data[UPS_LOAD]*1.66; ^~~~~~~~ powercom.c:694:11: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load2ki[voltage]; ^~~~~~~~ powercom.c:691:27: note: used in buffer access here if (model==525) return raw_data[UPS_LOAD]*110.0/load525i[voltage]; ^~~~~~~~ powercom.c:687:27: note: used in buffer access here if (model<2000) return raw_data[UPS_LOAD]*1.13; ^~~~~~~~ powercom.c:690:27: note: used in buffer access here if (model==425) return raw_data[UPS_LOAD]*110.0/load425i[voltage]; ^~~~~~~~ powercom.c:688:11: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load2k[voltage]; ^~~~~~~~ powercom.c:665:12: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load500[voltage]; ^~~~~~~~ powercom.c:671:22: note: used in buffer access here case 600: return raw_data[UPS_LOAD]*110.0/load600i[voltage]; ^~~~~~~~ powercom.c:655:43: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") && raw_data[MODELNUMBER]%16 > 7 ) { ^~~~~~~~ powercom.c:663:12: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load600[voltage]; ^~~~~~~~ powercom.c:656:11: note: used in buffer access here statINV=raw_data[STATUS_A] & ONLINE; ^~~~~~~~ powercom.c:686:27: note: used in buffer access here if (model==625) return raw_data[UPS_LOAD]*110.0/load625[voltage]; ^~~~~~~~ powercom.c:657:11: note: used in buffer access here voltage=raw_data[MODELNUMBER]%16; ^~~~~~~~ powercom.c:682:19: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:685:27: note: used in buffer access here if (model==525) return raw_data[UPS_LOAD]*110.0/load525[voltage]; ^~~~~~~~ powercom.c:684:27: note: used in buffer access here if (model==425) return raw_data[UPS_LOAD]*110.0/load425[voltage]; ^~~~~~~~ powercom.c:680:11: note: used in buffer access here statINV=raw_data[STATUS_A] & ONLINE; ^~~~~~~~ powercom.c:681:11: note: used in buffer access here voltage=raw_data[MODELNUMBER]%16; ^~~~~~~~ powercom.c:672:22: note: used in buffer access here case 801: return raw_data[UPS_LOAD]*110.0/load801i[voltage]; ^~~~~~~~ powercom.c:661:12: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load400[voltage]; ^~~~~~~~ powercom.c:673:23: note: used in buffer access here case 1200: return raw_data[UPS_LOAD]*110.0/load1200i[voltage]; ^~~~~~~~ powercom.c:676:23: note: used in buffer access here case 2000: return raw_data[UPS_LOAD]*110.0/load1000i[voltage]; ^~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:703:10: note: used in buffer access here types[type].loadpct[3]; ^~~~~ powercom.c:701:10: note: used in buffer access here types[type].loadpct[1] : ^~~~~ powercom.c:702:3: note: used in buffer access here types[type].loadpct[2] * raw_data[UPS_LOAD] + ^~~~~ powercom.c:700:3: note: used in buffer access here types[type].loadpct[0] * raw_data[UPS_LOAD] + ^~~~~ powercom.c:696:22: note: used in buffer access here } else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:696:58: note: used in buffer access here } else if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:679:21: note: used in buffer access here } else if (!strcmp(types[type].name, "KIN")) { ^~~~~ powercom.c:655:15: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") && raw_data[MODELNUMBER]%16 > 7 ) { ^~~~~ powercom.c:283:21: warning: 'BNTmodels' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int BNTmodels[] = {0,400,500,600,800,801,1000,1200,1500,2000,0,0,0,0,0,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:658:9: note: used in buffer access here model=BNTmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~ powercom.c:284:21: warning: 'KINmodels' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int KINmodels[] = {0,425,500,525,625,800,1000,1200,1500,1600,2200,2200,2500,3000,5000,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:682:9: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~ powercom.c:637:6: warning: 'load425' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load425[]={99,88,84,80,84,84,84,86,86,81,76}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:684:52: note: used in buffer access here if (model==425) return raw_data[UPS_LOAD]*110.0/load425[voltage]; ^~~~~~~ powercom.c:638:6: warning: 'load525' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load525[]={127,113,106,100,106,106,106,109,109,103,97}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:685:52: note: used in buffer access here if (model==525) return raw_data[UPS_LOAD]*110.0/load525[voltage]; ^~~~~~~ powercom.c:639:6: warning: 'load625' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load625[]={131,115,107,103,107,107,107,110,110,105,99}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:686:52: note: used in buffer access here if (model==625) return raw_data[UPS_LOAD]*110.0/load625[voltage]; ^~~~~~~ powercom.c:640:6: warning: 'load2k' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load2k[] ={94,94,94,94,94,94,94,120,120,115,110}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:688:36: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load2k[voltage]; ^~~~~~ powercom.c:641:6: warning: 'load425i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load425i[]={60,54,51,48,51,51,51,53,53,50,48}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:690:52: note: used in buffer access here if (model==425) return raw_data[UPS_LOAD]*110.0/load425i[voltage]; ^~~~~~~~ powercom.c:642:6: warning: 'load525i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load525i[]={81,72,67,62,67,67,67,65,65,62,59}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:691:52: note: used in buffer access here if (model==525) return raw_data[UPS_LOAD]*110.0/load525i[voltage]; ^~~~~~~~ powercom.c:643:6: warning: 'load625i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load625i[]={79,70,67,64,67,67,67,65,65,61,58}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:692:52: note: used in buffer access here if (model==625) return raw_data[UPS_LOAD]*110.0/load625i[voltage]; ^~~~~~~~ powercom.c:644:6: warning: 'load2ki' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load2ki[] ={84,77,74,70,74,74,74,77,77,74,70}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:694:36: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load2ki[voltage]; ^~~~~~~ powercom.c:645:6: warning: 'load400' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load400[]={1,1,1,1,1,1,1,1,88,83,87}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:661:37: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load400[voltage]; ^~~~~~~ powercom.c:646:6: warning: 'load500' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load500[]={1,1,1,1,1,1,1,1,108,103,98}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:665:37: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load500[voltage]; ^~~~~~~ powercom.c:647:6: warning: 'load600' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load600[]={1,1,1,1,1,1,1,1,128,123,118}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:663:37: note: used in buffer access here return raw_data[UPS_LOAD]*110.0/load600[voltage]; ^~~~~~~ powercom.c:648:6: warning: 'load400i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load400i[]={1,1,1,1,1,1,1,1,54,52,49}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:668:47: note: used in buffer access here case 400: return raw_data[UPS_LOAD]*110.0/load400i[voltage]; ^~~~~~~~ powercom.c:649:6: warning: 'load500i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load500i[]={1,1,1,1,1,1,1,1,66,64,61}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:670:47: note: used in buffer access here case 800: return raw_data[UPS_LOAD]*110.0/load500i[voltage]; ^~~~~~~~ powercom.c:650:6: warning: 'load600i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load600i[]={1,1,1,1,1,1,1,1,86,84,81}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:671:47: note: used in buffer access here case 600: return raw_data[UPS_LOAD]*110.0/load600i[voltage]; ^~~~~~~~ powercom.c:651:6: warning: 'load801i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load801i[]={1,1,1,1,1,1,1,1,44,42,40}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:672:47: note: used in buffer access here case 801: return raw_data[UPS_LOAD]*110.0/load801i[voltage]; ^~~~~~~~ powercom.c:652:6: warning: 'load1000i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load1000i[]={1,1,1,1,1,1,1,1,56,54,52}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:676:48: note: used in buffer access here case 2000: return raw_data[UPS_LOAD]*110.0/load1000i[voltage]; ^~~~~~~~~ powercom.c:653:6: warning: 'load1200i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int load1200i[]={1,1,1,1,1,1,1,1,76,74,72}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:673:48: note: used in buffer access here case 1200: return raw_data[UPS_LOAD]*110.0/load1200i[voltage]; ^~~~~~~~~ powercom.c:758:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].battpct[1] * load_level() + types[type].battpct[2] : ^~~~~~~~~~~~~~~~~~~ powercom.c:758:44: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].battpct[1] * load_level() + types[type].battpct[2] : ^~~~~~~~~~~~~~~~~~~ powercom.c:760:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].battpct[3] * raw_data[BATTERY_CHARGE] + ^~~~~~~~~~~~~~~~~~~ powercom.c:761:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].battpct[4]; ^~~~~~~~~~~~~~~~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:754:10: note: used in buffer access here return raw_data[BATTERY_CHARGE]; ^~~~~~~~ powercom.c:757:28: note: used in buffer access here types[type].battpct[0] * raw_data[BATTERY_CHARGE] + ^~~~~~~~ powercom.c:728:13: note: used in buffer access here battval=(raw_data[BATTERY_CHARGE]-165.0)*2.6; ^~~~~~~~ powercom.c:735:35: note: used in buffer access here battval=raw_data[UPS_LOAD]/4.0+raw_data[BATTERY_CHARGE]; ^~~~~~~~ powercom.c:740:12: note: used in buffer access here battval=raw_data[UPS_LOAD]/4.0-raw_data[UPS_LOAD]/32.0+raw_data[BATTERY_CHARGE]; ^~~~~~~~ powercom.c:735:12: note: used in buffer access here battval=raw_data[UPS_LOAD]/4.0+raw_data[BATTERY_CHARGE]; ^~~~~~~~ powercom.c:740:35: note: used in buffer access here battval=raw_data[UPS_LOAD]/4.0-raw_data[UPS_LOAD]/32.0+raw_data[BATTERY_CHARGE]; ^~~~~~~~ powercom.c:730:20: note: used in buffer access here return battval+raw_data[UPS_LOAD]; ^~~~~~~~ powercom.c:740:59: note: used in buffer access here battval=raw_data[UPS_LOAD]/4.0-raw_data[UPS_LOAD]/32.0+raw_data[BATTERY_CHARGE]; ^~~~~~~~ powercom.c:726:19: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:729:8: note: used in buffer access here if (raw_data[STATUS_A] & ONLINE) ^~~~~~~~ powercom.c:760:28: note: used in buffer access here types[type].battpct[3] * raw_data[BATTERY_CHARGE] + ^~~~~~~~ powercom.c:755:10: note: used in buffer access here return (raw_data[STATUS_A] & ONLINE) ? /* Are we on battery power? */ ^~~~~~~~ powercom.c:716:34: note: used in buffer access here battval=(raw_data[UPS_LOAD])/4+raw_data[BATTERY_CHARGE]; ^~~~~~~~ powercom.c:716:12: note: used in buffer access here battval=(raw_data[UPS_LOAD])/4+raw_data[BATTERY_CHARGE]; ^~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:758:44: note: used in buffer access here types[type].battpct[1] * load_level() + types[type].battpct[2] : ^~~~~ powercom.c:758:4: note: used in buffer access here types[type].battpct[1] * load_level() + types[type].battpct[2] : ^~~~~ powercom.c:760:3: note: used in buffer access here types[type].battpct[3] * raw_data[BATTERY_CHARGE] + ^~~~~ powercom.c:753:15: note: used in buffer access here if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) ^~~~~ powercom.c:753:51: note: used in buffer access here if ( !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) ^~~~~ powercom.c:712:15: note: used in buffer access here if ( !strcmp(types[type].name, "BNT") ) { ^~~~~ powercom.c:761:4: note: used in buffer access here types[type].battpct[4]; ^~~~~ powercom.c:725:15: note: used in buffer access here if ( !strcmp(types[type].name, "KIN")) { ^~~~~ powercom.c:757:3: note: used in buffer access here types[type].battpct[0] * raw_data[BATTERY_CHARGE] + ^~~~~ powercom.c:284:21: warning: 'KINmodels' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int KINmodels[] = {0,425,500,525,625,800,1000,1200,1500,1600,2200,2200,2500,3000,5000,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:726:9: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:816:8: note: used in buffer access here if (!(raw_data[STATUS_A] & MAINS_FAILURE)) { ^~~~~~~~ powercom.c:817:5: note: used in buffer access here !(raw_data[STATUS_A] & OFF) ? ^~~~~~~~ powercom.c:797:30: note: used in buffer access here raw_data[BATTERY_CHARGE]); ^~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:803:30: note: used in buffer access here raw_data[INPUT_VOLTAGE]); ^~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:791:30: note: used in buffer access here raw_data[UPS_LOAD]); ^~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:809:30: note: used in buffer access here raw_data[OUTPUT_VOLTAGE]); ^~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:823:6: note: used in buffer access here if (raw_data[STATUS_A] & LOW_BAT) status_set("LB"); ^~~~~~~~ powercom.c:832:6: note: used in buffer access here if (raw_data[STATUS_B] & BAD_BAT) status_set("RB"); ^~~~~~~~ powercom.c:834:6: note: used in buffer access here if (raw_data[STATUS_B] & TEST) status_set("TEST"); ^~~~~~~~ powercom.c:825:6: note: used in buffer access here if (raw_data[STATUS_A] & AVR_ON) { ^~~~~~~~ powercom.c:785:30: note: used in buffer access here raw_data[OUTPUT_FREQUENCY]); ^~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:830:6: note: used in buffer access here if (raw_data[STATUS_A] & OVERLOAD) status_set("OVER"); ^~~~~~~~ powercom.c:779:30: note: used in buffer access here raw_data[INPUT_FREQUENCY]); ^~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:924:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].validation[1].index_of_byte, ^~~~~~~~~~~~~~~~~~~~~~ powercom.c:925:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].validation[1].required_value, ^~~~~~~~~~~~~~~~~~~~~~ powercom.c:926:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].validation[2].index_of_byte, ^~~~~~~~~~~~~~~~~~~~~~ powercom.c:927:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].validation[2].required_value ^~~~~~~~~~~~~~~~~~~~~~ powercom.c:940:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].shutdown_arguments.delay[1], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:951:41: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].freq[0], &types[type].freq[1] ^~~~~~~~~~~~~~~~ powercom.c:961:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].loadpct[0], &types[type].loadpct[1], ^~~~~~~~~~~~~~~~~~~ powercom.c:962:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].loadpct[2], &types[type].loadpct[3] ^~~~~~~~~~~~~~~~~~~ powercom.c:962:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].loadpct[2], &types[type].loadpct[3] ^~~~~~~~~~~~~~~~~~~ powercom.c:972:44: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].battpct[0], &types[type].battpct[1], ^~~~~~~~~~~~~~~~~~~ powercom.c:973:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].battpct[2], &types[type].battpct[3], ^~~~~~~~~~~~~~~~~~~ powercom.c:973:44: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].battpct[2], &types[type].battpct[3], ^~~~~~~~~~~~~~~~~~~ powercom.c:974:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].battpct[4] ^~~~~~~~~~~~~~~~~~~ powercom.c:984:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].voltage[0], &types[type].voltage[1], ^~~~~~~~~~~~~~~~~~~ powercom.c:985:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].voltage[2], &types[type].voltage[3] ^~~~~~~~~~~~~~~~~~~ powercom.c:985:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] &types[type].voltage[2], &types[type].voltage[3] ^~~~~~~~~~~~~~~~~~~ powercom.c:1063:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].validation[1].index_of_byte, ^~~~~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1064:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].validation[1].required_value, ^~~~~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1065:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].validation[2].index_of_byte, ^~~~~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1066:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].validation[2].required_value); ^~~~~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1069:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].shutdown_arguments.delay[1], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1073:32: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].freq[0], types[type].freq[1]); ^~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1076:35: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].loadpct[0], types[type].loadpct[1], ^~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1077:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].loadpct[2], types[type].loadpct[3]); ^~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1077:35: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].loadpct[2], types[type].loadpct[3]); ^~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1080:35: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].battpct[0], types[type].battpct[1], ^~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1081:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].battpct[2], types[type].battpct[3], ^~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1081:35: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].battpct[2], types[type].battpct[3], ^~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1082:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].battpct[4]); ^~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1084:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].voltage[2], types[type].voltage[3]); ^~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1084:35: warning: unsafe buffer access [-Wunsafe-buffer-usage] types[type].voltage[2], types[type].voltage[3]); ^~~~~~~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:113:22: warning: 'raw_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char raw_data[MAX_NUM_OF_BYTES_FROM_UPS]; /* raw data reveived from UPS */ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:1003:7: note: used in buffer access here if (raw_data[MODELNAME]==0x42 || raw_data[MODELNAME]==0x4B || raw_data[MODELNAME]==0x4F){ ^~~~~~~~ powercom.c:1003:36: note: used in buffer access here if (raw_data[MODELNAME]==0x42 || raw_data[MODELNAME]==0x4B || raw_data[MODELNAME]==0x4F){ ^~~~~~~~ powercom.c:1003:65: note: used in buffer access here if (raw_data[MODELNAME]==0x42 || raw_data[MODELNAME]==0x4B || raw_data[MODELNAME]==0x4F){ ^~~~~~~~ powercom.c:1005:8: note: used in buffer access here if (raw_data[UPSVERSION]==0xFF){ ^~~~~~~~ powercom.c:1007:21: note: used in buffer access here model=IMPmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:1010:21: note: used in buffer access here model=BNTmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:1013:14: note: used in buffer access here else if (raw_data[MODELNAME]==0x42) ^~~~~~~~ powercom.c:1015:14: note: used in buffer access here else if (raw_data[MODELNAME]==0x4B){ ^~~~~~~~ powercom.c:1017:22: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:1018:16: note: used in buffer access here } else if (raw_data[MODELNAME]==0x4F){ ^~~~~~~~ powercom.c:1020:23: note: used in buffer access here model=OPTImodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:1024:12: note: used in buffer access here else if (raw_data[UPSVERSION]==0xFF){ ^~~~~~~~ powercom.c:1026:20: note: used in buffer access here model=IMPmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~ powercom.c:1028:24: note: used in buffer access here linevoltage=voltages[raw_data[MODELNUMBER]%16]; ^~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:1059:14: note: used in buffer access here types[type].flowControl.name); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1061:14: note: used in buffer access here types[type].validation[0].index_of_byte, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1062:14: note: used in buffer access here types[type].validation[0].required_value, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1063:14: note: used in buffer access here types[type].validation[1].index_of_byte, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1064:14: note: used in buffer access here types[type].validation[1].required_value, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1065:14: note: used in buffer access here types[type].validation[2].index_of_byte, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1066:14: note: used in buffer access here types[type].validation[2].required_value); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1068:14: note: used in buffer access here types[type].shutdown_arguments.delay[0], ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1069:14: note: used in buffer access here types[type].shutdown_arguments.delay[1], ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1070:14: note: used in buffer access here types[type].shutdown_arguments.minutesShouldBeUsed); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1071:14: note: used in buffer access here if ( strcmp(types[type].name, "KIN") && strcmp(types[type].name, "BNT") && strcmp(types[type].name, "IMP")) { ^~~~~ powercom.c:1071:49: note: used in buffer access here if ( strcmp(types[type].name, "KIN") && strcmp(types[type].name, "BNT") && strcmp(types[type].name, "IMP")) { ^~~~~ powercom.c:1071:84: note: used in buffer access here if ( strcmp(types[type].name, "KIN") && strcmp(types[type].name, "BNT") && strcmp(types[type].name, "IMP")) { ^~~~~ powercom.c:1073:11: note: used in buffer access here types[type].freq[0], types[type].freq[1]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1073:32: note: used in buffer access here types[type].freq[0], types[type].freq[1]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1076:11: note: used in buffer access here types[type].loadpct[0], types[type].loadpct[1], ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1076:35: note: used in buffer access here types[type].loadpct[0], types[type].loadpct[1], ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1077:11: note: used in buffer access here types[type].loadpct[2], types[type].loadpct[3]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1077:35: note: used in buffer access here types[type].loadpct[2], types[type].loadpct[3]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1080:11: note: used in buffer access here types[type].battpct[0], types[type].battpct[1], ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1080:35: note: used in buffer access here types[type].battpct[0], types[type].battpct[1], ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1081:11: note: used in buffer access here types[type].battpct[2], types[type].battpct[3], ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1081:35: note: used in buffer access here types[type].battpct[2], types[type].battpct[3], ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1082:11: note: used in buffer access here types[type].battpct[4]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1084:11: note: used in buffer access here types[type].voltage[2], types[type].voltage[3]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1084:35: note: used in buffer access here types[type].voltage[2], types[type].voltage[3]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:876:37: note: used in buffer access here i < NUM_OF_SUBTYPES && strcmp(types[i].name, getval("type")); ^~~~~ powercom.c:902:3: note: used in buffer access here types[type].num_of_bytes_from_ups = (unsigned char) tmp; ^~~~~ powercom.c:908:13: note: used in buffer access here strcmp(types[i].flowControl.name, ^~~~~ powercom.c:922:21: note: used in buffer access here &types[type].validation[0].index_of_byte, ^~~~~ powercom.c:916:3: note: used in buffer access here types[type].flowControl = types[i].flowControl; ^~~~~ powercom.c:916:29: note: used in buffer access here types[type].flowControl = types[i].flowControl; ^~~~~ powercom.c:923:21: note: used in buffer access here &types[type].validation[0].required_value, ^~~~~ powercom.c:924:21: note: used in buffer access here &types[type].validation[1].index_of_byte, ^~~~~ powercom.c:925:21: note: used in buffer access here &types[type].validation[1].required_value, ^~~~~ powercom.c:926:21: note: used in buffer access here &types[type].validation[2].index_of_byte, ^~~~~ powercom.c:927:21: note: used in buffer access here &types[type].validation[2].required_value ^~~~~ powercom.c:939:19: note: used in buffer access here &types[type].shutdown_arguments.delay[0], ^~~~~ powercom.c:940:19: note: used in buffer access here &types[type].shutdown_arguments.delay[1], ^~~~~ powercom.c:941:19: note: used in buffer access here &types[type].shutdown_arguments.minutesShouldBeUsed ^~~~~ powercom.c:951:19: note: used in buffer access here &types[type].freq[0], &types[type].freq[1] ^~~~~ powercom.c:951:41: note: used in buffer access here &types[type].freq[0], &types[type].freq[1] ^~~~~ powercom.c:961:15: note: used in buffer access here &types[type].loadpct[0], &types[type].loadpct[1], ^~~~~ powercom.c:961:40: note: used in buffer access here &types[type].loadpct[0], &types[type].loadpct[1], ^~~~~ powercom.c:962:15: note: used in buffer access here &types[type].loadpct[2], &types[type].loadpct[3] ^~~~~ powercom.c:962:40: note: used in buffer access here &types[type].loadpct[2], &types[type].loadpct[3] ^~~~~ powercom.c:972:19: note: used in buffer access here &types[type].battpct[0], &types[type].battpct[1], ^~~~~ powercom.c:972:44: note: used in buffer access here &types[type].battpct[0], &types[type].battpct[1], ^~~~~ powercom.c:973:19: note: used in buffer access here &types[type].battpct[2], &types[type].battpct[3], ^~~~~ powercom.c:973:44: note: used in buffer access here &types[type].battpct[2], &types[type].battpct[3], ^~~~~ powercom.c:974:19: note: used in buffer access here &types[type].battpct[4] ^~~~~ powercom.c:984:15: note: used in buffer access here &types[type].voltage[0], &types[type].voltage[1], ^~~~~ powercom.c:984:40: note: used in buffer access here &types[type].voltage[0], &types[type].voltage[1], ^~~~~ powercom.c:985:15: note: used in buffer access here &types[type].voltage[2], &types[type].voltage[3] ^~~~~ powercom.c:985:40: note: used in buffer access here &types[type].voltage[2], &types[type].voltage[3] ^~~~~ powercom.c:997:2: note: used in buffer access here types[type].flowControl.setup_flow_control(); ^~~~~ powercom.c:1000:15: note: used in buffer access here if (!strncmp(types[type].name, "BNT",3) || !strcmp(types[type].name, "KIN") || !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:1000:53: note: used in buffer access here if (!strncmp(types[type].name, "BNT",3) || !strcmp(types[type].name, "KIN") || !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:1000:89: note: used in buffer access here if (!strncmp(types[type].name, "BNT",3) || !strcmp(types[type].name, "KIN") || !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:1000:125: note: used in buffer access here if (!strncmp(types[type].name, "BNT",3) || !strcmp(types[type].name, "KIN") || !strcmp(types[type].name, "IMP") || !strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:1006:5: note: used in buffer access here types[type].name="IMP"; ^~~~~ powercom.c:1011:17: note: used in buffer access here if (!strcmp(types[type].name, "BNT-other")) ^~~~~ powercom.c:1012:6: note: used in buffer access here types[type].name="BNT-other"; ^~~~~ powercom.c:1014:6: note: used in buffer access here types[type].name="BNT"; ^~~~~ powercom.c:1016:6: note: used in buffer access here types[type].name="KIN"; ^~~~~ powercom.c:1019:6: note: used in buffer access here types[type].name="OPTI"; ^~~~~ powercom.c:1025:4: note: used in buffer access here types[type].name="IMP"; ^~~~~ powercom.c:1029:15: note: used in buffer access here if (!strcmp(types[type].name, "OPTI")) { ^~~~~ powercom.c:1030:37: note: used in buffer access here snprintf(buf,sizeof(buf),"%s-%u",types[type].name, model); ^~~~~ powercom.c:1032:39: note: used in buffer access here snprintf(buf,sizeof(buf),"%s-%uAP",types[type].name, model); ^~~~~ powercom.c:1055:50: note: used in buffer access here upsdebugx(1, " type : '%s'", types[type].name); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:1057:14: note: used in buffer access here types[type].num_of_bytes_from_ups); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ powercom.c:282:21: warning: 'voltages' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int voltages[] = {100,110,115,120,0,0,0,200,220,230,240,0,0,0,0,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:1028:15: note: used in buffer access here linevoltage=voltages[raw_data[MODELNUMBER]%16]; ^~~~~~~~ powercom.c:283:21: warning: 'BNTmodels' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int BNTmodels[] = {0,400,500,600,800,801,1000,1200,1500,2000,0,0,0,0,0,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:1010:11: note: used in buffer access here model=BNTmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~ powercom.c:284:21: warning: 'KINmodels' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int KINmodels[] = {0,425,500,525,625,800,1000,1200,1500,1600,2200,2200,2500,3000,5000,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:1017:12: note: used in buffer access here model=KINmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~ powercom.c:285:21: warning: 'IMPmodels' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int IMPmodels[] = {0,425,525,625,825,1025,1200,1500,2000,0,0,0,0,0,0,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:1007:11: note: used in buffer access here model=IMPmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~ powercom.c:1026:10: note: used in buffer access here model=IMPmodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~ powercom.c:286:21: warning: 'OPTImodels' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned int OPTImodels[] = {0,0,0,575,0,0,0,0,0,0,0,0,0,0,0,0}; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ powercom.c:1020:12: note: used in buffer access here model=OPTImodels[raw_data[MODELNUMBER]/16]; ^~~~~~~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:1163:42: note: used in buffer access here dstate_setinfo ("ups.model.type", "%s", types[type].name); ^~~~~ powercom.c:147:20: warning: 'types' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static struct type types[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ powercom.c:1197:14: note: used in buffer access here if ( strcmp(types[type].name, "KIN") && strcmp(types[type].name, "BNT") && strcmp(types[type].name, "IMP")) { ^~~~~ powercom.c:1197:49: note: used in buffer access here if ( strcmp(types[type].name, "KIN") && strcmp(types[type].name, "BNT") && strcmp(types[type].name, "IMP")) { ^~~~~ powercom.c:1197:84: note: used in buffer access here if ( strcmp(types[type].name, "KIN") && strcmp(types[type].name, "BNT") && strcmp(types[type].name, "IMP")) { ^~~~~ 108 warnings generated. depbase=`echo tripplite.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT tripplite.o -MD -MP -MF $depbase.Tpo -c -o tripplite.o tripplite.c &&\ mv -f $depbase.Tpo $depbase.Po oneac.c:117:7: warning: 'buffer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buffer[32]; ~~~~~^~~~~~~~~~ oneac.c:127:4: note: used in buffer access here buffer[2] = '\0'; ^~~~~~ oneac.c:128:4: note: used in buffer access here buffer[1] = buffer[0]; ^~~~~~ oneac.c:137:7: warning: 'buffer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buffer[32]; ~~~~~^~~~~~~~~~ oneac.c:146:3: note: used in buffer access here buffer[3] = '\0'; ^~~~~~ oneac.c:147:3: note: used in buffer access here buffer[2] = buffer[1]; ^~~~~~ oneac.c:147:15: note: used in buffer access here buffer[2] = buffer[1]; ^~~~~~ oneac.c:148:3: note: used in buffer access here buffer[1] = buffer[0]; ^~~~~~ oneac.c:169:49: warning: 'buff1' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void EliminateLeadingZeroes (const char* buff1, int StringSize, char* buff2, ~~~~~~~~~~~~^~~~~ oneac.c:185:16: note: used in buffer access here buff2[j++] = buff1[i++]; ^~~~~ oneac.c:178:35: note: used in buffer access here while ((i < (StringSize - 1) && (buff1[i] == '0'))) ^~~~~ oneac.c:169:78: warning: 'buff2' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void EliminateLeadingZeroes (const char* buff1, int StringSize, char* buff2, ~~~~~~^~~~~ oneac.c:185:3: note: used in buffer access here buff2[j++] = buff1[i++]; ^~~~~ oneac.c:67:13: warning: 'UpsFamily' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char UpsFamily [3]; ~~~~~~~~~~~~^~~~~~~~~~~~~ oneac.c:239:2: note: used in buffer access here UpsFamily[2] = '\0'; ^~~~~~~~~ oneac.c:211:7: warning: 'buffer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buffer[256], buffer2[32]; ~~~~~^~~~~~~~~~~ oneac.c:280:40: note: used in pointer arithmetic here dstate_setinfo("ups.firmware", "%.3s",buffer+7); ^~~~~~ oneac.c:283:52: note: used in pointer arithmetic here dstate_setinfo("input.frequency.nominal", "%.2s", buffer+20); ^~~~~~ oneac.c:345:27: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+73, 3, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:284:53: note: used in pointer arithmetic here dstate_setinfo("output.frequency.nominal", "%.2s", buffer+20); ^~~~~~ oneac.c:303:12: note: used in buffer access here VRange = buffer[26]; /* Keep for later use also */ ^~~~~~ oneac.c:350:27: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+76, 3, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:356:27: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+84, 4, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:362:20: note: used in pointer arithmetic here strncpy(buffer2, buffer+82, 2); ^~~~~~ oneac.c:382:20: note: used in pointer arithmetic here strncpy(buffer2, buffer + 5, 10); ^~~~~~ oneac.c:394:48: note: used in pointer arithmetic here dstate_setinfo("device.serial", "%.4s-%.4s", buffer+18, buffer+22); ^~~~~~ oneac.c:394:59: note: used in pointer arithmetic here dstate_setinfo("device.serial", "%.4s-%.4s", buffer+18, buffer+22); ^~~~~~ oneac.c:396:22: note: used in pointer arithmetic here buffer2, buffer+18, buffer+22); ^~~~~~ oneac.c:396:33: note: used in pointer arithmetic here buffer2, buffer+18, buffer+22); ^~~~~~ oneac.c:399:51: note: used in pointer arithmetic here dstate_setinfo("ups.mfr.date", "%.6s (yymmdd)", buffer+38); ^~~~~~ oneac.c:402:51: note: used in pointer arithmetic here dstate_setinfo("battery.date", "%.6s (yymmdd)", buffer+44); ^~~~~~ oneac.c:407:27: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+55, 5, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:442:21: note: used in pointer arithmetic here strncpy(buffer2, buffer + 4, 3); ^~~~~~ oneac.c:448:21: note: used in pointer arithmetic here strncpy(buffer2, buffer+8, 2); ^~~~~~ oneac.c:211:20: warning: 'buffer2' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buffer[256], buffer2[32]; ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ oneac.c:363:3: note: used in buffer access here buffer2[2]='\0'; ^~~~~~~ oneac.c:386:25: note: used in buffer access here for (i = 9; i >= 0 && buffer2[i] == ' '; --i) ^~~~~~~ oneac.c:388:4: note: used in buffer access here buffer2[i] = '\0'; ^~~~~~~ oneac.c:430:4: note: used in buffer access here buffer2[3]='\0'; ^~~~~~~ oneac.c:449:4: note: used in buffer access here buffer2[2]='\0'; ^~~~~~~ oneac.c:491:7: warning: 'buffer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buffer[256]; /* Main response buffer */ ~~~~~^~~~~~~~~~~ oneac.c:530:7: note: used in buffer access here s = buffer[12]; ^~~~~~ oneac.c:573:11: note: used in buffer access here switch (buffer[13]) { ^~~~~~ oneac.c:591:29: note: used in buffer access here " transfer [%c]", buffer[13]); ^~~~~~ oneac.c:605:7: note: used in buffer access here if(buffer[10] == YES) ^~~~~~ oneac.c:598:39: note: used in pointer arithmetic here dstate_setinfo("ups.load", "0%.2s",buffer+31); ^~~~~~ oneac.c:601:7: note: used in buffer access here if(buffer[27] == NO_VALUE_YET) ^~~~~~ oneac.c:606:46: note: used in pointer arithmetic here dstate_setinfo("battery.charge", "0%.2s",buffer+33); ^~~~~~ oneac.c:610:28: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+35, 3, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:613:28: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+38, 3, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:616:28: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+41, 3, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:619:28: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+44, 3, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:622:8: note: used in buffer access here if (buffer[15] == NO_VALUE_YET) ^~~~~~ oneac.c:631:8: note: used in buffer access here if(buffer[15] != HIGH_COUNT) ^~~~~~ oneac.c:633:30: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+15, 3, buffer2, ^~~~~~ oneac.c:643:8: note: used in buffer access here if (buffer[47] == YES) ^~~~~~ oneac.c:673:29: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+57, 5, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:677:15: note: used in pointer arithmetic here buffer+42,buffer[44]); ^~~~~~ oneac.c:677:25: note: used in buffer access here buffer+42,buffer[44]); ^~~~~~ oneac.c:679:15: note: used in pointer arithmetic here buffer+76, buffer[78]); ^~~~~~ oneac.c:679:26: note: used in buffer access here buffer+76, buffer[78]); ^~~~~~ oneac.c:681:29: note: used in pointer arithmetic here EliminateLeadingZeroes (buffer+29, 3, buffer2, sizeof(buffer2)); ^~~~~~ oneac.c:682:56: note: used in buffer access here dstate_setinfo("battery.voltage", "%s.%c",buffer2, buffer[32]); ^~~~~~ oneac.c:684:46: note: used in pointer arithmetic here dstate_setinfo("ups.temperature", "%.2s",buffer+13); ^~~~~~ oneac.c:685:39: note: used in pointer arithmetic here dstate_setinfo("ups.load", "%.3s",buffer+73); ^~~~~~ oneac.c:687:22: note: used in pointer arithmetic here strncpy(buffer2, buffer+19, 4); ^~~~~~ oneac.c:492:7: warning: 'buffer2' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buffer2[32]; /* Conversion buffer */ ~~~~~^~~~~~~~~~~ oneac.c:688:5: note: used in buffer access here buffer2[4]='\0'; ^~~~~~~ oneac.c:759:6: note: used in buffer access here buffer2[2]='\0'; ^~~~~~~ 9 warnings generated. depbase=`echo tripplitesu.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT tripplitesu.o -MD -MP -MF $depbase.Tpo -c -o tripplitesu.o tripplitesu.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo upscode2.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upscode2.o -MD -MP -MF $depbase.Tpo -c -o upscode2.o upscode2.c &&\ mv -f $depbase.Tpo $depbase.Po safenet.c:120:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] ups.reply[i] = ((reply[i+1] == 'B') ? 1 : 0); ^~~~~~~~~ safenet.c:68:7: warning: 'reply' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char reply[32]; ~~~~~~~~^~~~~~~~~ safenet.c:115:50: note: used in pointer arithmetic here if ((ret != 12) || (reply[0] != '$') || (strspn(reply+1, "AB") != 10)) { ^~~~~ safenet.c:120:20: note: used in buffer access here ups.reply[i] = ((reply[i+1] == 'B') ? 1 : 0); ^~~~~ safenet.c:263:8: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char command[] = SHUTDOWN_RETURN; ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ safenet.c:267:3: note: used in buffer access here command[6] += (offdelay % 10); ^~~~~~~ safenet.c:265:3: note: used in buffer access here command[4] += ((offdelay % 1000) / 100); ^~~~~~~ safenet.c:266:3: note: used in buffer access here command[5] += ((offdelay % 100) / 10); ^~~~~~~ safenet.c:277:8: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char command[] = SHUTDOWN_REBOOT; ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ safenet.c:281:3: note: used in buffer access here command[5] += (offdelay % 10); ^~~~~~~ safenet.c:279:3: note: used in buffer access here command[3] += ((offdelay % 1000) / 100); ^~~~~~~ safenet.c:280:3: note: used in buffer access here command[4] += ((offdelay % 100) / 10); ^~~~~~~ safenet.c:283:3: note: used in buffer access here command[7] += ((ondelay % 10000) / 1000); ^~~~~~~ safenet.c:284:3: note: used in buffer access here command[8] += ((ondelay % 1000) / 100); ^~~~~~~ safenet.c:285:3: note: used in buffer access here command[9] += ((ondelay % 100) / 10); ^~~~~~~ safenet.c:286:3: note: used in buffer access here command[10] += (ondelay % 10); ^~~~~~~ safenet.c:366:7: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char command[] = COM_POLL_STAT; ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ safenet.c:375:3: note: used in buffer access here command[i] = (random() % 10) + 'A'; ^~~~~~~ safenet.c:381:2: note: used in buffer access here command[command[1]-'A'+2] = 'L'; ^~~~~~~ safenet.c:381:10: note: used in buffer access here command[command[1]-'A'+2] = 'L'; ^~~~~~~ safenet.c:487:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VEOL] = '\r'; ^~~~~~~~ safenet.c:488:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VERASE] = _POSIX_VDISABLE; ^~~~~~~~ safenet.c:489:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VINTR] = _POSIX_VDISABLE; ^~~~~~~~ safenet.c:490:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VKILL] = _POSIX_VDISABLE; ^~~~~~~~ safenet.c:491:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VQUIT] = _POSIX_VDISABLE; ^~~~~~~~ safenet.c:492:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSUSP] = _POSIX_VDISABLE; ^~~~~~~~ safenet.c:493:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTART] = _POSIX_VDISABLE; ^~~~~~~~ safenet.c:494:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTOP] = _POSIX_VDISABLE; ^~~~~~~~ 13 warnings generated. depbase=`echo victronups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT victronups.o -MD -MP -MF $depbase.Tpo -c -o victronups.o victronups.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo powerpanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT powerpanel.o -MD -MP -MF $depbase.Tpo -c -o powerpanel.o powerpanel.c &&\ mv -f $depbase.Tpo $depbase.Po tripplite.c:154:48: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static ssize_t send_cmd(const char *str, char *buf, size_t len) ~~~~~~^~~ tripplite.c:180:3: note: used in buffer access here buf[i++] = c; ^~~ tripplite.c:182:2: note: used in buffer access here buf[i] = '\0'; ^~~ tripplite.c:316:33: warning: 'v_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char w_value[16], l_value[16], v_value[16], x_value[16]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ tripplite.c:343:28: note: used in buffer access here 'A'+v_value[0]-'0', 'A'+v_value[1]-'0', gen); ^~~~~~~ tripplite.c:316:46: warning: 'x_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char w_value[16], l_value[16], v_value[16], x_value[16]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ tripplite.c:339:26: note: used in buffer access here plugs = x_value[0] - !!(x_value[1] >> 3) * 8; ^~~~~~~ tripplite.c:338:38: note: used in buffer access here gen = 1 + (!(x_value[0] & 0x07) * !(x_value[1] & 0x07)); ^~~~~~~ tripplite.c:387:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[256]; ~~~~~^~~~~~~~ tripplite.c:404:15: note: used in pointer arithmetic here volt = hex2d(buf + 2, 2); ^~~ tripplite.c:405:21: note: used in pointer arithmetic here temp = (int)(hex2d(buf + 6, 2)*0.3636 - 21.0); ^~~ tripplite.c:406:15: note: used in pointer arithmetic here load = hex2d(buf + 12, 2); ^~~ tripplite.c:410:11: note: used in buffer access here tstate = buf[4]; ^~~ tripplite.c:407:15: note: used in pointer arithmetic here freq = hex2d(buf + 18, 3) / 10.0; ^~~ tripplite.c:409:11: note: used in buffer access here lstate = buf[1]; ^~~ tripplite.c:411:9: note: used in buffer access here mode = buf[5]; ^~~ tripplite.c:617:8: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] char *val; ^ 5 warnings generated. victronups.c:240:7: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char temp[ LENGTH_TEMP ]; ~~~~~^~~~~~~~~~~~~~~~~~~ victronups.c:247:14: note: used in pointer arithmetic here if (strcmp(temp+3,"NA")) ^~~~ victronups.c:251:14: note: used in pointer arithmetic here if (strcmp(temp+3,"NA")) ^~~~ victronups.c:255:14: note: used in pointer arithmetic here if (strcmp(temp+4,"NA")) ^~~~ victronups.c:267:14: note: used in pointer arithmetic here if (strcmp(temp+3,"NA")) ^~~~ victronups.c:259:14: note: used in pointer arithmetic here if (strcmp(temp+3,"NA")) ^~~~ victronups.c:263:14: note: used in pointer arithmetic here if (strcmp(temp+3,"NA")) ^~~~ victronups.c:271:14: note: used in pointer arithmetic here if (strcmp(temp+3,"NA")) ^~~~ victronups.c:282:16: note: used in pointer arithmetic here flags = atoi (temp+3); ^~~~ victronups.c:304:14: note: used in pointer arithmetic here switch(atoi(temp+3)) ^~~~ victronups.c:339:67: note: used in pointer arithmetic here upsdebugx(1, "upsdrv_updateinfo: unknown test result: %s / %s",temp+3,test_result+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:355:37: note: used in pointer arithmetic here dstate_setinfo("ups.model", "%s", temp+3); ^~~~ victronups.c:356:44: note: used in pointer arithmetic here upsdebugx(1, "ups.model >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:363:34: note: used in pointer arithmetic here dstate_setinfo("ups.mfr", "%s", temp+3); ^~~~ victronups.c:364:41: note: used in pointer arithmetic here upsdebugx(1, "ups.mfr >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:371:38: note: used in pointer arithmetic here dstate_setinfo("ups.serial", "%s", temp+3); ^~~~ victronups.c:373:44: note: used in pointer arithmetic here upsdebugx(1, "ups.serial >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:377:39: note: used in pointer arithmetic here dstate_setinfo("ups.firmware", "%s", temp+3); ^~~~ victronups.c:378:46: note: used in pointer arithmetic here upsdebugx(1, "ups.firmware >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:384:43: note: used in pointer arithmetic here dstate_setinfo("ups.temperature", "%s", temp+3); ^~~~ victronups.c:386:49: note: used in pointer arithmetic here upsdebugx(1, "ups.temperature >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:390:35: note: used in pointer arithmetic here dstate_setinfo("ups.load", "%s", temp+4); ^~~~ victronups.c:391:42: note: used in pointer arithmetic here upsdebugx(1, "ups.load >%s<>%s<\n",temp,temp+4); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:407:40: note: used in pointer arithmetic here dstate_setinfo("input.voltage", "%s", temp+4); ^~~~ victronups.c:408:47: note: used in pointer arithmetic here upsdebugx(1, "input.voltage >%s<>%s<\n",temp,temp+4); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:413:45: note: used in pointer arithmetic here dstate_setinfo("input.transfer.low", "%s", temp+3); ^~~~ victronups.c:414:52: note: used in pointer arithmetic here upsdebugx(1, "input.transfer.low >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:419:46: note: used in pointer arithmetic here dstate_setinfo("input.transfer.high", "%s", temp+3); ^~~~ victronups.c:420:53: note: used in pointer arithmetic here upsdebugx(1, "input.transfer.high >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:425:50: note: used in pointer arithmetic here dstate_setinfo("input.frequency", "%2.1f", atof(temp+4) / 10.0); ^~~~ victronups.c:426:49: note: used in pointer arithmetic here upsdebugx(1, "input.frequency >%s<>%s<\n",temp,temp+4); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:434:41: note: used in pointer arithmetic here dstate_setinfo("output.voltage", "%s", temp+4); ^~~~ victronups.c:435:48: note: used in pointer arithmetic here upsdebugx(1, "output.voltage >%s<>%s<\n",temp,temp+4); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:440:51: note: used in pointer arithmetic here dstate_setinfo("output.frequency", "%2.1f", atof(temp+3) / 10.0); ^~~~ victronups.c:441:50: note: used in pointer arithmetic here upsdebugx(1, "output.frequency >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:448:50: note: used in pointer arithmetic here dstate_setinfo("output.current", "%2.1f", atof(temp+4) / 10.0); ^~~~ victronups.c:450:48: note: used in pointer arithmetic here upsdebugx(1, "output.current >%s<>%s<\n",temp,temp+4); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:459:42: note: used in pointer arithmetic here dstate_setinfo("battery.charge", "%s", temp+3); ^~~~ victronups.c:461:48: note: used in pointer arithmetic here upsdebugx(1, "battery.charge >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:465:50: note: used in pointer arithmetic here dstate_setinfo("battery.voltage", "%2.1f", atof(temp+3) / 10.0); ^~~~ victronups.c:466:49: note: used in pointer arithmetic here upsdebugx(1, "battery.voltage >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:473:51: note: used in pointer arithmetic here dstate_setinfo("battery.current", "%2.1f", atof(temp+3) / 10.0); ^~~~ victronups.c:475:49: note: used in pointer arithmetic here upsdebugx(1, "battery.current >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:481:47: note: used in pointer arithmetic here dstate_setinfo("battery.temperature", "%s", temp+3); ^~~~ victronups.c:483:53: note: used in pointer arithmetic here upsdebugx(1, "battery.temperature >%s<>%s<\n",temp,temp+3); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:490:24: note: used in pointer arithmetic here runtime_sec = strtol(temp+3, NULL, 10)*60; ^~~~ victronups.c:241:7: warning: 'test_result' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char test_result[ LENGTH_TEMP ]; ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ victronups.c:307:89: note: used in pointer arithmetic here upsdebugx(1, "upsdrv_updateinfo: test %i result = Done, Passed: %s",test_in_progress,test_result+3); ^~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:312:90: note: used in pointer arithmetic here upsdebugx(1, "upsdrv_updateinfo: test %i result = Done, Warning: %s",test_in_progress,test_result+3); ^~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:317:88: note: used in pointer arithmetic here upsdebugx(1, "upsdrv_updateinfo: test %i result = Done, Error: %s",test_in_progress,test_result+3); ^~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:322:84: note: used in pointer arithmetic here upsdebugx(1, "upsdrv_updateinfo: test %i result = Aborted: %s",test_in_progress,test_result+3); ^~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:330:21: note: used in pointer arithmetic here test_in_progress,test_result+3); ^~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:335:4: note: used in pointer arithmetic here test_result+3); ^~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ victronups.c:339:74: note: used in pointer arithmetic here upsdebugx(1, "upsdrv_updateinfo: unknown test result: %s / %s",temp+3,test_result+3); ^~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ 2 warnings generated. powerpanel.c:32:21: warning: 'subdriver' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static subdriver_t *subdriver[] = { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ powerpanel.c:61:2: note: used in buffer access here subdriver[mode]->initinfo(); ^~~~~~~~~ powerpanel.c:76:17: note: used in buffer access here upsh.instcmd = subdriver[mode]->instcmd; ^~~~~~~~~ powerpanel.c:77:16: note: used in buffer access here upsh.setvar = subdriver[mode]->setvar; ^~~~~~~~~ powerpanel.c:32:21: warning: 'subdriver' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static subdriver_t *subdriver[] = { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ powerpanel.c:84:6: note: used in buffer access here if (subdriver[mode]->updateinfo() < 0) { ^~~~~~~~~ powerpanel.c:32:21: warning: 'subdriver' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static subdriver_t *subdriver[] = { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ powerpanel.c:111:6: note: used in buffer access here if (subdriver[mode]->instcmd("shutdown.return", NULL) == STAT_INSTCMD_HANDLED) { ^~~~~~~~~ powerpanel.c:122:9: note: used in buffer access here ret = subdriver[mode]->updateinfo(); ^~~~~~~~~ powerpanel.c:133:7: note: used in buffer access here if (subdriver[mode]->instcmd("shutdown.stayoff", NULL) == STAT_INSTCMD_HANDLED) { ^~~~~~~~~ powerpanel.c:141:7: note: used in buffer access here if (subdriver[mode]->instcmd("shutdown.reboot", NULL) == STAT_INSTCMD_HANDLED) { ^~~~~~~~~ powerpanel.c:32:21: warning: 'subdriver' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static subdriver_t *subdriver[] = { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ powerpanel.c:162:17: note: used in buffer access here for (mode = 0; subdriver[mode] != NULL; mode++) { ^~~~~~~~~ powerpanel.c:164:48: note: used in buffer access here if ((version != NULL) && strcasecmp(version, subdriver[mode]->version)) { ^~~~~~~~~ powerpanel.c:171:7: note: used in buffer access here if (subdriver[mode]->initups() > 0) { ^~~~~~~~~ powerpanel.c:172:72: note: used in buffer access here upslogx(LOG_INFO, "CyberPower UPS with %s protocol on %s detected", subdriver[mode]->version, device_path); ^~~~~~~~~ 4 warnings generated. depbase=`echo powerp-bin.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT powerp-bin.o -MD -MP -MF $depbase.Tpo -c -o powerp-bin.o powerp-bin.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo powerp-txt.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT powerp-txt.o -MD -MP -MF $depbase.Tpo -c -o powerp-txt.o powerp-txt.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo blazer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT blazer.o -MD -MP -MF $depbase.Tpo -c -o blazer.o blazer.c &&\ mv -f $depbase.Tpo $depbase.Po tripplitesu.c:268:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int c = atoi(buffer); ^ tripplitesu.c:218:89: warning: 'response' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static ssize_t do_command(char type, const char *command, const char *parameters, char *response) ~~~~~~^~~~~~~~ tripplitesu.c:299:3: note: used in buffer access here response[ret] = '\0'; ^~~~~~~~ tripplitesu.c:220:7: warning: 'buffer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buffer[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~~~~ tripplitesu.c:250:2: note: used in buffer access here buffer[ret] = '\0'; ^~~~~~ tripplitesu.c:265:3: note: used in buffer access here buffer[ret] = '\0'; ^~~~~~ tripplitesu.c:318:26: warning: 'str' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char *field(char *str, int fieldnum) ~~~~~~^~~ tripplitesu.c:324:4: note: used in pointer arithmetic here str++; ^~~ tripplitesu.c:344:7: warning: 'response' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char response[MAX_RESPONSE_LENGTH]; ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tripplitesu.c:350:3: note: used in buffer access here response[MAX_RESPONSE_LENGTH - 1] = '\0'; ^~~~~~~~ tripplitesu.c:154:3: warning: 'sensitivity' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } sensitivity[] = { ~~^~~~~~~~~~~~~~~~~ tripplitesu.c:426:7: note: used in buffer access here if (sensitivity[i].code == atoi(response)) { ^~~~~~~~~~~ tripplitesu.c:428:19: note: used in buffer access here sensitivity[i].name); ^~~~~~~~~~~ tripplitesu.c:154:3: warning: 'sensitivity' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } sensitivity[] = { ~~^~~~~~~~~~~~~~~~~ tripplitesu.c:441:24: note: used in buffer access here if (!strcasecmp(val, sensitivity[i].name)) { ^~~~~~~~~~~ tripplitesu.c:559:7: warning: 'response' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char response[MAX_RESPONSE_LENGTH]; ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tripplitesu.c:571:7: note: used in buffer access here if (response[i - bit - 1] == '1') ^~~~~~~~ tripplitesu.c:154:3: warning: 'sensitivity' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } sensitivity[] = { ~~^~~~~~~~~~~~~~~~~ tripplitesu.c:664:19: note: used in buffer access here sensitivity[i].name); ^~~~~~~~~~~ tripplitesu.c:141:20: warning: 'test_result_names' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *test_result_names[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ tripplitesu.c:818:43: note: used in buffer access here dstate_setinfo("ups.test.result", "%s", test_result_names[r]); ^~~~~~~~~~~~~~~~~ 10 warnings generated. upscode2.c:501:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VMIN] = 0; ^~~~~~~~ upscode2.c:502:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VTIME] = 0; ^~~~~~~~ upscode2.c:569:35: warning: 'sp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void change_name(simple_t *sp, ~~~~~~~~~~^~ upscode2.c:583:3: note: used in pointer arithmetic here sp++; ^~ upscode2.c:891:9: warning: 'cp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] cmd_t *cp; ~~~~~~~^~ upscode2.c:909:31: note: used in pointer arithmetic here for (cp = commands; cp->cmd; cp++) { ^~ upscode2.c:929:9: warning: 'cp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] cmd_t *cp; ~~~~~~~^~ upscode2.c:933:32: note: used in pointer arithmetic here for (cp = variables; cp->cmd; cp++) { ^~ upscode2.c:1080:9: warning: 'cp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] cmd_t *cp; ~~~~~~~^~ upscode2.c:1109:32: note: used in pointer arithmetic here for (cp = commands; cp->cmd; cp++) { ^~ upscode2.c:1118:33: note: used in pointer arithmetic here for (cp = variables; cp->cmd; cp++) { ^~ upscode2.c:1130:32: note: used in pointer arithmetic here for (cp = variables; cp->cmd; cp++) { ^~ upscode2.c:125:13: warning: 'has_uppm_p' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char has_uppm_p[100]; ~~~~~~~~~~~~^~~~~~~~~~~~~~~ upscode2.c:1202:3: note: used in buffer access here has_uppm_p[intval] = 1; ^~~~~~~~~~ upscode2.c:1208:8: note: used in buffer access here if (!has_uppm_p[i]) ^~~~~~~~~~ upscode2.c:1265:40: warning: 'sp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int upsc_simple(const simple_t *sp, const char *var, const char *val) ~~~~~~~~~~~~~~~~^~ upscode2.c:1393:3: note: used in pointer arithmetic here sp++; ^~ upscode2.c:161:15: warning: 'batthist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static float batthist[NUM_BATTHIST]; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ upscode2.c:1416:15: note: used in buffer access here avgcurr += batthist[i]; ^~~~~~~~ upscode2.c:1410:3: note: used in buffer access here batthist[lastbatthist] = batt_current; ^~~~~~~~ 9 warnings generated. depbase=`echo blazer_ser.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT blazer_ser.o -MD -MP -MF $depbase.Tpo -c -o blazer_ser.o blazer_ser.c &&\ mv -f $depbase.Tpo $depbase.Po solis.c:115:33: warning: 'cop' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char* convert_days(char *cop) { ~~~~~~^~~ solis.c:127:15: note: used in buffer access here memcpy(alt, &cop[ish], (size_t)fim); ^~~ solis.c:116:14: warning: 'alt' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char alt[8]; ~~~~~~~~~~~~^~~~~~ solis.c:130:11: note: used in buffer access here memcpy(&alt[fim], cop, (size_t)ish); ^~~ solis.c:132:2: note: used in buffer access here alt[7] = 0; /* string terminator */ ^~~ solis.c:142:31: warning: 'binStr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static uint8_t str2bin( char *binStr ) { ~~~~~~^~~~~~ solis.c:147:13: note: used in buffer access here char ch = binStr[i]; ^~~~~~ solis.c:159:7: warning: 'alt' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char alt[8]; ~~~~~^~~~~~ solis.c:169:3: note: used in buffer access here alt[i] += '0'; ^~~ solis.c:163:3: note: used in buffer access here alt[i] = (dweek >> (5 - weekn - i)) & 0x01; ^~~ solis.c:166:3: note: used in buffer access here alt[i+(6-weekn)] = (dweek >> (6 - i)) & 0x01; ^~~ solis.c:171:2: note: used in buffer access here alt[7] = 0; /* string terminator */ ^~~ In file included from solis.c:47: ./solis.h:352:22: warning: 'ConfigPack' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char ConfigPack[12]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ solis.c:212:2: note: used in buffer access here ConfigPack[2] = (unsigned char)imin; ^~~~~~~~~~ solis.c:213:2: note: used in buffer access here ConfigPack[3] = (unsigned char)isec; ^~~~~~~~~~ solis.c:214:2: note: used in buffer access here ConfigPack[4] = (unsigned char)lhour; ^~~~~~~~~~ solis.c:216:2: note: used in buffer access here ConfigPack[6] = (unsigned char)dhour; ^~~~~~~~~~ solis.c:211:2: note: used in buffer access here ConfigPack[1] = (unsigned char)ihour; ^~~~~~~~~~ solis.c:215:2: note: used in buffer access here ConfigPack[5] = (unsigned char)lmin; ^~~~~~~~~~ solis.c:217:2: note: used in buffer access here ConfigPack[7] = (unsigned char)dmin; ^~~~~~~~~~ solis.c:218:2: note: used in buffer access here ConfigPack[8] = (unsigned char)(weekn << 5); ^~~~~~~~~~ solis.c:219:2: note: used in buffer access here ConfigPack[8] = (unsigned char)ConfigPack[8] | (unsigned char)dian; ^~~~~~~~~~ solis.c:219:33: note: used in buffer access here ConfigPack[8] = (unsigned char)ConfigPack[8] | (unsigned char)dian; ^~~~~~~~~~ solis.c:220:2: note: used in buffer access here ConfigPack[9] = (unsigned char)(mesn << 4); ^~~~~~~~~~ solis.c:221:2: note: used in buffer access here ConfigPack[9] = (unsigned char)ConfigPack[9] | (unsigned char)( anon - BASE_YEAR ); ^~~~~~~~~~ solis.c:221:33: note: used in buffer access here ConfigPack[9] = (unsigned char)ConfigPack[9] | (unsigned char)( anon - BASE_YEAR ); ^~~~~~~~~~ solis.c:222:2: note: used in buffer access here ConfigPack[10] = (unsigned char)DaysOffWeek; ^~~~~~~~~~ solis.c:225:2: note: used in buffer access here ConfigPack[10] = ConfigPack[10] & (~(0x80)); ^~~~~~~~~~ solis.c:225:19: note: used in buffer access here ConfigPack[10] = ConfigPack[10] & (~(0x80)); ^~~~~~~~~~ solis.c:228:11: note: used in buffer access here chks += ConfigPack[i]; ^~~~~~~~~~ solis.c:231:2: note: used in buffer access here ConfigPack[11] = (unsigned char)(chks % 256); ^~~~~~~~~~ solis.c:234:24: note: used in buffer access here ser_send_char(upsfd, ConfigPack[i]); ^~~~~~~~~~ solis.c:245:7: warning: 'week_days' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] int week_days[7] = {0, 0, 0, 0, 0, 0, 0}; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:263:4: note: used in buffer access here week_days[6]); ^~~~~~~~~ solis.c:262:18: note: used in buffer access here week_days[3], week_days[4], week_days[5], ^~~~~~~~~ solis.c:250:4: note: used in buffer access here week_days[i] = (DaysStd >> (6 - i)) & 0x01; ^~~~~~~~~ solis.c:262:4: note: used in buffer access here week_days[3], week_days[4], week_days[5], ^~~~~~~~~ solis.c:261:18: note: used in buffer access here week_days[0], week_days[1], week_days[2], ^~~~~~~~~ solis.c:261:32: note: used in buffer access here week_days[0], week_days[1], week_days[2], ^~~~~~~~~ solis.c:262:32: note: used in buffer access here week_days[3], week_days[4], week_days[5], ^~~~~~~~~ solis.c:288:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] min = auton[iauto].minc[ipo]; ^~~~~~~~~~~~~~~~~ solis.c:290:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] max = auton[iauto].maxc[ipo]; ^~~~~~~~~~~~~~~~~ solis.c:298:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] maxauto = auton[iauto].mm[ipo][lim]; ^~~~~~~~~~~~~~~~~~~~ solis.c:298:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] maxauto = auton[iauto].mm[ipo][lim]; ^~~~~~~~~~~~~~~ solis.c:300:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] Autonomy = auton[iauto].mm[ipo][indd]; ^~~~~~~~~~~~~~~~~~~~ solis.c:300:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] Autonomy = auton[iauto].mm[ipo][indd]; ^~~~~~~~~~~~~~~ In file included from solis.c:47: ./solis.h:47:18: warning: 'bext' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const int bext[5] = {14,18,28,18,1}; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:277:7: note: used in buffer access here bx = bext[iauto]; ^~~~ In file included from solis.c:47: ./solis.h:59:3: warning: 'auton' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } auton[5] = ~~^~~~~~~~~~ solis.c:290:8: note: used in buffer access here max = auton[iauto].maxc[ipo]; ^~~~~ solis.c:298:13: note: used in buffer access here maxauto = auton[iauto].mm[ipo][lim]; ^~~~~ solis.c:300:15: note: used in buffer access here Autonomy = auton[iauto].mm[ipo][indd]; ^~~~~ solis.c:288:8: note: used in buffer access here min = auton[iauto].minc[ipo]; ^~~~~ solis.c:283:9: note: used in buffer access here indc = auton[iauto].maxi; ^~~~~ In file included from solis.c:47: ./solis.h:351:22: warning: 'RecPack' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char RecPack[PACKET_SIZE]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ solis.c:278:11: note: used in buffer access here indice = RecPack[3]; ^~~~~~~ solis.c:420:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] double RealPower = (RecPack[7] + RecPack[8] * 256); ^ solis.c:365:59: warning: unsafe buffer access [-Wunsafe-buffer-usage] InVoltage = RecPack[6] * ctab[imodel].m_involt194[0] + ctab[imodel].m_involt194[1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:367:59: warning: unsafe buffer access [-Wunsafe-buffer-usage] InVoltage = RecPack[6] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:371:59: warning: unsafe buffer access [-Wunsafe-buffer-usage] InVoltage = RecPack[2] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:373:59: warning: unsafe buffer access [-Wunsafe-buffer-usage] InVoltage = RecPack[2] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1] - 3.0; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:376:60: warning: unsafe buffer access [-Wunsafe-buffer-usage] BattVoltage = RecPack[ 3 ] * ctab[imodel].m_battvolt[0] + ctab[imodel].m_battvolt[1]; ^~~~~~~~~~~~~~~~~~~~~~~ solis.c:381:31: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_i[ov][0] + ctab[imodel].m_outvolt_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:381:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_i[ov][0] + ctab[imodel].m_outvolt_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:381:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_i[ov][0] + ctab[imodel].m_outvolt_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:382:31: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_i[ov][0] + ctab[imodel].m_outcurr_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:382:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_i[ov][0] + ctab[imodel].m_outcurr_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:382:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_i[ov][0] + ctab[imodel].m_outcurr_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:383:48: warning: unsafe buffer access [-Wunsafe-buffer-usage] AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_i[ov][0] + ctab[imodel].m_appp_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~ solis.c:383:79: warning: unsafe buffer access [-Wunsafe-buffer-usage] AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_i[ov][0] + ctab[imodel].m_appp_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:383:79: warning: unsafe buffer access [-Wunsafe-buffer-usage] AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_i[ov][0] + ctab[imodel].m_appp_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~ solis.c:384:55: warning: unsafe buffer access [-Wunsafe-buffer-usage] UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_i[ov][0] + ctab[imodel].m_utilp_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~ solis.c:384:87: warning: unsafe buffer access [-Wunsafe-buffer-usage] UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_i[ov][0] + ctab[imodel].m_utilp_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:384:87: warning: unsafe buffer access [-Wunsafe-buffer-usage] UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_i[ov][0] + ctab[imodel].m_utilp_i[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~ solis.c:387:31: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_s[ov][0] + ctab[imodel].m_outvolt_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:387:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_s[ov][0] + ctab[imodel].m_outvolt_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:387:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_s[ov][0] + ctab[imodel].m_outvolt_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:388:31: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_s[ov][0] + ctab[imodel].m_outcurr_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:388:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_s[ov][0] + ctab[imodel].m_outcurr_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:388:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_s[ov][0] + ctab[imodel].m_outcurr_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~ solis.c:389:48: warning: unsafe buffer access [-Wunsafe-buffer-usage] AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_s[ov][0] + ctab[imodel].m_appp_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~ solis.c:389:79: warning: unsafe buffer access [-Wunsafe-buffer-usage] AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_s[ov][0] + ctab[imodel].m_appp_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:389:79: warning: unsafe buffer access [-Wunsafe-buffer-usage] AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_s[ov][0] + ctab[imodel].m_appp_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~ solis.c:390:55: warning: unsafe buffer access [-Wunsafe-buffer-usage] UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_s[ov][0] + ctab[imodel].m_utilp_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~ solis.c:390:87: warning: unsafe buffer access [-Wunsafe-buffer-usage] UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_s[ov][0] + ctab[imodel].m_utilp_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:390:87: warning: unsafe buffer access [-Wunsafe-buffer-usage] UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_s[ov][0] + ctab[imodel].m_utilp_s[ov][1]; ^~~~~~~~~~~~~~~~~~~~~~ solis.c:391:85: warning: unsafe buffer access [-Wunsafe-buffer-usage] InCurrent = ( ctab[imodel].m_incurr[0] * 1.0 / BattVoltage ) - ( AppPower * 1.0 / ctab[imodel].m_incurr[1] ) ^~~~~~~~~~~~~~~~~~~~~ In file included from solis.c:47: ./solis.h:48:18: warning: 'nompow' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const int nompow[5] = { 1000,1500,2000,3000,1200 }; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:378:17: note: used in buffer access here NominalPower = nompow[im]; ^~~~~~ In file included from solis.c:47: ./solis.h:49:18: warning: 'inds' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const int inds[6] = { 0,0,1,2,3,4 }; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:360:7: note: used in buffer access here im = inds[imodel]; ^~~~ In file included from solis.c:47: ./solis.h:232:3: warning: 'ctab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ctab[6] = ~~^~~~~~~~~ solis.c:365:29: note: used in buffer access here InVoltage = RecPack[6] * ctab[imodel].m_involt194[0] + ctab[imodel].m_involt194[1]; ^~~~ solis.c:365:59: note: used in buffer access here InVoltage = RecPack[6] * ctab[imodel].m_involt194[0] + ctab[imodel].m_involt194[1]; ^~~~ solis.c:367:29: note: used in buffer access here InVoltage = RecPack[6] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1]; ^~~~ solis.c:367:59: note: used in buffer access here InVoltage = RecPack[6] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1]; ^~~~ solis.c:371:29: note: used in buffer access here InVoltage = RecPack[2] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1]; ^~~~ solis.c:371:59: note: used in buffer access here InVoltage = RecPack[2] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1]; ^~~~ solis.c:373:29: note: used in buffer access here InVoltage = RecPack[2] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1] - 3.0; ^~~~ solis.c:373:59: note: used in buffer access here InVoltage = RecPack[2] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1] - 3.0; ^~~~ solis.c:376:31: note: used in buffer access here BattVoltage = RecPack[ 3 ] * ctab[imodel].m_battvolt[0] + ctab[imodel].m_battvolt[1]; ^~~~ solis.c:376:60: note: used in buffer access here BattVoltage = RecPack[ 3 ] * ctab[imodel].m_battvolt[0] + ctab[imodel].m_battvolt[1]; ^~~~ solis.c:381:31: note: used in buffer access here OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_i[ov][0] + ctab[imodel].m_outvolt_i[ov][1]; ^~~~ solis.c:381:65: note: used in buffer access here OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_i[ov][0] + ctab[imodel].m_outvolt_i[ov][1]; ^~~~ solis.c:382:31: note: used in buffer access here OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_i[ov][0] + ctab[imodel].m_outcurr_i[ov][1]; ^~~~ solis.c:382:65: note: used in buffer access here OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_i[ov][0] + ctab[imodel].m_outcurr_i[ov][1]; ^~~~ solis.c:383:48: note: used in buffer access here AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_i[ov][0] + ctab[imodel].m_appp_i[ov][1]; ^~~~ solis.c:383:79: note: used in buffer access here AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_i[ov][0] + ctab[imodel].m_appp_i[ov][1]; ^~~~ solis.c:384:55: note: used in buffer access here UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_i[ov][0] + ctab[imodel].m_utilp_i[ov][1]; ^~~~ solis.c:384:87: note: used in buffer access here UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_i[ov][0] + ctab[imodel].m_utilp_i[ov][1]; ^~~~ solis.c:387:31: note: used in buffer access here OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_s[ov][0] + ctab[imodel].m_outvolt_s[ov][1]; ^~~~ solis.c:387:65: note: used in buffer access here OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_s[ov][0] + ctab[imodel].m_outvolt_s[ov][1]; ^~~~ solis.c:388:31: note: used in buffer access here OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_s[ov][0] + ctab[imodel].m_outcurr_s[ov][1]; ^~~~ solis.c:388:65: note: used in buffer access here OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_s[ov][0] + ctab[imodel].m_outcurr_s[ov][1]; ^~~~ solis.c:389:48: note: used in buffer access here AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_s[ov][0] + ctab[imodel].m_appp_s[ov][1]; ^~~~ solis.c:389:79: note: used in buffer access here AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_s[ov][0] + ctab[imodel].m_appp_s[ov][1]; ^~~~ solis.c:390:55: note: used in buffer access here UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_s[ov][0] + ctab[imodel].m_utilp_s[ov][1]; ^~~~ solis.c:390:87: note: used in buffer access here UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_s[ov][0] + ctab[imodel].m_utilp_s[ov][1]; ^~~~ solis.c:391:17: note: used in buffer access here InCurrent = ( ctab[imodel].m_incurr[0] * 1.0 / BattVoltage ) - ( AppPower * 1.0 / ctab[imodel].m_incurr[1] ) ^~~~ solis.c:391:85: note: used in buffer access here InCurrent = ( ctab[imodel].m_incurr[0] * 1.0 / BattVoltage ) - ( AppPower * 1.0 / ctab[imodel].m_incurr[1] ) ^~~~ solis.c:444:12: note: used in buffer access here InFreq = ctab[imodel].m_infreq * 1.0 / aux; ^~~~ solis.c:460:17: note: used in buffer access here if (AppPower < ctab[imodel].m_appp_offset) { ^~~~ In file included from solis.c:47: ./solis.h:351:22: warning: 'RecPack' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char RecPack[PACKET_SIZE]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ solis.c:347:24: note: used in buffer access here OverCharge = (0x80 & RecPack[20]) == 0x80; ^~~~~~~ solis.c:320:9: note: used in buffer access here Day = (RecPack[ 18 ] & 0x1F); ^~~~~~~ solis.c:344:23: note: used in buffer access here InversorOn = (0x08 & RecPack[20]) == 0x08; ^~~~~~~ solis.c:345:23: note: used in buffer access here SuperHeat = (0x10 & RecPack[20]) == 0x10; ^~~~~~~ solis.c:346:24: note: used in buffer access here SourceFail = (0x20 & RecPack[20]) == 0x20; ^~~~~~~ solis.c:349:15: note: used in buffer access here if ((0x40 & RecPack[20]) == 0x40) ^~~~~~~ solis.c:354:23: note: used in buffer access here Temperature = 0x7F & RecPack[4]; ^~~~~~~ solis.c:318:10: note: used in buffer access here Year = (RecPack[ 19 ] & 0x0F) + BASE_YEAR; ^~~~~~~ solis.c:319:11: note: used in buffer access here Month = (RecPack[ 19 ] & 0xF0) >> 4; ^~~~~~~ solis.c:337:10: note: used in buffer access here imin = RecPack[10]; ^~~~~~~ solis.c:338:10: note: used in buffer access here isec = RecPack[9]; ^~~~~~~ solis.c:321:15: note: used in buffer access here DaysOnWeek = RecPack[17]; ^~~~~~~ solis.c:336:10: note: used in buffer access here ihour = RecPack[11]; ^~~~~~~ solis.c:328:11: note: used in buffer access here dhour = RecPack[15]; ^~~~~~~ solis.c:332:11: note: used in buffer access here lmin = RecPack[14]; ^~~~~~~ solis.c:331:11: note: used in buffer access here lhour = RecPack[13]; ^~~~~~~ solis.c:329:11: note: used in buffer access here dmin = RecPack[16]; ^~~~~~~ solis.c:340:15: note: used in buffer access here if ((0x01 & RecPack[20]) == 0x01) ^~~~~~~ solis.c:343:24: note: used in buffer access here CriticBatt = (0x04 & RecPack[20]) == 0x04; ^~~~~~~ solis.c:355:13: note: used in buffer access here if (0x80 & RecPack[4]) ^~~~~~~ solis.c:364:7: note: used in buffer access here if (RecPack[6] >= 194) ^~~~~~~ solis.c:365:16: note: used in buffer access here InVoltage = RecPack[6] * ctab[imodel].m_involt194[0] + ctab[imodel].m_involt194[1]; ^~~~~~~ solis.c:367:16: note: used in buffer access here InVoltage = RecPack[6] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1]; ^~~~~~~ solis.c:370:8: note: used in buffer access here if ((RecPack[20] & 0x1) == 0) /* IsOutVoltage 220 */ ^~~~~~~ solis.c:371:16: note: used in buffer access here InVoltage = RecPack[2] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1]; ^~~~~~~ solis.c:373:16: note: used in buffer access here InVoltage = RecPack[2] * ctab[imodel].m_involt193[0] + ctab[imodel].m_involt193[1] - 3.0; ^~~~~~~ solis.c:376:16: note: used in buffer access here BattVoltage = RecPack[ 3 ] * ctab[imodel].m_battvolt[0] + ctab[imodel].m_battvolt[1]; ^~~~~~~ solis.c:381:16: note: used in buffer access here OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_i[ov][0] + ctab[imodel].m_outvolt_i[ov][1]; ^~~~~~~ solis.c:382:16: note: used in buffer access here OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_i[ov][0] + ctab[imodel].m_outcurr_i[ov][1]; ^~~~~~~ solis.c:383:16: note: used in buffer access here AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_i[ov][0] + ctab[imodel].m_appp_i[ov][1]; ^~~~~~~ solis.c:383:31: note: used in buffer access here AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_i[ov][0] + ctab[imodel].m_appp_i[ov][1]; ^~~~~~~ solis.c:384:17: note: used in buffer access here UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_i[ov][0] + ctab[imodel].m_utilp_i[ov][1]; ^~~~~~~ solis.c:384:32: note: used in buffer access here UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_i[ov][0] + ctab[imodel].m_utilp_i[ov][1]; ^~~~~~~ solis.c:387:16: note: used in buffer access here OutVoltage = RecPack[ 1 ] * ctab[imodel].m_outvolt_s[ov][0] + ctab[imodel].m_outvolt_s[ov][1]; ^~~~~~~ solis.c:388:16: note: used in buffer access here OutCurrent = RecPack[ 5 ] * ctab[imodel].m_outcurr_s[ov][0] + ctab[imodel].m_outcurr_s[ov][1]; ^~~~~~~ solis.c:389:16: note: used in buffer access here AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_s[ov][0] + ctab[imodel].m_appp_s[ov][1]; ^~~~~~~ solis.c:389:31: note: used in buffer access here AppPower = ( RecPack[ 5 ] * RecPack[ 1 ] ) * ctab[imodel].m_appp_s[ov][0] + ctab[imodel].m_appp_s[ov][1]; ^~~~~~~ solis.c:390:17: note: used in buffer access here UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_s[ov][0] + ctab[imodel].m_utilp_s[ov][1]; ^~~~~~~ solis.c:390:32: note: used in buffer access here UtilPower = ( RecPack[ 7 ] + RecPack[ 8 ] * 256 ) * ctab[imodel].m_utilp_s[ov][0] + ctab[imodel].m_utilp_s[ov][1]; ^~~~~~~ solis.c:396:22: note: used in buffer access here int configRelay = (RecPack[6] & 0x38) >> 3; ^~~~~~~ solis.c:409:8: note: used in buffer access here if (RecPack[20] == 0) { ^~~~~~~ solis.c:410:16: note: used in buffer access here double a = RecPack[1] * 2; ^~~~~~~ solis.c:413:18: note: used in buffer access here OutVoltage = RecPack[1] * a * TENSAO_SAIDA_F1_MI[configRelay] + TENSAO_SAIDA_F2_MI[configRelay]; ^~~~~~~ solis.c:416:48: note: used in buffer access here OutCurrent = (float)(corrente_saida_F1_MR * RecPack[5] + corrente_saida_F2_MR); ^~~~~~~ solis.c:417:17: note: used in buffer access here OutVoltage = RecPack[1] * TENSAO_SAIDA_F1_MR[configRelay] + TENSAO_SAIDA_F2_MR[configRelay]; ^~~~~~~ solis.c:420:24: note: used in buffer access here double RealPower = (RecPack[7] + RecPack[8] * 256); ^~~~~~~ solis.c:420:37: note: used in buffer access here double RealPower = (RecPack[7] + RecPack[8] * 256); ^~~~~~~ solis.c:442:9: note: used in buffer access here aux = (RecPack[ 21 ] + RecPack[ 22 ] * 256); ^~~~~~~ solis.c:442:25: note: used in buffer access here aux = (RecPack[ 21 ] + RecPack[ 22 ] * 256); ^~~~~~~ solis.c:397:10: warning: 'TENSAO_SAIDA_F1_MR' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] double TENSAO_SAIDA_F1_MR[8] = { 1.1549, 1.0925, 0.0, 0.0, 1.0929, 1.0885, 0.0, 0.8654262224145391 }; ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:417:30: note: used in buffer access here OutVoltage = RecPack[1] * TENSAO_SAIDA_F1_MR[configRelay] + TENSAO_SAIDA_F2_MR[configRelay]; ^~~~~~~~~~~~~~~~~~ solis.c:398:10: warning: 'TENSAO_SAIDA_F2_MR' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] double TENSAO_SAIDA_F2_MR[8] = { -6.9157, 11.026, 10.43, 0.0, -0.6109, 12.18, 0.0, 13.677}; ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:417:64: note: used in buffer access here OutVoltage = RecPack[1] * TENSAO_SAIDA_F1_MR[configRelay] + TENSAO_SAIDA_F2_MR[configRelay]; ^~~~~~~~~~~~~~~~~~ solis.c:400:16: warning: 'TENSAO_SAIDA_F2_MI' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const double TENSAO_SAIDA_F2_MI[8] ={ 5.59, 9.47, 13.7, 0.0, 0.0, 0.0, 0.0, 0.0 }; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:413:70: note: used in buffer access here OutVoltage = RecPack[1] * a * TENSAO_SAIDA_F1_MI[configRelay] + TENSAO_SAIDA_F2_MI[configRelay]; ^~~~~~~~~~~~~~~~~~ solis.c:401:16: warning: 'TENSAO_SAIDA_F1_MI' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const double TENSAO_SAIDA_F1_MI[8] = { 7.9, 9.1, 17.6, 0.0, 0.0, 0.0, 0.0, 0.0 }; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:413:36: note: used in buffer access here OutVoltage = RecPack[1] * a * TENSAO_SAIDA_F1_MI[configRelay] + TENSAO_SAIDA_F2_MI[configRelay]; ^~~~~~~~~~~~~~~~~~ In file included from solis.c:47: ./solis.h:351:22: warning: 'RecPack' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char RecPack[PACKET_SIZE]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ solis.c:618:16: note: used in buffer access here CheckSum += RecPack[i]; ^~~~~~~ solis.c:620:94: note: used in buffer access here upsdebugx(4, "%s: calculated checksum = 0x%02x, RecPack[23] = 0x%02x", __func__, CheckSum, RecPack[23]); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ solis.c:648:5: note: used in buffer access here (RecPack[24] == 254) && ^~~~~~~ solis.c:649:5: note: used in buffer access here (RecPack[23] == CheckSum)) { ^~~~~~~ solis.c:690:13: warning: 'DaysOfWeek' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char DaysOfWeek[7][4]={"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ solis.c:711:16: note: used in buffer access here strcpy(seman, DaysOfWeek[weekn]); ^~~~~~~~~~ 56 warnings generated. depbase=`echo clone.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT clone.o -MD -MP -MF $depbase.Tpo -c -o clone.o clone.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo clone-outlet.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT clone-outlet.o -MD -MP -MF $depbase.Tpo -c -o clone-outlet.o clone-outlet.c &&\ mv -f $depbase.Tpo $depbase.Po powerp-bin.c:160:3: warning: 'cmdtab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } cmdtab[] = { ~~^~~~~~~~~~~~ powerp-bin.c:262:14: note: used in buffer access here for (i = 0; cmdtab[i].cmd != NULL; i++) { ^~~~~~ powerp-bin.c:265:27: note: used in buffer access here if (strcasecmp(cmdname, cmdtab[i].cmd)) { ^~~~~~ powerp-bin.c:269:24: note: used in buffer access here ret = powpan_command(cmdtab[i].command, cmdtab[i].len); ^~~~~~ powerp-bin.c:272:25: note: used in buffer access here (ret == (ssize_t)(cmdtab[i].len - 1)) && ^~~~~~ powerp-bin.c:269:43: note: used in buffer access here ret = powpan_command(cmdtab[i].command, cmdtab[i].len); ^~~~~~ powerp-bin.c:270:10: note: used in buffer access here assert(cmdtab[i].len < SSIZE_MAX); ^~~~~~ /usr/include/assert.h:55:21: note: expanded from macro 'assert' #define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, \ ^ powerp-bin.c:273:31: note: used in buffer access here (!memcmp(powpan_answer, cmdtab[i].command, cmdtab[i].len - 1)) ^~~~~~ powerp-bin.c:273:50: note: used in buffer access here (!memcmp(powpan_answer, cmdtab[i].command, cmdtab[i].len - 1)) ^~~~~~ powerp-bin.c:302:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; vartab[i].map[type][j].val != NULL; j++) { ^~~~~~~~~~~~~~~~~~~ powerp-bin.c:302:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; vartab[i].map[type][j].val != NULL; j++) { ^~~~~~~~~~~~~ powerp-bin.c:304:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (strcasecmp(val, vartab[i].map[type][j].val)) { ^~~~~~~~~~~~~~~~~~~ powerp-bin.c:304:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (strcasecmp(val, vartab[i].map[type][j].val)) { ^~~~~~~~~~~~~ powerp-bin.c:318:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] vartab[i].map[type][j].command); ^~~~~~~~~~~~~~~~~~~ powerp-bin.c:318:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] vartab[i].map[type][j].command); ^~~~~~~~~~~~~ powerp-bin.c:147:3: warning: 'vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } vartab[] = { ~~^~~~~~~~~~~~ powerp-bin.c:304:24: note: used in buffer access here if (strcasecmp(val, vartab[i].map[type][j].val)) { ^~~~~~ powerp-bin.c:302:15: note: used in buffer access here for (j = 0; vartab[i].map[type][j].val != NULL; j++) { ^~~~~~ powerp-bin.c:291:15: note: used in buffer access here for (i = 0; vartab[i].var != NULL; i++) { ^~~~~~ powerp-bin.c:293:27: note: used in buffer access here if (strcasecmp(varname, vartab[i].var)) { ^~~~~~ powerp-bin.c:317:39: note: used in buffer access here snprintf(command, sizeof(command), vartab[i].set, ^~~~~~ powerp-bin.c:318:5: note: used in buffer access here vartab[i].map[type][j].command); ^~~~~~ powerp-bin.c:386:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; vartab[i].map[type][j].val != NULL; j++) { ^~~~~~~~~~~~~~~~~~~ powerp-bin.c:386:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; vartab[i].map[type][j].val != NULL; j++) { ^~~~~~~~~~~~~ powerp-bin.c:388:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (vartab[i].map[type][j].command != powpan_answer[1]) { ^~~~~~~~~~~~~~~~~~~ powerp-bin.c:388:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (vartab[i].map[type][j].command != powpan_answer[1]) { ^~~~~~~~~~~~~ powerp-bin.c:392:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] dstate_setinfo(vartab[i].var, "%s", vartab[i].map[type][j].val); ^~~~~~~~~~~~~~~~~~~ powerp-bin.c:392:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] dstate_setinfo(vartab[i].var, "%s", vartab[i].map[type][j].val); ^~~~~~~~~~~~~ powerp-bin.c:404:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; vartab[i].map[type][j].val != NULL; j++) { ^~~~~~~~~~~~~~~~~~~ powerp-bin.c:404:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; vartab[i].map[type][j].val != NULL; j++) { ^~~~~~~~~~~~~ powerp-bin.c:405:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] dstate_addenum(vartab[i].var, "%s", vartab[i].map[type][j].val); ^~~~~~~~~~~~~~~~~~~ powerp-bin.c:405:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] dstate_addenum(vartab[i].var, "%s", vartab[i].map[type][j].val); ^~~~~~~~~~~~~ powerp-bin.c:64:22: warning: 'powpan_answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char powpan_answer[SMALLBUF]; ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ powerp-bin.c:352:27: note: used in buffer access here if ((s = strtok((char *)&powpan_answer[1], ".")) != NULL) { ^~~~~~~~~~~~~ powerp-bin.c:388:42: note: used in buffer access here if (vartab[i].map[type][j].command != powpan_answer[1]) { ^~~~~~~~~~~~~ powerp-bin.c:398:5: note: used in buffer access here powpan_answer[1], vartab[i].var); ^~~~~~~~~~~~~ powerp-bin.c:128:3: warning: 'modeltab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } modeltab[] = { ~~^~~~~~~~~~~~~~ powerp-bin.c:360:38: note: used in buffer access here dstate_setinfo("ups.model", "%s", modeltab[i].model); ^~~~~~~~ powerp-bin.c:354:20: note: used in buffer access here if (!strncmp(s, modeltab[i].val, strlen(modeltab[i].val))) { ^~~~~~~~ powerp-bin.c:358:7: note: used in buffer access here if (modeltab[i].model) { ^~~~~~~~ powerp-bin.c:354:44: note: used in buffer access here if (!strncmp(s, modeltab[i].val, strlen(modeltab[i].val))) { ^~~~~~~~ powerp-bin.c:353:15: note: used in buffer access here for (i = 0; modeltab[i].val != NULL; i++) { ^~~~~~~~ powerp-bin.c:147:3: warning: 'vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } vartab[] = { ~~^~~~~~~~~~~~ powerp-bin.c:380:14: note: used in buffer access here for (i = 0; vartab[i].var != NULL; i++) { ^~~~~~ powerp-bin.c:382:22: note: used in buffer access here if (powpan_command(vartab[i].get, 3) < 2) { ^~~~~~ powerp-bin.c:386:15: note: used in buffer access here for (j = 0; vartab[i].map[type][j].val != NULL; j++) { ^~~~~~ powerp-bin.c:388:8: note: used in buffer access here if (vartab[i].map[type][j].command != powpan_answer[1]) { ^~~~~~ powerp-bin.c:392:19: note: used in buffer access here dstate_setinfo(vartab[i].var, "%s", vartab[i].map[type][j].val); ^~~~~~ powerp-bin.c:392:40: note: used in buffer access here dstate_setinfo(vartab[i].var, "%s", vartab[i].map[type][j].val); ^~~~~~ powerp-bin.c:396:22: note: used in buffer access here if (dstate_getinfo(vartab[i].var) == NULL) { ^~~~~~ powerp-bin.c:398:23: note: used in buffer access here powpan_answer[1], vartab[i].var); ^~~~~~ powerp-bin.c:402:19: note: used in buffer access here dstate_setflags(vartab[i].var, ST_FLAG_RW); ^~~~~~ powerp-bin.c:404:15: note: used in buffer access here for (j = 0; vartab[i].map[type][j].val != NULL; j++) { ^~~~~~ powerp-bin.c:405:19: note: used in buffer access here dstate_addenum(vartab[i].var, "%s", vartab[i].map[type][j].val); ^~~~~~ powerp-bin.c:405:40: note: used in buffer access here dstate_addenum(vartab[i].var, "%s", vartab[i].map[type][j].val); ^~~~~~ powerp-bin.c:160:3: warning: 'cmdtab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } cmdtab[] = { ~~^~~~~~~~~~~~ powerp-bin.c:377:17: note: used in buffer access here dstate_addcmd(cmdtab[i].cmd); ^~~~~~ powerp-bin.c:376:14: note: used in buffer access here for (i = 0; cmdtab[i].cmd != NULL; i++) { ^~~~~~ powerp-bin.c:343:8: warning: 's' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *s; ~~~~~~~~~^ powerp-bin.c:373:59: note: used in buffer access here dstate_setinfo("ups.firmware", "%c.%c%c%c", s[0], s[1], s[2], s[3]); ^ powerp-bin.c:373:53: note: used in buffer access here dstate_setinfo("ups.firmware", "%c.%c%c%c", s[0], s[1], s[2], s[3]); ^ powerp-bin.c:373:65: note: used in buffer access here dstate_setinfo("ups.firmware", "%c.%c%c%c", s[0], s[1], s[2], s[3]); ^ powerp-bin.c:467:26: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((status->flags[0] + status->flags[1]) != 255) { ^~~~~~~~~~~~~ powerp-bin.c:472:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((status->flags[2] + status->flags[3]) != 255) { ^~~~~~~~~~~~~ powerp-bin.c:472:26: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((status->flags[2] + status->flags[3]) != 255) { ^~~~~~~~~~~~~ powerp-bin.c:64:22: warning: 'powpan_answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char powpan_answer[SMALLBUF]; ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ powerp-bin.c:641:25: note: used in buffer access here if (!strncmp((char *)&powpan_answer[1], "OP", 2)) { ^~~~~~~~~~~~~ powerp-bin.c:646:25: note: used in buffer access here if (!strncmp((char *)&powpan_answer[1], "rO", 2)) { ^~~~~~~~~~~~~ 27 warnings generated. depbase=`echo ivtscd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT ivtscd.o -MD -MP -MF $depbase.Tpo -c -o ivtscd.o ivtscd.c &&\ mv -f $depbase.Tpo $depbase.Po powerp-txt.c:75:3: warning: 'cmdtab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } cmdtab[] = { ~~^~~~~~~~~~~~ powerp-txt.c:147:14: note: used in buffer access here for (i = 0; cmdtab[i].cmd != NULL; i++) { ^~~~~~ powerp-txt.c:149:27: note: used in buffer access here if (strcasecmp(cmdname, cmdtab[i].cmd)) { ^~~~~~ powerp-txt.c:153:23: note: used in buffer access here if ((powpan_command(cmdtab[i].command) == 2) && (!strcasecmp(powpan_answer, "#0"))) { ^~~~~~ powerp-txt.c:65:3: warning: 'vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } vartab[] = { ~~^~~~~~~~~~~~ powerp-txt.c:217:38: note: used in buffer access here snprintf(command, sizeof(command), vartab[i].set, atoi(val)); ^~~~~~ powerp-txt.c:197:15: note: used in buffer access here for (i = 0; vartab[i].var != NULL; i++) { ^~~~~~ powerp-txt.c:199:27: note: used in buffer access here if (strcasecmp(varname, vartab[i].var)) { ^~~~~~ powerp-txt.c:59:13: warning: 'powpan_answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char powpan_answer[SMALLBUF]; ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ powerp-txt.c:283:20: note: used in buffer access here if ((s = strtok(&powpan_answer[1], ",")) != NULL) { ^~~~~~~~~~~~~ powerp-txt.c:247:19: note: used in buffer access here if ((s = strtok(&powpan_answer[1], ",")) != NULL) { ^~~~~~~~~~~~~ powerp-txt.c:266:20: note: used in buffer access here if ((s = strtok(&powpan_answer[1], ",")) != NULL) { ^~~~~~~~~~~~~ powerp-txt.c:306:20: note: used in buffer access here if ((s = strtok(&powpan_answer[1], ",")) != NULL) { ^~~~~~~~~~~~~ powerp-txt.c:334:20: note: used in buffer access here if ((s = strtok(&powpan_answer[1], ",")) != NULL) { ^~~~~~~~~~~~~ powerp-txt.c:65:3: warning: 'vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } vartab[] = { ~~^~~~~~~~~~~~ powerp-txt.c:324:14: note: used in buffer access here for (i = 0; vartab[i].var != NULL; i++) { ^~~~~~ powerp-txt.c:326:23: note: used in buffer access here if (!dstate_getinfo(vartab[i].var)) { ^~~~~~ powerp-txt.c:330:22: note: used in buffer access here if (powpan_command(vartab[i].get) < 1) { ^~~~~~ powerp-txt.c:335:20: note: used in buffer access here dstate_setflags(vartab[i].var, ST_FLAG_RW); ^~~~~~ powerp-txt.c:336:19: note: used in buffer access here dstate_addenum(vartab[i].var, "%li", strtol(s, NULL, 10)); ^~~~~~ powerp-txt.c:340:19: note: used in buffer access here dstate_addenum(vartab[i].var, "%li", strtol(s, NULL, 10)); ^~~~~~ powerp-txt.c:75:3: warning: 'cmdtab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } cmdtab[] = { ~~^~~~~~~~~~~~ powerp-txt.c:321:17: note: used in buffer access here dstate_addcmd(cmdtab[i].cmd); ^~~~~~ powerp-txt.c:320:14: note: used in buffer access here for (i = 0; cmdtab[i].cmd != NULL; i++) { ^~~~~~ powerp-txt.c:59:13: warning: 'powpan_answer' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char powpan_answer[SMALLBUF]; ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ powerp-txt.c:459:29: note: used in pointer arithmetic here upsdebug_hex(4, " \\_", powpan_answer+35, 23); ^~~~~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ powerp-txt.c:449:32: note: used in pointer arithmetic here ret = ser_get_buf_len(upsfd, powpan_answer+35, 23, SER_WAIT_SEC, SER_WAIT_USEC); ^~~~~~~~~~~~~ powerp-txt.c:453:29: note: used in pointer arithmetic here upsdebug_hex(4, " \\_", powpan_answer+35, 23); ^~~~~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ 6 warnings generated. depbase=`echo apcsmart.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT apcsmart.o -MD -MP -MF $depbase.Tpo -c -o apcsmart.o apcsmart.c &&\ mv -f $depbase.Tpo $depbase.Po clone.c:72:46: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int parse_args(size_t numargs, char **arg) ~~~~~~~^~~ clone.c:105:18: note: used in buffer access here dstate_delinfo(arg[1]); ^~~ clone.c:116:20: note: used in buffer access here if (!strncasecmp(arg[1], "driver.", 7) || ^~~ clone.c:117:17: note: used in buffer access here !strcasecmp(arg[1], "battery.charge.low") || ^~~ clone.c:120:18: note: used in buffer access here !strncasecmp(arg[1], "ups.timer.", 10)) { ^~~ clone.c:118:17: note: used in buffer access here !strcasecmp(arg[1], "battery.runtime.low") || ^~~ clone.c:119:18: note: used in buffer access here !strncasecmp(arg[1], "ups.delay.", 10) || ^~~ clone.c:125:19: note: used in buffer access here if (!strcasecmp(arg[1], "ups.status")) { ^~~ clone.c:126:51: note: used in buffer access here snprintf(ups.status, sizeof(ups.status), "%s", arg[2]); ^~~ clone.c:136:19: note: used in buffer access here if (!strcasecmp(arg[1], "battery.charge")) { ^~~ clone.c:137:32: note: used in buffer access here battery.charge.act = strtod(arg[2], NULL); ^~~ clone.c:144:19: note: used in buffer access here if (!strcasecmp(arg[1], "battery.runtime")) { ^~~ clone.c:145:33: note: used in buffer access here battery.runtime.act = strtod(arg[2], NULL); ^~~ clone.c:152:18: note: used in buffer access here dstate_setinfo(arg[1], "%s", arg[2]); ^~~ clone.c:152:32: note: used in buffer access here dstate_setinfo(arg[1], "%s", arg[2]); ^~~ clone.c:287:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ clone.c:310:33: note: used in buffer access here switch (pconf_char(&sock_ctx, buf[i])) ^~~ 2 warnings generated. depbase=`echo apcsmart_tabs.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT apcsmart_tabs.o -MD -MP -MF $depbase.Tpo -c -o apcsmart_tabs.o apcsmart_tabs.c &&\ mv -f $depbase.Tpo $depbase.Po blazer_ser.c:158:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VEOL] = '\r'; ^~~~~~~~ blazer_ser.c:159:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VERASE] = _POSIX_VDISABLE; ^~~~~~~~ blazer_ser.c:160:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VINTR] = _POSIX_VDISABLE; ^~~~~~~~ blazer_ser.c:161:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VKILL] = _POSIX_VDISABLE; ^~~~~~~~ blazer_ser.c:162:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VQUIT] = _POSIX_VDISABLE; ^~~~~~~~ blazer_ser.c:163:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSUSP] = _POSIX_VDISABLE; ^~~~~~~~ blazer_ser.c:164:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTART] = _POSIX_VDISABLE; ^~~~~~~~ blazer_ser.c:165:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTOP] = _POSIX_VDISABLE; ^~~~~~~~ blazer_ser.c:128:4: warning: 'cablepower' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } cablepower[] = { ~~^~~~~~~~~~~~~~~~ blazer_ser.c:172:21: note: used in buffer access here for (i = 0; val && cablepower[i].val; i++) { ^~~~~~~~~~ blazer_ser.c:174:24: note: used in buffer access here if (!strcasecmp(val, cablepower[i].val)) { ^~~~~~~~~~ blazer_ser.c:179:7: note: used in buffer access here if (!cablepower[i].val) { ^~~~~~~~~~ blazer_ser.c:183:21: note: used in buffer access here ser_set_dtr(upsfd, cablepower[i].dtr); ^~~~~~~~~~ blazer_ser.c:184:21: note: used in buffer access here ser_set_rts(upsfd, cablepower[i].rts); ^~~~~~~~~~ 9 warnings generated. depbase=`echo apcsmart-old.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT apcsmart-old.o -MD -MP -MF $depbase.Tpo -c -o apcsmart-old.o apcsmart-old.c &&\ mv -f $depbase.Tpo $depbase.Po clone-outlet.c:70:46: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int parse_args(size_t numargs, char **arg) ~~~~~~~^~~ clone-outlet.c:103:18: note: used in buffer access here dstate_delinfo(arg[1]); ^~~ clone-outlet.c:114:20: note: used in buffer access here if (!strncasecmp(arg[1], "driver.", 7)) { ^~~ clone-outlet.c:119:19: note: used in buffer access here if (!strcasecmp(arg[1], prefix.delay.shutdown)) { ^~~ clone-outlet.c:124:35: note: used in buffer access here outlet.timer.shutdown = strtol(arg[2], NULL, 10); ^~~ clone-outlet.c:120:35: note: used in buffer access here outlet.delay.shutdown = strtol(arg[2], NULL, 10); ^~~ clone-outlet.c:123:19: note: used in buffer access here if (!strcasecmp(arg[1], prefix.timer.shutdown)) { ^~~ clone-outlet.c:127:19: note: used in buffer access here if (!strcasecmp(arg[1], prefix.status)) { ^~~ clone-outlet.c:128:31: note: used in buffer access here outlet.status = strcasecmp(arg[2], "off"); ^~~ clone-outlet.c:131:19: note: used in buffer access here if (!strcasecmp(arg[1], "ups.status")) { ^~~ clone-outlet.c:132:51: note: used in buffer access here snprintf(ups.status, sizeof(ups.status), "%s", arg[2]); ^~~ clone-outlet.c:136:18: note: used in buffer access here dstate_setinfo(arg[1], "%s", arg[2]); ^~~ clone-outlet.c:136:32: note: used in buffer access here dstate_setinfo(arg[1], "%s", arg[2]); ^~~ clone-outlet.c:271:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ clone-outlet.c:294:33: note: used in buffer access here switch (pconf_char(&sock_ctx, buf[i])) ^~~ 2 warnings generated. cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT apcupsd_ups-apcupsd-ups.o -MD -MP -MF .deps/apcupsd_ups-apcupsd-ups.Tpo -c -o apcupsd_ups-apcupsd-ups.o `test -f 'apcupsd-ups.c' || echo './'`apcupsd-ups.c blazer.c:140:15: warning: 'packs' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const double packs[] = { ~~~~~~~~~~~~~^~~~~~~~~~~ blazer.c:151:14: note: used in buffer access here for (i = 0; packs[i] > 0; i++) { ^~~~~ blazer.c:153:7: note: used in buffer access here if (packs[i] * batt.volt.act > 1.2 * batt.volt.nom) { ^~~~~ blazer.c:157:7: note: used in buffer access here if (packs[i] * batt.volt.act < 0.8 * batt.volt.nom) { ^~~~~ blazer.c:162:16: note: used in buffer access here batt.packs = packs[i]; ^~~~~ blazer.c:176:4: warning: 'status' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } status[] = { ~~^~~~~~~~~~~~ blazer.c:227:33: note: used in buffer access here dstate_setinfo(status[i].var, status[i].fmt, status[i].conv(val, NULL)); ^~~~~~ blazer.c:206:49: note: used in buffer access here for (i = 0, val = strtok_r(buf+1, " ", &last); status[i].var; i++, val = strtok_r(NULL, " \r\n", &last)) { ^~~~~~ blazer.c:227:18: note: used in buffer access here dstate_setinfo(status[i].var, status[i].fmt, status[i].conv(val, NULL)); ^~~~~~ blazer.c:227:48: note: used in buffer access here dstate_setinfo(status[i].var, status[i].fmt, status[i].conv(val, NULL)); ^~~~~~ blazer.c:187:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF], *val, *last = NULL; ~~~~~~~~^~~~~~~~~~~~~ blazer.c:206:29: note: used in pointer arithmetic here for (i = 0, val = strtok_r(buf+1, " ", &last); status[i].var; i++, val = strtok_r(NULL, " \r\n", &last)) { ^~~ blazer.c:187:23: warning: 'val' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char buf[SMALLBUF], *val, *last = NULL; ~~~~~~~~~~~~~~~~~~~~~~~~^~~ blazer.c:244:6: note: used in buffer access here if (val[7] == '1') { /* Beeper On */ ^~~ blazer.c:250:6: note: used in buffer access here if (val[4] == '1') { /* UPS Type is Standby (0 is On_line) */ ^~~ blazer.c:266:6: note: used in buffer access here if (val[1] == '1') { /* Battery Low */ ^~~ blazer.c:270:6: note: used in buffer access here if (val[2] == '1') { /* Bypass/Boost or Buck Active */ ^~~ blazer.c:290:6: note: used in buffer access here if (val[5] == '1') { /* Test in Progress */ ^~~ blazer.c:296:6: note: used in buffer access here if (val[3] == '1') { /* UPS Failed */ ^~~ blazer.c:300:6: note: used in buffer access here if (val[6] == '1') { /* Shutdown Active */ ^~~ blazer.c:319:4: warning: 'rating' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } rating[] = { ~~^~~~~~~~~~~~ blazer.c:367:48: note: used in buffer access here dstate_setinfo(rating[i].var, rating[i].fmt, rating[i].conv(val, NULL)); ^~~~~~ blazer.c:367:33: note: used in buffer access here dstate_setinfo(rating[i].var, rating[i].fmt, rating[i].conv(val, NULL)); ^~~~~~ blazer.c:346:49: note: used in buffer access here for (i = 0, val = strtok_r(buf+1, " ", &last); rating[i].var; i++, val = strtok_r(NULL, " \r\n", &last)) { ^~~~~~ blazer.c:367:18: note: used in buffer access here dstate_setinfo(rating[i].var, rating[i].fmt, rating[i].conv(val, NULL)); ^~~~~~ blazer.c:327:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF], *val, *last = NULL; ~~~~~~~~^~~~~~~~~~~~~ blazer.c:346:29: note: used in pointer arithmetic here for (i = 0, val = strtok_r(buf+1, " ", &last); rating[i].var; i++, val = strtok_r(NULL, " \r\n", &last)) { ^~~ blazer.c:383:4: warning: 'information' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } information[] = { ~~^~~~~~~~~~~~~~~~~ blazer.c:412:38: note: used in buffer access here snprintf(val, sizeof(val), "%.*s", information[i].len, &buf[index]); ^~~~~~~~~~~ blazer.c:409:54: note: used in buffer access here for (i = 0, index = 1; information[i].var; index += information[i++].len+1) { ^~~~~~~~~~~ blazer.c:414:18: note: used in buffer access here dstate_setinfo(information[i].var, "%s", str_rtrim(val, ' ')); ^~~~~~~~~~~ blazer.c:409:25: note: used in buffer access here for (i = 0, index = 1; information[i].var; index += information[i++].len+1) { ^~~~~~~~~~~ blazer.c:390:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ blazer.c:412:59: note: used in buffer access here snprintf(val, sizeof(val), "%.*s", information[i].len, &buf[index]); ^~~ blazer.c:426:4: warning: 'instcmd' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } instcmd[] = { ~~^~~~~~~~~~~~~ blazer.c:444:27: note: used in buffer access here if (strcasecmp(cmdname, instcmd[i].cmd)) { ^~~~~~~ blazer.c:448:36: note: used in buffer access here snprintf(buf, sizeof(buf), "%s", instcmd[i].ups); ^~~~~~~ blazer.c:442:14: note: used in buffer access here for (i = 0; instcmd[i].cmd; i++) { ^~~~~~~ blazer.c:80:3: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } command[] = { ~~^~~~~~~~~~~~~ blazer.c:708:18: note: used in buffer access here for (proto = 0; command[proto].status; proto++) { ^~~~~~~ blazer.c:712:40: note: used in buffer access here if (protocol && strcasecmp(protocol, command[proto].name)) { ^~~~~~~ blazer.c:713:44: note: used in buffer access here upsdebugx(2, "Skipping %s protocol...", command[proto].name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ blazer.c:732:65: note: used in buffer access here upslogx(LOG_INFO, "Supported UPS detected with %s protocol", command[proto].name); ^~~~~~~ blazer.c:717:41: note: used in buffer access here upsdebugx(2, "Trying %s protocol...", command[proto].name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ blazer.c:721:24: note: used in buffer access here ret = blazer_status(command[proto].status); ^~~~~~~ blazer.c:737:7: note: used in buffer access here if (!command[proto].status) { ^~~~~~~ blazer.c:741:6: note: used in buffer access here if (command[proto].rating && !testvar("norating")) { ^~~~~~~ blazer.c:746:24: note: used in buffer access here ret = blazer_rating(command[proto].rating); ^~~~~~~ blazer.c:761:6: note: used in buffer access here if (command[proto].vendor && !testvar("novendor")) { ^~~~~~~ blazer.c:766:24: note: used in buffer access here ret = blazer_vendor(command[proto].vendor); ^~~~~~~ blazer.c:80:3: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } command[] = { ~~^~~~~~~~~~~~~ blazer.c:805:20: note: used in buffer access here if (blazer_status(command[proto].status)) { ^~~~~~~ 11 warnings generated. depbase=`echo riello.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT riello.o -MD -MP -MF $depbase.Tpo -c -o riello.o riello.c &&\ mv -f $depbase.Tpo $depbase.Po ivtscd.c:56:7: warning: 'reply' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char reply[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~~~ ivtscd.c:99:10: note: used in buffer access here switch(reply[i]) ^~~~~ ivtscd.c:102:4: note: used in buffer access here reply[j++] = '.'; ^~~~~ ivtscd.c:108:4: note: used in buffer access here reply[j++] = reply[i]; ^~~~~ ivtscd.c:108:17: note: used in buffer access here reply[j++] = reply[i]; ^~~~~ ivtscd.c:113:2: note: used in buffer access here reply[j++] = '\0'; ^~~~~ ivtscd.c:231:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VEOL] = _POSIX_VDISABLE; ^~~~~~~~ ivtscd.c:232:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VERASE] = _POSIX_VDISABLE; ^~~~~~~~ ivtscd.c:233:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VINTR] = _POSIX_VDISABLE; ^~~~~~~~ ivtscd.c:234:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VKILL] = _POSIX_VDISABLE; ^~~~~~~~ ivtscd.c:235:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VQUIT] = _POSIX_VDISABLE; ^~~~~~~~ ivtscd.c:236:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSUSP] = _POSIX_VDISABLE; ^~~~~~~~ ivtscd.c:237:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTART] = _POSIX_VDISABLE; ^~~~~~~~ ivtscd.c:238:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTOP] = _POSIX_VDISABLE; ^~~~~~~~ 9 warnings generated. depbase=`echo riello_ser.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT riello_ser.o -MD -MP -MF $depbase.Tpo -c -o riello_ser.o riello_ser.c &&\ mv -f $depbase.Tpo $depbase.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx.Tpo -c -o nutdrv_qx-nutdrv_qx.o `test -f 'nutdrv_qx.c' || echo './'`nutdrv_qx.c In file included from apcupsd-ups.c:28: ./apcupsd-ups.h:103:23: warning: 'nut_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static apcuspd_info_t nut_data[] = ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcupsd-ups.c:54:10: note: used in buffer access here for(i=0;nut_data[i].info_type;i++)if(!(nut_data[i].apcupsd_item)) ^~~~~~~~ apcupsd-ups.c:54:41: note: used in buffer access here for(i=0;nut_data[i].info_type;i++)if(!(nut_data[i].apcupsd_item)) ^~~~~~~~ apcupsd-ups.c:55:18: note: used in buffer access here dstate_setinfo(nut_data[i].info_type,"%s", ^~~~~~~~ apcupsd-ups.c:58:11: note: used in buffer access here switch(nut_data[i].drv_flags&~DU_FLAG_INIT) ^~~~~~~~ apcupsd-ups.c:56:4: note: used in buffer access here nut_data[i].default_value); ^~~~~~~~ apcupsd-ups.c:57:18: note: used in buffer access here else if(!strcmp(nut_data[i].apcupsd_item,item)) ^~~~~~~~ apcupsd-ups.c:85:19: note: used in buffer access here dstate_setinfo(nut_data[i].info_type,"%s",data); ^~~~~~~~ apcupsd-ups.c:88:23: note: used in buffer access here else dstate_setinfo(nut_data[i].info_type,"%s",data); ^~~~~~~~ apcupsd-ups.c:98:20: note: used in buffer access here dstate_setinfo(nut_data[i].info_type,"%s",p1+1); ^~~~~~~~ apcupsd-ups.c:101:24: note: used in buffer access here else dstate_setinfo(nut_data[i].info_type,"%s",p1+1); ^~~~~~~~ apcupsd-ups.c:113:20: note: used in buffer access here dstate_setinfo(nut_data[i].info_type,"%s",data); ^~~~~~~~ apcupsd-ups.c:116:24: note: used in buffer access here else dstate_setinfo(nut_data[i].info_type,"%s",data); ^~~~~~~~ apcupsd-ups.c:118:23: note: used in buffer access here else dstate_setinfo(nut_data[i].info_type,"%s",data); ^~~~~~~~ apcupsd-ups.c:125:33: note: used in buffer access here if(*p1&&p1[1])dstate_setinfo(nut_data[i].info_type,"%s", ^~~~~~~~ apcupsd-ups.c:130:13: note: used in buffer access here default:if(nut_data[i].info_flags&ST_FLAG_STRING) ^~~~~~~~ apcupsd-ups.c:132:30: note: used in buffer access here if((int)strlen(data)>(int)nut_data[i].info_len) ^~~~~~~~ apcupsd-ups.c:133:15: note: used in buffer access here data[(int)nut_data[i].info_len]=0; ^~~~~~~~ apcupsd-ups.c:134:19: note: used in buffer access here dstate_setinfo(nut_data[i].info_type,"%s",data); ^~~~~~~~ apcupsd-ups.c:148:19: note: used in buffer access here dstate_setinfo(nut_data[i].info_type, ^~~~~~~~ apcupsd-ups.c:149:5: note: used in buffer access here nut_data[i].default_value, ^~~~~~~~ apcupsd-ups.c:150:16: note: used in buffer access here atof(data)*nut_data[i].info_len); ^~~~~~~~ apcupsd-ups.c:48:38: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void process(char *item,char *data) ~~~~~~^~~~ apcupsd-ups.c:133:5: note: used in buffer access here data[(int)nut_data[i].info_len]=0; ^~~~ apcupsd-ups.c:51:8: warning: 'p1' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p1; ~~~~~~^~ apcupsd-ups.c:95:18: note: used in pointer arithmetic here if((p2=strchr(p1+1,' '))) ^~ apcupsd-ups.c:98:47: note: used in pointer arithmetic here dstate_setinfo(nut_data[i].info_type,"%s",p1+1); ^~ apcupsd-ups.c:101:51: note: used in pointer arithmetic here else dstate_setinfo(nut_data[i].info_type,"%s",p1+1); ^~ apcupsd-ups.c:109:18: note: used in pointer arithmetic here for(;p1!=data;p1--)if(p1[-1]!=' ')break; ^~ apcupsd-ups.c:109:26: note: used in buffer access here for(;p1!=data;p1--)if(p1[-1]!=' ')break; ^~ apcupsd-ups.c:124:13: note: used in pointer arithmetic here for(;*p1;p1++)if(p1[1]!=' ')break; ^~ apcupsd-ups.c:124:21: note: used in buffer access here for(;*p1;p1++)if(p1[1]!=' ')break; ^~ apcupsd-ups.c:125:12: note: used in buffer access here if(*p1&&p1[1])dstate_setinfo(nut_data[i].info_type,"%s", ^~ apcupsd-ups.c:126:5: note: used in pointer arithmetic here p1+1); ^~ In file included from apcupsd-ups.c:28: ./apcupsd-ups.h:103:23: warning: 'nut_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static apcuspd_info_t nut_data[] = ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcupsd-ups.c:171:19: note: used in buffer access here dstate_delinfo(nut_data[x].info_type); ^~~~~~~~ apcupsd-ups.c:169:10: note: used in buffer access here for(x=0;nut_data[x].info_type;x++) ^~~~~~~~ apcupsd-ups.c:170:8: note: used in buffer access here if(!(nut_data[x].drv_flags & DU_FLAG_INIT) && !(nut_data[x].drv_flags & DU_FLAG_PRESERVE)) ^~~~~~~~ apcupsd-ups.c:170:51: note: used in buffer access here if(!(nut_data[x].drv_flags & DU_FLAG_INIT) && !(nut_data[x].drv_flags & DU_FLAG_PRESERVE)) ^~~~~~~~ apcupsd-ups.c:165:8: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *data; ~~~~~~^~~~ apcupsd-ups.c:253:45: note: used in pointer arithmetic here while(*data==' '||*data=='\t'||*data==':')data++; ^~~~ apcupsd-ups.c:167:7: warning: 'bfr' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char bfr[1024]; ~~~~~^~~~~~~~~ apcupsd-ups.c:238:3: note: used in buffer access here bfr[x]=0; ^~~ apcupsd-ups.c:298:8: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p; ~~~~~~^ apcupsd-ups.c:307:5: note: used in pointer arithmetic here *p++=0; ^ 7 warnings generated. mv -f .deps/apcupsd_ups-apcupsd-ups.Tpo .deps/apcupsd_ups-apcupsd-ups.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-libusb1.o -MD -MP -MF .deps/nutdrv_qx-libusb1.Tpo -c -o nutdrv_qx-libusb1.o `test -f 'libusb1.c' || echo './'`libusb1.c In file included from apcsmart-old.c:24: ./apcsmart-old.h:114:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static apc_vartab_t apc_vartab[] = { ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ apcsmart-old.c:57:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) ^~~~~~~~~~ apcsmart-old.c:58:7: note: used in buffer access here if (apc_vartab[i].cmd == cmdchar) ^~~~~~~~~~ apcsmart-old.c:59:12: note: used in buffer access here return &apc_vartab[i]; ^~~~~~~~~~ In file included from apcsmart-old.c:24: ./apcsmart-old.h:114:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static apc_vartab_t apc_vartab[] = { ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ apcsmart-old.c:70:12: note: used in buffer access here return &apc_vartab[i]; ^~~~~~~~~~ apcsmart-old.c:68:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) ^~~~~~~~~~ apcsmart-old.c:69:19: note: used in buffer access here if (!strcasecmp(apc_vartab[i].name, var)) ^~~~~~~~~~ apcsmart-old.c:348:12: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] endtemp = &temp[0] + strlen(temp); ^~~~~~~~ apcsmart-old.c:307:14: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *ptr, *entptr; ~~~~~~~~~~~~~~~~~^~~ apcsmart-old.c:320:12: note: used in buffer access here upsloc = ptr[strlen(ptr) - 1]; ^~~ apcsmart-old.c:389:9: note: used in buffer access here loc = ptr[1]; ^~~ apcsmart-old.c:372:4: note: used in pointer arithmetic here ptr += 2; /* jump over repeating ## */ ^~~ apcsmart-old.c:390:7: note: used in buffer access here if (ptr[2] < 48 || ptr[3] < 48) { ^~~ apcsmart-old.c:390:22: note: used in buffer access here if (ptr[2] < 48 || ptr[3] < 48) { ^~~ apcsmart-old.c:393:16: note: used in buffer access here __func__, (ptr[2] - 48), (ptr[3] - 48)); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart-old.c:393:31: note: used in buffer access here __func__, (ptr[2] - 48), (ptr[3] - 48)); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart-old.c:399:20: note: used in buffer access here nument = (size_t)ptr[2] - 48; ^~~ apcsmart-old.c:400:20: note: used in buffer access here entlen = (size_t)ptr[3] - 48; ^~~ apcsmart-old.c:401:13: note: used in buffer access here entptr = &ptr[4]; ^~~ apcsmart-old.c:307:20: warning: 'entptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *ptr, *entptr; ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ apcsmart-old.c:423:4: note: used in pointer arithmetic here entptr += entlen; ^~~~~~ apcsmart-old.c:308:15: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char upsloc, temp[512], cmd, loc, etmp[16], *endtemp; ~~~~~~~~~~~~~~~~^~~~~~~~~ apcsmart-old.c:359:6: note: used in buffer access here if (temp[1] == '#') { /* Matrix-UPS */ ^~~~ apcsmart-old.c:364:10: note: used in buffer access here ptr = &temp[1]; ^~~~ In file included from apcsmart-old.c:24: ./apcsmart-old.h:114:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static apc_vartab_t apc_vartab[] = { ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ apcsmart-old.c:511:5: note: used in buffer access here apc_vartab[i].flags |= APC_RW; ^~~~~~~~~~ apcsmart-old.c:493:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart-old.c:497:7: note: used in buffer access here if (apc_vartab[i].cmd == cmd) { ^~~~~~~~~~ apcsmart-old.c:509:19: note: used in buffer access here dstate_setaux(apc_vartab[i].name, APC_STRLEN); ^~~~~~~~~~ apcsmart-old.c:499:5: note: used in buffer access here apc_vartab[i].name); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart-old.c:507:21: note: used in buffer access here dstate_setflags(apc_vartab[i].name, ^~~~~~~~~~ apcsmart-old.c:506:8: note: used in buffer access here if (apc_vartab[i].flags & APC_STRING) { ^~~~~~~~~~ apcsmart-old.c:502:4: note: used in buffer access here apc_vartab[i].flags |= APC_PRESENT; ^~~~~~~~~~ apcsmart-old.c:503:15: note: used in buffer access here poll_data(&apc_vartab[i]); ^~~~~~~~~~ In file included from apcsmart-old.c:24: ./apcsmart-old.h:224:21: warning: 'apc_cmdtab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static apc_cmdtab_t apc_cmdtab[] = ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ apcsmart-old.c:525:7: note: used in buffer access here if (apc_cmdtab[i].cmd == cmd) { ^~~~~~~~~~ apcsmart-old.c:527:5: note: used in buffer access here apc_cmdtab[i].name); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart-old.c:529:18: note: used in buffer access here dstate_addcmd(apc_cmdtab[i].name); ^~~~~~~~~~ apcsmart-old.c:531:4: note: used in buffer access here apc_cmdtab[i].flags |= APC_PRESENT; ^~~~~~~~~~ apcsmart-old.c:524:14: note: used in buffer access here for (i = 0; apc_cmdtab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart-old.c:609:43: warning: unsafe buffer access [-Wunsafe-buffer-usage] protocol_verify((const unsigned char)(compat_tab[i].cmdchars[j])); ^~~~~~~~~~~~~~~~~~~~~~ In file included from apcsmart-old.c:24: ./apcsmart-old.h:256:3: warning: 'compat_tab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } compat_tab[] = { ~~^~~~~~~~~~~~~~~~ apcsmart-old.c:609:43: note: used in buffer access here protocol_verify((const unsigned char)(compat_tab[i].cmdchars[j])); ^~~~~~~~~~ apcsmart-old.c:608:27: note: used in buffer access here for (j = 0; j < strlen(compat_tab[i].cmdchars); j++) ^~~~~~~~~~ apcsmart-old.c:599:5: note: used in buffer access here compat_tab[i].cmdchars); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart-old.c:601:15: note: used in buffer access here if (strspn(compat_tab[i].firmware, "05")) { ^~~~~~~~~~ apcsmart-old.c:596:15: note: used in buffer access here if (!strcmp(compat_tab[i].firmware, buf)) { ^~~~~~~~~~ apcsmart-old.c:595:14: note: used in buffer access here for (i = 0; compat_tab[i].firmware != NULL; i++) { ^~~~~~~~~~ apcsmart-old.c:623:8: warning: 'alrts' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *alrts, temp[512]; ~~~~~~~~~^~~~~ apcsmart-old.c:666:3: note: used in pointer arithmetic here *alrts++ = 0; ^~~~~ apcsmart-old.c:624:17: warning: 'cmds' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char *cmds; ~~~~~~~~~~~~~~~~~^~~~ apcsmart-old.c:675:19: note: used in buffer access here protocol_verify(cmds[i]); ^~~~ apcsmart-old.c:672:3: note: used in pointer arithmetic here *cmds++ = 0; ^~~~ apcsmart-old.c:927:15: warning: 'sdlist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static long (*sdlist[])(long) = { ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ apcsmart-old.c:1045:7: note: used in buffer access here if (sdlist[strval[i] - 48](n)) ^~~~~~ apcsmart-old.c:1005:14: warning: 'strval' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *strval; ~~~~~~~~~~~~^~~~~~ apcsmart-old.c:1021:29: note: used in buffer access here if (strval[i] - 48 < 0 || strval[i] - 48 >= SDCNT) { ^~~~~~ apcsmart-old.c:1021:7: note: used in buffer access here if (strval[i] - 48 < 0 || strval[i] - 48 >= SDCNT) { ^~~~~~ apcsmart-old.c:1033:11: note: used in buffer access here switch (strval[i] - 48) { ^~~~~~ apcsmart-old.c:1045:14: note: used in buffer access here if (sdlist[strval[i] - 48](n)) ^~~~~~ In file included from apcsmart-old.c:24: ./apcsmart-old.h:114:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static apc_vartab_t apc_vartab[] = { ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ apcsmart-old.c:1099:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart-old.c:1100:8: note: used in buffer access here if ((apc_vartab[i].flags & APC_POLL) == 0) ^~~~~~~~~~ apcsmart-old.c:1103:19: note: used in buffer access here if (!poll_data(&apc_vartab[i])) { ^~~~~~~~~~ apcsmart-old.c:1105:22: note: used in buffer access here "aborting scan", apc_vartab[i].name); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ In file included from apcsmart-old.c:24: ./apcsmart-old.h:114:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static apc_vartab_t apc_vartab[] = { ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ apcsmart-old.c:1120:19: note: used in buffer access here if (!poll_data(&apc_vartab[i])) { ^~~~~~~~~~ apcsmart-old.c:1122:22: note: used in buffer access here "aborting scan", apc_vartab[i].name); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart-old.c:1119:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart-old.c:1225:56: warning: 'val' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int setvar_string(apc_vartab_t *vt, const char *val) ~~~~~~~~~~~~^~~ apcsmart-old.c:1262:52: note: used in buffer access here ret = ser_send_char(upsfd, (const unsigned char)(val[i])); ^~~ In file included from apcsmart-old.c:24: ./apcsmart-old.h:224:21: warning: 'apc_cmdtab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static apc_cmdtab_t apc_cmdtab[] = ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ apcsmart-old.c:1400:19: note: used in buffer access here if (!strcasecmp(apc_cmdtab[i].name, cmdname)) ^~~~~~~~~~ apcsmart-old.c:1401:10: note: used in buffer access here ct = &apc_cmdtab[i]; ^~~~~~~~~~ apcsmart-old.c:1399:14: note: used in buffer access here for (i = 0; apc_cmdtab[i].name != NULL; i++) ^~~~~~~~~~ 18 warnings generated. cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-usb-common.o -MD -MP -MF .deps/nutdrv_qx-usb-common.Tpo -c -o nutdrv_qx-usb-common.o `test -f 'usb-common.c' || echo './'`usb-common.c riello_ser.c:93:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO (&readfs); ^~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ riello_ser.c:94:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET (upsfd, &readfs); ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ riello_ser.c:103:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (FD_ISSET (upsfd, &readfs)) { ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:83:26: note: expanded from macro 'FD_ISSET' #define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) ^~~~~~~~~~~~~~~ riello_ser.c:131:23: warning: 'cache' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char cache[512]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ riello_ser.c:151:11: note: used in pointer arithmetic here cachee = cache + recv; ^~~~~ riello_ser.c:149:11: note: used in pointer arithmetic here cachee = cache + recv; ^~~~~ riello_ser.c:132:24: warning: 'cachep' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static unsigned char *cachep = cache; ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ riello_ser.c:139:15: note: used in pointer arithmetic here *readbuf = *cachep++; ^~~~~~ riello_ser.c:155:15: note: used in pointer arithmetic here *readbuf = *cachep++; ^~~~~~ riello_ser.c:178:27: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int get_ups_nominal() ^ void riello_ser.c:211:26: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int get_ups_status() ^ void riello_ser.c:251:28: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int get_ups_extended() ^ void riello_ser.c:285:23: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] int get_ups_statuscode() ^ void riello_ser.c:318:25: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int get_ups_sentr() ^ void riello_ser.c:60:16: warning: 'bufOut' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static uint8_t bufOut[BUFFER_SIZE]; ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ riello_ser.c:327:3: note: used in buffer access here bufOut[1] = 103; ^~~~~~ riello_ser.c:328:3: note: used in buffer access here bufOut[2] = 1; ^~~~~~ riello_ser.c:329:3: note: used in buffer access here bufOut[3] = 0; ^~~~~~ riello_ser.c:330:3: note: used in buffer access here bufOut[4] = 24; ^~~~~~ riello_ser.c:650:26: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int start_ups_comm() ^ void riello_ser.c:713:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] gpser_error_control = DevData.Identif_bytes[4]-0x30; ^~~~~~~~~~~~~~~~~~~~~ riello_ser.c:885:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[1], 3)) ^~~~~~~~~~~~~~~~~~ riello_ser.c:889:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[4], 2)) ^~~~~~~~~~~~~~~~~~ riello_ser.c:893:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[1], 0)) ^~~~~~~~~~~~~~~~~~ riello_ser.c:897:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[1], 1)) ^~~~~~~~~~~~~~~~~~ riello_ser.c:901:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[2], 0)) ^~~~~~~~~~~~~~~~~~ riello_ser.c:905:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[2], 2)) ^~~~~~~~~~~~~~~~~~ 19 warnings generated. cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_bestups.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_bestups.Tpo -c -o nutdrv_qx-nutdrv_qx_bestups.o `test -f 'nutdrv_qx_bestups.c' || echo './'`nutdrv_qx_bestups.c nutdrv_qx_bestups.c:365:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] double val = strtod(value, NULL); ^ nutdrv_qx_bestups.c:685:4: warning: 'voltage_settings' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } voltage_settings[] = { ~~^~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_bestups.c:747:9: note: used in buffer access here val = voltage_settings[index].low; ^~~~~~~~~~~~~~~~ nutdrv_qx_bestups.c:751:9: note: used in buffer access here val = voltage_settings[index].boost; ^~~~~~~~~~~~~~~~ nutdrv_qx_bestups.c:755:9: note: used in buffer access here val = voltage_settings[index].nominal; ^~~~~~~~~~~~~~~~ nutdrv_qx_bestups.c:759:9: note: used in buffer access here val = voltage_settings[index].buck; ^~~~~~~~~~~~~~~~ nutdrv_qx_bestups.c:763:9: note: used in buffer access here val = voltage_settings[index].high; ^~~~~~~~~~~~~~~~ 2 warnings generated. mv -f .deps/nutdrv_qx-nutdrv_qx_bestups.Tpo .deps/nutdrv_qx-nutdrv_qx_bestups.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_blazer-common.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_blazer-common.Tpo -c -o nutdrv_qx-nutdrv_qx_blazer-common.o `test -f 'nutdrv_qx_blazer-common.c' || echo './'`nutdrv_qx_blazer-common.c usb-common.c:26:19: warning: 'usbdev' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] usb_device_id_t *usbdev; ~~~~~~~~~~~~~~~~~^~~~~~ usb-common.c:30:7: note: used in pointer arithmetic here usbdev++ ^~~~~~ usb-common.c:239:45: warning: 'str' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int match_regex(regex_t *preg, char *str) ~~~~~~^~~ usb-common.c:256:25: note: used in buffer access here if (!strchr(" \t\n", str[len])) { ^~~ usb-common.c:261:20: note: used in pointer arithmetic here string = xstrdup(str+len); ^~~ usb-common.c:243:8: warning: 'string' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *string; ~~~~~~~~~^~~~~~ usb-common.c:266:25: note: used in buffer access here if (!strchr(" \t\n", string[len-1])) { ^~~~~~ usb-common.c:271:3: note: used in buffer access here string[len] = '\0'; ^~~~~~ usb-common.c:325:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex_hex(data->regex[1], hd->ProductID); ^~~~~~~~~~~ usb-common.c:336:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[2], hd->Vendor); ^~~~~~~~~~~ usb-common.c:347:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[3], hd->Product); ^~~~~~~~~~~ usb-common.c:358:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[4], hd->Serial); ^~~~~~~~~~~ usb-common.c:369:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[5], hd->Bus); ^~~~~~~~~~~ usb-common.c:380:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[6], hd->Device); ^~~~~~~~~~~ usb-common.c:427:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = compile_regex(&data->regex[i], regex[i], cflags); ^~~~~~~~~~~ usb-common.c:405:61: warning: 'regex' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int USBNewRegexMatcher(USBDeviceMatcher_t **matcher, char **regex, int cflags) ~~~~~~~^~~~~ usb-common.c:427:38: note: used in buffer access here r = compile_regex(&data->regex[i], regex[i], cflags); ^~~~~ usb-common.c:454:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!data->regex[i]) { ^~~~~~~~~~~ usb-common.c:458:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] regfree(data->regex[i]); ^~~~~~~~~~~ usb-common.c:459:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] free(data->regex[i]); ^~~~~~~~~~~ 14 warnings generated. mv -f .deps/nutdrv_qx-usb-common.Tpo .deps/nutdrv_qx-usb-common.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_masterguard.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_masterguard.Tpo -c -o nutdrv_qx-nutdrv_qx_masterguard.o `test -f 'nutdrv_qx_masterguard.c' || echo './'`nutdrv_qx_masterguard.c riello.c:47:49: warning: 'buff' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint16_t riello_calc_CRC(uint8_t type, uint8_t *buff, uint16_t size, uint8_t checksum) ~~~~~~~~~^~~~ riello.c:58:18: note: used in buffer access here CRC_Word += buff[i]; ^~~~ riello.c:62:18: note: used in buffer access here CRC_Word += buff[i]; ^~~~ riello.c:67:5: note: used in pointer arithmetic here buff++; ^~~~ riello.c:80:6: note: used in pointer arithmetic here buff++; ^~~~ riello.c:86:18: note: used in buffer access here CRC_Word += buff[i]; ^~~~ riello.c:93:47: warning: 'buff' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void riello_create_crc(uint8_t type, uint8_t *buff, uint16_t size, uint8_t checksum) ~~~~~~~~~^~~~ riello.c:100:3: note: used in buffer access here buff[size++] = (uint8_t) ((CRC_Word/4096)+0x30); ^~~~ riello.c:101:3: note: used in buffer access here buff[size++] = (uint8_t) (((CRC_Word%4096)/256)+0x30); ^~~~ riello.c:102:3: note: used in buffer access here buff[size++] = (uint8_t) ((((CRC_Word%4096)%256)/16)+0x30); ^~~~ riello.c:103:3: note: used in buffer access here buff[size] = (uint8_t) ((((CRC_Word%4096)%256)%16)+0x30); ^~~~ riello.c:107:48: warning: 'buff' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_test_crc(uint8_t type, uint8_t *buff, uint16_t size, uint8_t checksum) ~~~~~~~~~^~~~ riello.c:122:12: note: used in buffer access here suma = (buff[size-5]-0x30)*4096; ^~~~ riello.c:124:13: note: used in buffer access here suma += (buff[size-3]-0x30)*16; ^~~~ riello.c:115:11: note: used in buffer access here suma = buff[size-2] + buff[size-1]*256; ^~~~ riello.c:123:13: note: used in buffer access here suma += (buff[size-4]-0x30)*256; ^~~~ riello.c:125:13: note: used in buffer access here suma += (buff[size-2]-0x30); ^~~~ riello.c:115:26: note: used in buffer access here suma = buff[size-2] + buff[size-1]*256; ^~~~ riello.c:133:34: warning: 'basic_address' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_test_bit(uint8_t *basic_address, uint8_t bit) ~~~~~~~~~^~~~~~~~~~~~~ riello.c:143:10: note: used in pointer arithmetic here var = *(basic_address+posuv); ^~~~~~~~~~~~~ riello.c:151:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_gi(uint8_t* buffer) ~~~~~~~~~^~~~~~ riello.c:157:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:156:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:158:2: note: used in buffer access here buffer[3] = 'G'; ^~~~~~ riello.c:161:2: note: used in buffer access here buffer[6] = '0'; ^~~~~~ riello.c:159:2: note: used in buffer access here buffer[4] = 'I'; ^~~~~~ riello.c:160:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:167:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:172:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_gn(uint8_t* buffer, uint8_t gpser_error_control) ~~~~~~~~~^~~~~~ riello.c:180:2: note: used in buffer access here buffer[4] = 'N'; ^~~~~~ riello.c:188:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:181:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:179:2: note: used in buffer access here buffer[3] = 'G'; ^~~~~~ riello.c:182:2: note: used in buffer access here buffer[6] = '0'; ^~~~~~ riello.c:177:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:178:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:193:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_rs(uint8_t* buffer, uint8_t gpser_error_control) ~~~~~~~~~^~~~~~ riello.c:203:2: note: used in buffer access here buffer[6] = '0'; ^~~~~~ riello.c:201:2: note: used in buffer access here buffer[4] = 'S'; ^~~~~~ riello.c:198:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:202:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:199:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:200:2: note: used in buffer access here buffer[3] = 'R'; ^~~~~~ riello.c:209:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:214:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_re(uint8_t* buffer, uint8_t gpser_error_control) ~~~~~~~~~^~~~~~ riello.c:223:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:222:2: note: used in buffer access here buffer[4] = 'E'; ^~~~~~ riello.c:224:2: note: used in buffer access here buffer[6] = '0'; ^~~~~~ riello.c:220:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:221:2: note: used in buffer access here buffer[3] = 'R'; ^~~~~~ riello.c:219:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:230:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:235:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_rc(uint8_t* buffer, uint8_t gpser_error_control) ~~~~~~~~~^~~~~~ riello.c:243:2: note: used in buffer access here buffer[4] = 'C'; ^~~~~~ riello.c:241:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:245:2: note: used in buffer access here buffer[6] = '0'; ^~~~~~ riello.c:242:2: note: used in buffer access here buffer[3] = 'R'; ^~~~~~ riello.c:244:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:251:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:240:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:256:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_cs(uint8_t* buffer, uint8_t gpser_error_control, uint16_t delay) ~~~~~~~~~^~~~~~ riello.c:264:2: note: used in buffer access here buffer[4] = 'S'; ^~~~~~ riello.c:263:2: note: used in buffer access here buffer[3] = 'C'; ^~~~~~ riello.c:266:2: note: used in buffer access here buffer[6] = '4'; ^~~~~~ riello.c:262:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:267:2: note: used in buffer access here buffer[7] = (uint8_t) ((delay/4096)+0x30); ^~~~~~ riello.c:265:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:261:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:268:2: note: used in buffer access here buffer[8] = (uint8_t) (((delay%4096)/256)+0x30); ^~~~~~ riello.c:269:2: note: used in buffer access here buffer[9] = (uint8_t) ((((delay%4096)%256)/16)+0x30); ^~~~~~ riello.c:270:2: note: used in buffer access here buffer[10] = (uint8_t) ((((delay%4096)%256)%16)+0x30); ^~~~~~ riello.c:276:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:281:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_cr(uint8_t* buffer, uint8_t gpser_error_control, uint16_t delay) ~~~~~~~~~^~~~~~ riello.c:294:2: note: used in buffer access here buffer[9] = '0'; ^~~~~~ riello.c:292:2: note: used in buffer access here buffer[7] = '0'; ^~~~~~ riello.c:293:2: note: used in buffer access here buffer[8] = '0'; ^~~~~~ riello.c:289:2: note: used in buffer access here buffer[4] = 'R'; ^~~~~~ riello.c:295:2: note: used in buffer access here buffer[10] = '0'; ^~~~~~ riello.c:296:2: note: used in buffer access here buffer[11] = (uint8_t) ((delay/4096)+0x30); ^~~~~~ riello.c:290:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:291:2: note: used in buffer access here buffer[6] = '8'; ^~~~~~ riello.c:288:2: note: used in buffer access here buffer[3] = 'C'; ^~~~~~ riello.c:286:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:287:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:297:2: note: used in buffer access here buffer[12] = (uint8_t) (((delay%4096)/256)+0x30); ^~~~~~ riello.c:298:2: note: used in buffer access here buffer[13] = (uint8_t) ((((delay%4096)%256)/16)+0x30); ^~~~~~ riello.c:299:2: note: used in buffer access here buffer[14] = (uint8_t) ((((delay%4096)%256)%16)+0x30); ^~~~~~ riello.c:305:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:310:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_cd(uint8_t* buffer, uint8_t gpser_error_control) ~~~~~~~~~^~~~~~ riello.c:326:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:319:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:318:2: note: used in buffer access here buffer[4] = 'D'; ^~~~~~ riello.c:315:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:320:2: note: used in buffer access here buffer[6] = '0'; ^~~~~~ riello.c:316:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:317:2: note: used in buffer access here buffer[3] = 'C'; ^~~~~~ riello.c:331:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_tp(uint8_t* buffer, uint8_t gpser_error_control) ~~~~~~~~~^~~~~~ riello.c:340:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:339:2: note: used in buffer access here buffer[4] = 'P'; ^~~~~~ riello.c:341:2: note: used in buffer access here buffer[6] = '0'; ^~~~~~ riello.c:347:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:336:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:337:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:338:2: note: used in buffer access here buffer[3] = 'T'; ^~~~~~ riello.c:352:36: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_tb(uint8_t* buffer, uint8_t gpser_error_control) ~~~~~~~~~^~~~~~ riello.c:364:2: note: used in buffer access here buffer[8] = '0'; ^~~~~~ riello.c:360:2: note: used in buffer access here buffer[4] = 'B'; ^~~~~~ riello.c:365:2: note: used in buffer access here buffer[9] = '5'; ^~~~~~ riello.c:371:2: note: used in buffer access here buffer[buf_ptr++] = 0x3; ^~~~~~ riello.c:361:2: note: used in buffer access here buffer[5] = '0'; ^~~~~~ riello.c:357:2: note: used in buffer access here buffer[1] = 0x20; ^~~~~~ riello.c:362:2: note: used in buffer access here buffer[6] = '3'; ^~~~~~ riello.c:358:2: note: used in buffer access here buffer[2] = 0x22; ^~~~~~ riello.c:359:2: note: used in buffer access here buffer[3] = 'T'; ^~~~~~ riello.c:363:2: note: used in buffer access here buffer[7] = '0'; ^~~~~~ riello.c:376:43: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_shutsentr(uint8_t* buffer, uint16_t delay) ~~~~~~~~~^~~~~~ riello.c:382:2: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:382:26: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:382:50: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:381:2: note: used in buffer access here buffer[3] = delay / 256; ^~~~~~ riello.c:382:38: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:379:2: note: used in buffer access here buffer[1] = 6; ^~~~~~ riello.c:380:2: note: used in buffer access here buffer[2] = (uint8_t)(delay % 256); ^~~~~~ riello.c:387:45: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_cancelsentr(uint8_t* buffer) ~~~~~~~~~^~~~~~ riello.c:393:2: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:390:2: note: used in buffer access here buffer[1] = 5; ^~~~~~ riello.c:393:38: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:391:2: note: used in buffer access here buffer[2] = 0; ^~~~~~ riello.c:392:2: note: used in buffer access here buffer[3] = 0; ^~~~~~ riello.c:393:26: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:393:50: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:398:45: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_setrebsentr(uint8_t* buffer, uint16_t delay) ~~~~~~~~~^~~~~~ riello.c:404:2: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:403:2: note: used in buffer access here buffer[3] = delay / 256; ^~~~~~ riello.c:404:38: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:402:2: note: used in buffer access here buffer[2] = (uint8_t)(delay % 256); ^~~~~~ riello.c:404:50: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:401:2: note: used in buffer access here buffer[1] = 2; ^~~~~~ riello.c:404:26: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:409:42: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_rebsentr(uint8_t* buffer, uint16_t delay) ~~~~~~~~~^~~~~~ riello.c:415:2: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:414:2: note: used in buffer access here buffer[3] = delay / 256; ^~~~~~ riello.c:415:38: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:415:50: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:415:26: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:413:2: note: used in buffer access here buffer[2] = (uint8_t)(delay % 256); ^~~~~~ riello.c:412:2: note: used in buffer access here buffer[1] = 1; ^~~~~~ riello.c:420:41: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_prepare_tbsentr(uint8_t* buffer) ~~~~~~~~~^~~~~~ riello.c:426:2: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:423:2: note: used in buffer access here buffer[1] = 4; ^~~~~~ riello.c:426:38: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:424:2: note: used in buffer access here buffer[2] = 0; ^~~~~~ riello.c:425:2: note: used in buffer access here buffer[3] = 0; ^~~~~~ riello.c:426:50: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:426:26: note: used in buffer access here buffer[4] = buffer[0] + buffer[1] + buffer[2] + buffer[3]; ^~~~~~ riello.c:434:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->Identification[16] = 0; ^~~~~~~~~~~~~~~~~~~~ riello.c:436:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->ModelStr[16] = 0; ^~~~~~~~~~~~~~ riello.c:437:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->ModelStr[15] = 0; ^~~~~~~~~~~~~~ riello.c:439:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->Version[12] = 0; ^~~~~~~~~~~~~ riello.c:441:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->Identif_bytes[11] = 0; ^~~~~~~~~~~~~~~~~~~ riello.c:442:17: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->NumBat = data->Identif_bytes[7] - 0x30; ^~~~~~~~~~~~~~~~~~~ riello.c:431:31: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void riello_parse_gi(uint8_t* buffer, TRielloData* data) ~~~~~~~~~^~~~~~ riello.c:440:31: note: used in buffer access here memcpy(data->Identif_bytes, &buffer[51], 12); ^~~~~~ riello.c:435:26: note: used in buffer access here memcpy(data->ModelStr, &buffer[23], 16); ^~~~~~ riello.c:438:25: note: used in buffer access here memcpy(data->Version, &buffer[39], 12); ^~~~~~ riello.c:433:32: note: used in buffer access here memcpy(data->Identification, &buffer[7], 16); ^~~~~~ riello.c:445:31: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void riello_parse_gn(uint8_t* buffer, TRielloData* data) ~~~~~~~~~^~~~~~ riello.c:475:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:474:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:452:14: note: used in buffer access here pom_long = (buffer[j++]-0x30)*65536; ^~~~~~ riello.c:454:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:467:15: note: used in buffer access here pom_long += (buffer[j++]-0x30); ^~~~~~ riello.c:476:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:456:15: note: used in buffer access here pom_long += (buffer[j++]-0x30); ^~~~~~ riello.c:455:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:479:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:466:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:453:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:465:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:464:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:463:14: note: used in buffer access here pom_long = (buffer[j++]-0x30)*65536; ^~~~~~ riello.c:480:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:481:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:484:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:485:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:486:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:489:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:490:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:491:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:502:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCode[5] = 0; ^~~~~~~~~~~~~~~~ riello.c:495:31: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void riello_parse_rs(uint8_t* buffer, TRielloData* data, uint8_t numread) ~~~~~~~~~^~~~~~ riello.c:525:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:519:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:520:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:513:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:518:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:514:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:527:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:526:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:515:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:510:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:509:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:504:32: note: used in buffer access here data->Buck = riello_test_bit(&buffer[j], 8); ^~~~~~ riello.c:505:35: note: used in buffer access here data->LockUPS = riello_test_bit(&buffer[j], 2); ^~~~~~ riello.c:508:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:503:33: note: used in buffer access here data->Boost = riello_test_bit(&buffer[j], 9); ^~~~~~ riello.c:501:28: note: used in buffer access here memcpy(data->StatusCode, &buffer[j], 5); ^~~~~~ riello.c:530:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*16; ^~~~~~ riello.c:531:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:534:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:535:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:536:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:539:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:540:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:541:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:544:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:545:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:546:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:547:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:550:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*16; ^~~~~~ riello.c:551:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:554:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:555:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:556:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:561:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*16; ^~~~~~ riello.c:562:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:566:15: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:567:16: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:568:16: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:570:15: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:571:16: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:572:16: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:581:15: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:582:16: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:583:16: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:585:15: note: used in buffer access here pom_word = (buffer[j++]-0x30)*16; ^~~~~~ riello.c:586:16: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:588:15: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:589:16: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:590:16: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:592:15: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:593:16: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:594:16: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:596:15: note: used in buffer access here pom_word = (buffer[j++]-0x30)*16; ^~~~~~ riello.c:597:16: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:599:15: note: used in buffer access here pom_word = (buffer[j++]-0x30)*256; ^~~~~~ riello.c:600:16: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:601:16: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:614:31: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void riello_parse_re(uint8_t* buffer, TRielloData* data) ~~~~~~~~~^~~~~~ riello.c:682:15: note: used in buffer access here pom_long += (buffer[j++]-0x30); ^~~~~~ riello.c:672:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:681:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:679:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:680:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:673:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:678:14: note: used in buffer access here pom_long = (buffer[j++]-0x30)*65536; ^~~~~~ riello.c:674:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:675:15: note: used in buffer access here pom_long += (buffer[j++]-0x30); ^~~~~~ riello.c:671:14: note: used in buffer access here pom_long = (buffer[j++]-0x30)*65536; ^~~~~~ riello.c:667:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:668:15: note: used in buffer access here pom_long += (buffer[j++]-0x30); ^~~~~~ riello.c:661:15: note: used in buffer access here pom_long += (buffer[j++]-0x30); ^~~~~~ riello.c:666:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:664:14: note: used in buffer access here pom_long = (buffer[j++]-0x30)*65536; ^~~~~~ riello.c:665:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:660:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:658:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:659:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:652:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:657:14: note: used in buffer access here pom_long = (buffer[j++]-0x30)*65536; ^~~~~~ riello.c:653:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:654:15: note: used in buffer access here pom_long += (buffer[j++]-0x30); ^~~~~~ riello.c:651:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:647:15: note: used in buffer access here pom_long += (buffer[j++]-0x30); ^~~~~~ riello.c:650:14: note: used in buffer access here pom_long = (buffer[j++]-0x30)*65536; ^~~~~~ riello.c:643:14: note: used in buffer access here pom_long = (buffer[j++]-0x30)*65536; ^~~~~~ riello.c:646:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:644:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:645:15: note: used in buffer access here pom_long += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:640:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:638:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:639:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:625:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:637:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:633:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:634:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:626:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:631:14: note: used in buffer access here pom_word = (buffer[j++]-0x30)*4096; ^~~~~~ riello.c:627:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*16; ^~~~~~ riello.c:632:15: note: used in buffer access here pom_word += (buffer[j++]-0x30)*256; ^~~~~~ riello.c:628:15: note: used in buffer access here pom_word += (buffer[j++]-0x30); ^~~~~~ riello.c:692:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCodeT[i] = (char)(buffer[j+1]-0x30); ^~~~~~~~~~~~~~~~~ riello.c:693:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCodeT[i] |= ((buffer[j]-0x30) << 4); ^~~~~~~~~~~~~~~~~ riello.c:695:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCodeT[23] = 0; ^~~~~~~~~~~~~~~~~ riello.c:696:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCodeT[24] = 0; ^~~~~~~~~~~~~~~~~ riello.c:686:31: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void riello_parse_rc(uint8_t* buffer, TRielloData* data) ~~~~~~~~~^~~~~~ riello.c:693:29: note: used in buffer access here data->StatusCodeT[i] |= ((buffer[j]-0x30) << 4); ^~~~~~ riello.c:692:33: note: used in buffer access here data->StatusCodeT[i] = (char)(buffer[j+1]-0x30); ^~~~~~ riello.c:738:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->Identif_bytes[1] = '3'; ^~~~~~~~~~~~~~~~~~~ riello.c:739:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->Identif_bytes[6] = '2'; ^~~~~~~~~~~~~~~~~~~ riello.c:744:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->Version[1] = (char)(uint8_t)(48 + ((data->SWversion / 100) % 10)); ^~~~~~~~~~~~~ riello.c:745:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->Version[2] = '.'; ^~~~~~~~~~~~~ riello.c:746:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->Version[3] = (char)(uint8_t)(48 + ((data->SWversion / 10) % 10)); ^~~~~~~~~~~~~ riello.c:747:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->Version[4] = (char)(uint8_t)(48 + (data->SWversion % 10)); ^~~~~~~~~~~~~ riello.c:883:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCode[1] = 0x00; ^~~~~~~~~~~~~~~~ riello.c:884:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCode[2] = 0x00; ^~~~~~~~~~~~~~~~ riello.c:885:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCode[3] = 0x00; ^~~~~~~~~~~~~~~~ riello.c:886:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCode[4] = 0x00; ^~~~~~~~~~~~~~~~ riello.c:890:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCode[4] |= 0x04; ^~~~~~~~~~~~~~~~ riello.c:895:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCode[1] |= 0x08; ^~~~~~~~~~~~~~~~ riello.c:915:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] data->StatusCode[2] |= 0x01; ^~~~~~~~~~~~~~~~ riello.c:699:34: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void riello_parse_sentr(uint8_t* buffer, TRielloData* data) ~~~~~~~~~^~~~~~ riello.c:785:7: note: used in buffer access here if (buffer[79] & 0x80) { ^~~~~~ riello.c:783:16: note: used in buffer access here data->Finp = buffer[41]+256*buffer[42]; ^~~~~~ riello.c:783:31: note: used in buffer access here data->Finp = buffer[41]+256*buffer[42]; ^~~~~~ riello.c:781:39: note: used in buffer access here data->Iinp2 = (uint16_t)(((pom/690)*buffer[39])/100); ^~~~~~ riello.c:782:39: note: used in buffer access here data->Iinp3 = (uint16_t)(((pom/690)*buffer[40])/100); ^~~~~~ riello.c:768:30: note: used in buffer access here data->Iout3 = (buffer[145]+buffer[146]*256)/10; ^~~~~~ riello.c:780:39: note: used in buffer access here data->Iinp1 = (uint16_t)(((pom/690)*buffer[38])/100); ^~~~~~ riello.c:778:17: note: used in buffer access here data->Uinp3 = buffer[37]*230/100; ^~~~~~ riello.c:776:17: note: used in buffer access here data->Uinp1 = buffer[35]*230/100; ^~~~~~ riello.c:777:17: note: used in buffer access here data->Uinp2 = buffer[36]*230/100; ^~~~~~ riello.c:772:17: note: used in buffer access here data->Pout3 = buffer[64]; ^~~~~~ riello.c:773:18: note: used in buffer access here data->Ipout1 = buffer[65]*3; ^~~~~~ riello.c:767:30: note: used in buffer access here data->Iout2 = (buffer[143]+buffer[144]*256)/10; ^~~~~~ riello.c:768:18: note: used in buffer access here data->Iout3 = (buffer[145]+buffer[146]*256)/10; ^~~~~~ riello.c:786:18: note: used in buffer access here data->Uout1 = buffer[59]*2; ^~~~~~ riello.c:766:30: note: used in buffer access here data->Iout1 = (buffer[141]+buffer[142]*256)/10; ^~~~~~ riello.c:767:18: note: used in buffer access here data->Iout2 = (buffer[143]+buffer[144]*256)/10; ^~~~~~ riello.c:788:18: note: used in buffer access here data->Uout3 = buffer[61]*2; ^~~~~~ riello.c:787:18: note: used in buffer access here data->Uout2 = buffer[60]*2; ^~~~~~ riello.c:764:18: note: used in buffer access here data->Uout2 = (buffer[137]+buffer[138]*256)/10; ^~~~~~ riello.c:766:18: note: used in buffer access here data->Iout1 = (buffer[141]+buffer[142]*256)/10; ^~~~~~ riello.c:765:30: note: used in buffer access here data->Uout3 = (buffer[139]+buffer[140]*256)/10; ^~~~~~ riello.c:764:30: note: used in buffer access here data->Uout2 = (buffer[137]+buffer[138]*256)/10; ^~~~~~ riello.c:770:17: note: used in buffer access here data->Pout1 = buffer[62]; ^~~~~~ riello.c:765:18: note: used in buffer access here data->Uout3 = (buffer[139]+buffer[140]*256)/10; ^~~~~~ riello.c:761:16: note: used in buffer access here data->Finp = buffer[41]+256*buffer[42]; ^~~~~~ riello.c:763:30: note: used in buffer access here data->Uout1 = (buffer[135]+buffer[136]*256)/10; ^~~~~~ riello.c:761:31: note: used in buffer access here data->Finp = buffer[41]+256*buffer[42]; ^~~~~~ riello.c:763:18: note: used in buffer access here data->Uout1 = (buffer[135]+buffer[136]*256)/10; ^~~~~~ riello.c:756:18: note: used in buffer access here data->Uinp2 = (buffer[119]+buffer[120]*256)/10; ^~~~~~ riello.c:760:30: note: used in buffer access here data->Iinp3 = (buffer[127]+buffer[128]*256)/10; ^~~~~~ riello.c:760:18: note: used in buffer access here data->Iinp3 = (buffer[127]+buffer[128]*256)/10; ^~~~~~ riello.c:759:18: note: used in buffer access here data->Iinp2 = (buffer[125]+buffer[126]*256)/10; ^~~~~~ riello.c:759:30: note: used in buffer access here data->Iinp2 = (buffer[125]+buffer[126]*256)/10; ^~~~~~ riello.c:756:30: note: used in buffer access here data->Uinp2 = (buffer[119]+buffer[120]*256)/10; ^~~~~~ riello.c:758:30: note: used in buffer access here data->Iinp1 = (buffer[123]+buffer[124]*256)/10; ^~~~~~ riello.c:757:18: note: used in buffer access here data->Uinp3 = (buffer[121]+buffer[122]*256)/10; ^~~~~~ riello.c:758:18: note: used in buffer access here data->Iinp1 = (buffer[123]+buffer[124]*256)/10; ^~~~~~ riello.c:757:30: note: used in buffer access here data->Uinp3 = (buffer[121]+buffer[122]*256)/10; ^~~~~~ riello.c:755:30: note: used in buffer access here data->Uinp1 = (buffer[117]+buffer[118]*256)/10; ^~~~~~ riello.c:755:18: note: used in buffer access here data->Uinp1 = (buffer[117]+buffer[118]*256)/10; ^~~~~~ riello.c:741:20: note: used in buffer access here data->SWversion = buffer[4]+256*buffer[5]; ^~~~~~ riello.c:771:17: note: used in buffer access here data->Pout2 = buffer[63]; ^~~~~~ riello.c:741:34: note: used in buffer access here data->SWversion = buffer[4]+256*buffer[5]; ^~~~~~ riello.c:727:6: note: used in buffer access here if (buffer[76] & 0x08) ^~~~~~ riello.c:703:30: note: used in buffer access here data->Model = buffer[2]+256*buffer[3]; ^~~~~~ riello.c:717:8: note: used in buffer access here if (buffer[100] & 0x01) ^~~~~~ riello.c:706:8: note: used in buffer access here if (buffer[100] & 0x01) ^~~~~~ riello.c:703:16: note: used in buffer access here data->Model = buffer[2]+256*buffer[3]; ^~~~~~ riello.c:791:18: note: used in buffer access here data->Uout1 = buffer[59]; ^~~~~~ riello.c:792:18: note: used in buffer access here data->Uout2 = buffer[60]; ^~~~~~ riello.c:793:18: note: used in buffer access here data->Uout3 = buffer[61]; ^~~~~~ riello.c:796:7: note: used in buffer access here if (buffer[73]) { ^~~~~~ riello.c:799:8: note: used in buffer access here if (buffer[73] < 100) ^~~~~~ riello.c:800:5: note: used in buffer access here buffer[73]+=256; ^~~~~~ riello.c:802:36: note: used in buffer access here data->Iout1 = (uint16_t)(((pom/buffer[73])*buffer[62])/100); ^~~~~~ riello.c:802:48: note: used in buffer access here data->Iout1 = (uint16_t)(((pom/buffer[73])*buffer[62])/100); ^~~~~~ riello.c:804:36: note: used in buffer access here data->Iout1 = (uint16_t)(((pom/buffer[73])*buffer[62])/100/3); ^~~~~~ riello.c:804:48: note: used in buffer access here data->Iout1 = (uint16_t)(((pom/buffer[73])*buffer[62])/100/3); ^~~~~~ riello.c:805:35: note: used in buffer access here data->Iout2 = (uint16_t)(((pom/buffer[73])*buffer[63])/100/3); ^~~~~~ riello.c:805:47: note: used in buffer access here data->Iout2 = (uint16_t)(((pom/buffer[73])*buffer[63])/100/3); ^~~~~~ riello.c:806:35: note: used in buffer access here data->Iout3 = (uint16_t)(((pom/buffer[73])*buffer[64])/100/3); ^~~~~~ riello.c:806:47: note: used in buffer access here data->Iout3 = (uint16_t)(((pom/buffer[73])*buffer[64])/100/3); ^~~~~~ riello.c:820:17: note: used in buffer access here data->Pout1 = buffer[62]; ^~~~~~ riello.c:821:17: note: used in buffer access here data->Pout2 = buffer[63]; ^~~~~~ riello.c:822:17: note: used in buffer access here data->Pout3 = buffer[64]; ^~~~~~ riello.c:823:18: note: used in buffer access here data->Ipout1 = buffer[65]*3; ^~~~~~ riello.c:831:18: note: used in buffer access here data->Ipout2 = buffer[66]*3; ^~~~~~ riello.c:832:18: note: used in buffer access here data->Ipout3 = buffer[67]*3; ^~~~~~ riello.c:835:15: note: used in buffer access here data->Fout = buffer[68]+256*buffer[69]; ^~~~~~ riello.c:835:30: note: used in buffer access here data->Fout = buffer[68]+256*buffer[69]; ^~~~~~ riello.c:837:18: note: used in buffer access here data->BatTime = buffer[6]+256*buffer[7]; ^~~~~~ riello.c:837:32: note: used in buffer access here data->BatTime = buffer[6]+256*buffer[7]; ^~~~~~ riello.c:838:17: note: used in buffer access here data->BatCap = buffer[8]; ^~~~~~ riello.c:841:7: note: used in buffer access here if (buffer[100] & 0x80) ^~~~~~ riello.c:842:17: note: used in buffer access here data->Ubat = buffer[43]+256*buffer[44]; ^~~~~~ riello.c:842:32: note: used in buffer access here data->Ubat = buffer[43]+256*buffer[44]; ^~~~~~ riello.c:844:8: note: used in buffer access here if (buffer[44] < buffer[43]) ^~~~~~ riello.c:844:21: note: used in buffer access here if (buffer[44] < buffer[43]) ^~~~~~ riello.c:845:18: note: used in buffer access here data->Ubat = buffer[44]*2; ^~~~~~ riello.c:847:18: note: used in buffer access here data->Ubat = buffer[43]*2; ^~~~~~ riello.c:851:16: note: used in buffer access here data->Ubat = buffer[43]+256*buffer[44]; ^~~~~~ riello.c:851:31: note: used in buffer access here data->Ubat = buffer[43]+256*buffer[44]; ^~~~~~ riello.c:854:15: note: used in buffer access here data->Ibat = buffer[45]+256*buffer[46]; ^~~~~~ riello.c:854:30: note: used in buffer access here data->Ibat = buffer[45]+256*buffer[46]; ^~~~~~ riello.c:855:7: note: used in buffer access here if (!buffer[47]) ^~~~~~ riello.c:858:18: note: used in buffer access here data->Tsystem = buffer[48]; ^~~~~~ riello.c:859:20: note: used in buffer access here data->NomBatCap = buffer[74]+256*buffer[75]; ^~~~~~ riello.c:859:35: note: used in buffer access here data->NomBatCap = buffer[74]+256*buffer[75]; ^~~~~~ riello.c:863:22: note: used in buffer access here data->Ubypass1 = (buffer[129]+buffer[130]*256)/10; ^~~~~~ riello.c:863:34: note: used in buffer access here data->Ubypass1 = (buffer[129]+buffer[130]*256)/10; ^~~~~~ riello.c:864:22: note: used in buffer access here data->Ubypass2 = (buffer[131]+buffer[132]*256)/10; ^~~~~~ riello.c:864:34: note: used in buffer access here data->Ubypass2 = (buffer[131]+buffer[132]*256)/10; ^~~~~~ riello.c:865:22: note: used in buffer access here data->Ubypass3 = (buffer[133]+buffer[134]*256)/10; ^~~~~~ riello.c:865:34: note: used in buffer access here data->Ubypass3 = (buffer[133]+buffer[134]*256)/10; ^~~~~~ riello.c:866:20: note: used in buffer access here data->Fbypass = buffer[57]+256*buffer[58]; ^~~~~~ riello.c:866:35: note: used in buffer access here data->Fbypass = buffer[57]+256*buffer[58]; ^~~~~~ riello.c:869:21: note: used in buffer access here data->Ubypass1 = buffer[51]*2; ^~~~~~ riello.c:870:21: note: used in buffer access here data->Ubypass2 = buffer[53]*2; ^~~~~~ riello.c:871:21: note: used in buffer access here data->Ubypass3 = buffer[55]*2; ^~~~~~ riello.c:872:20: note: used in buffer access here data->Fbypass = buffer[57]+256*buffer[58]; ^~~~~~ riello.c:872:35: note: used in buffer access here data->Fbypass = buffer[57]+256*buffer[58]; ^~~~~~ riello.c:875:21: note: used in buffer access here data->Ubypass1 = buffer[51]+256*buffer[52]; ^~~~~~ riello.c:875:36: note: used in buffer access here data->Ubypass1 = buffer[51]+256*buffer[52]; ^~~~~~ riello.c:876:21: note: used in buffer access here data->Ubypass2 = buffer[53]+256*buffer[54]; ^~~~~~ riello.c:876:36: note: used in buffer access here data->Ubypass2 = buffer[53]+256*buffer[54]; ^~~~~~ riello.c:877:21: note: used in buffer access here data->Ubypass3 = buffer[55]+256*buffer[56]; ^~~~~~ riello.c:877:36: note: used in buffer access here data->Ubypass3 = buffer[55]+256*buffer[56]; ^~~~~~ riello.c:878:20: note: used in buffer access here data->Fbypass = buffer[57]+256*buffer[58]; ^~~~~~ riello.c:878:35: note: used in buffer access here data->Fbypass = buffer[57]+256*buffer[58]; ^~~~~~ riello.c:889:6: note: used in buffer access here if (buffer[31] & 128) ^~~~~~ riello.c:893:8: note: used in buffer access here if (((buffer[31] & 2) || (riello_test_bit(&buffer[32], 0)) || (riello_test_bit(&buffer[32], 12)) || ^~~~~~ riello.c:893:45: note: used in buffer access here if (((buffer[31] & 2) || (riello_test_bit(&buffer[32], 0)) || (riello_test_bit(&buffer[32], 12)) || ^~~~~~ riello.c:893:82: note: used in buffer access here if (((buffer[31] & 2) || (riello_test_bit(&buffer[32], 0)) || (riello_test_bit(&buffer[32], 12)) || ^~~~~~ riello.c:894:21: note: used in buffer access here (riello_test_bit(&buffer[32], 13)) || (riello_test_bit(&buffer[32], 14))) && (!(buffer[34] & 8))) ^~~~~~ riello.c:894:59: note: used in buffer access here (riello_test_bit(&buffer[32], 13)) || (riello_test_bit(&buffer[32], 14))) && (!(buffer[34] & 8))) ^~~~~~ riello.c:894:83: note: used in buffer access here (riello_test_bit(&buffer[32], 13)) || (riello_test_bit(&buffer[32], 14))) && (!(buffer[34] & 8))) ^~~~~~ riello.c:898:6: note: used in buffer access here if (buffer[31] & 8) ^~~~~~ riello.c:902:6: note: used in buffer access here if (buffer[31] & 16) { ^~~~~~ riello.c:903:7: note: used in buffer access here if (buffer[31] & 8) { ^~~~~~ riello.c:910:7: note: used in buffer access here if ((buffer[22] & 2) || (buffer[34] & 4) || (buffer[34] & 8)) ^~~~~~ riello.c:910:27: note: used in buffer access here if ((buffer[22] & 2) || (buffer[34] & 4) || (buffer[34] & 8)) ^~~~~~ riello.c:910:47: note: used in buffer access here if ((buffer[22] & 2) || (buffer[34] & 4) || (buffer[34] & 8)) ^~~~~~ riello.c:914:6: note: used in buffer access here if (buffer[31] & 0x40) ^~~~~~ riello.c:918:24: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] void riello_init_serial() ^ void riello.c:45:22: warning: 'LAST_DATA' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char LAST_DATA[6]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ riello.c:928:17: note: used in buffer access here LAST_DATA[0] = LAST_DATA[1]; ^~~~~~~~~ riello.c:944:55: note: used in buffer access here if ((buf_ptr_length==0) && (LAST_DATA[5]>0x20) && (LAST_DATA[4]==0x2)) ^~~~~~~~~ riello.c:938:7: note: used in buffer access here ((LAST_DATA[4]==176) && (LAST_DATA[5]==164))) { ^~~~~~~~~ riello.c:944:32: note: used in buffer access here if ((buf_ptr_length==0) && (LAST_DATA[5]>0x20) && (LAST_DATA[4]==0x2)) ^~~~~~~~~ riello.c:938:30: note: used in buffer access here ((LAST_DATA[4]==176) && (LAST_DATA[5]==164))) { ^~~~~~~~~ riello.c:939:15: note: used in buffer access here *length = LAST_DATA[5]; ^~~~~~~~~ riello.c:929:2: note: used in buffer access here LAST_DATA[1] = LAST_DATA[2]; ^~~~~~~~~ riello.c:937:33: note: used in buffer access here if (((LAST_DATA[4]>=192) && (LAST_DATA[5]==103)) || ^~~~~~~~~ riello.c:933:2: note: used in buffer access here LAST_DATA[5] = (uint8_t) a; ^~~~~~~~~ riello.c:937:10: note: used in buffer access here if (((LAST_DATA[4]>=192) && (LAST_DATA[5]==103)) || ^~~~~~~~~ riello.c:929:17: note: used in buffer access here LAST_DATA[1] = LAST_DATA[2]; ^~~~~~~~~ riello.c:932:17: note: used in buffer access here LAST_DATA[4] = LAST_DATA[5]; ^~~~~~~~~ riello.c:931:2: note: used in buffer access here LAST_DATA[3] = LAST_DATA[4]; ^~~~~~~~~ riello.c:932:2: note: used in buffer access here LAST_DATA[4] = LAST_DATA[5]; ^~~~~~~~~ riello.c:930:2: note: used in buffer access here LAST_DATA[2] = LAST_DATA[3]; ^~~~~~~~~ riello.c:930:17: note: used in buffer access here LAST_DATA[2] = LAST_DATA[3]; ^~~~~~~~~ riello.c:931:17: note: used in buffer access here LAST_DATA[3] = LAST_DATA[4]; ^~~~~~~~~ riello.c:45:22: warning: 'LAST_DATA' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char LAST_DATA[6]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ riello.c:963:8: note: used in buffer access here if (LAST_DATA[5] == 0x03) ^~~~~~~~~ riello.c:970:48: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t riello_test_nak(uint8_t type, uint8_t* buffer) ~~~~~~~~~^~~~~~ riello.c:974:8: note: used in buffer access here if (buffer[3] == 0x15) ^~~~~~ riello.c:45:22: warning: 'LAST_DATA' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static unsigned char LAST_DATA[6]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ riello.c:1005:34: note: used in buffer access here LAST_DATA[3], LAST_DATA[4], LAST_DATA[5], buf_ptr_length); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:1010:4: note: used in buffer access here LAST_DATA[int_i] = 0; ^~~~~~~~~ riello.c:1005:6: note: used in buffer access here LAST_DATA[3], LAST_DATA[4], LAST_DATA[5], buf_ptr_length); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:1005:20: note: used in buffer access here LAST_DATA[3], LAST_DATA[4], LAST_DATA[5], buf_ptr_length); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:991:34: note: used in buffer access here LAST_DATA[3], LAST_DATA[4], LAST_DATA[5], buf_ptr_length); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:1004:34: note: used in buffer access here LAST_DATA[0], LAST_DATA[1], LAST_DATA[2], ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:1004:20: note: used in buffer access here LAST_DATA[0], LAST_DATA[1], LAST_DATA[2], ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:991:20: note: used in buffer access here LAST_DATA[3], LAST_DATA[4], LAST_DATA[5], buf_ptr_length); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:991:6: note: used in buffer access here LAST_DATA[3], LAST_DATA[4], LAST_DATA[5], buf_ptr_length); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:996:15: note: used in buffer access here buffer[0] = LAST_DATA[4]; ^~~~~~~~~ riello.c:990:20: note: used in buffer access here LAST_DATA[0], LAST_DATA[1], LAST_DATA[2], ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:990:34: note: used in buffer access here LAST_DATA[0], LAST_DATA[1], LAST_DATA[2], ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello.c:981:56: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void riello_parse_serialport(uint8_t typedev, uint8_t* buffer, uint8_t checksum) ~~~~~~~~~^~~~~~ riello.c:1000:3: note: used in buffer access here buffer[buf_ptr_length++] = actual_char; ^~~~~~ 55 warnings generated. cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_mecer.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_mecer.Tpo -c -o nutdrv_qx-nutdrv_qx_mecer.o `test -f 'nutdrv_qx_mecer.c' || echo './'`nutdrv_qx_mecer.c nutdrv_qx_blazer-common.c:133:10: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] item_t *item; ~~~~~~~~~^~~~ nutdrv_qx_blazer-common.c:142:47: note: used in pointer arithmetic here for (item = qx2nut; item->info_type != NULL; item++) { ^~~~ nutdrv_qx_blazer-common.c:172:10: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] item_t *item; ~~~~~~~~~^~~~ nutdrv_qx_blazer-common.c:177:47: note: used in pointer arithmetic here for (item = qx2nut; item->info_type != NULL; item++) { ^~~~ 2 warnings generated. mv -f .deps/nutdrv_qx-nutdrv_qx_blazer-common.Tpo .deps/nutdrv_qx-nutdrv_qx_blazer-common.Po libusb1.c:471:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] if_desc = &(conf_desc->interface[usb_subdriver.hid_rep_index].altsetting[0]); ^~~~~~~~~~~~~~~~~~~~ libusb1.c:472:47: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (i = 0; i < if_desc->extra_length; i += if_desc->extra[i]) { ^~~~~~~~~~~~~~ libusb1.c:474:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] if_desc->extra[i], if_desc->extra[i+1]); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libusb1.c:474:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] if_desc->extra[i], if_desc->extra[i+1]); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libusb1.c:475:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (i+9 <= if_desc->extra_length && if_desc->extra[i] >= 9 && if_desc->extra[i+1] == 0x21) { ^~~~~~~~~~~~~~ libusb1.c:475:66: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (i+9 <= if_desc->extra_length && if_desc->extra[i] >= 9 && if_desc->extra[i+1] == 0x21) { ^~~~~~~~~~~~~~ libusb1.c:476:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] p = &if_desc->extra[i]; ^~~~~~~~~~~~~~ libusb1.c:147:18: warning: 'devlist' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] libusb_device **devlist; ~~~~~~~~~~~~~~~~^~~~~~~ libusb1.c:186:27: note: used in buffer access here libusb_device *device = devlist[devnum]; ^~~~~~~ libusb1.c:156:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[20]; ~~~~~~~~~~~~~~^~~~~~~ libusb1.c:453:23: note: used in buffer access here rdlen1 = ((uint8_t)buf[7]) | (((uint8_t)buf[8]) << 8); ^~~ libusb1.c:453:44: note: used in buffer access here rdlen1 = ((uint8_t)buf[7]) | (((uint8_t)buf[8]) << 8); ^~~ libusb1.c:157:23: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const unsigned char *p; ~~~~~~~~~~~~~~~~~~~~~^ libusb1.c:478:24: note: used in buffer access here rdlen2 = ((uint8_t)p[7]) | (((uint8_t)p[8]) << 8); ^ libusb1.c:478:43: note: used in buffer access here rdlen2 = ((uint8_t)p[7]) | (((uint8_t)p[8]) << 8); ^ 10 warnings generated. mv -f .deps/nutdrv_qx-libusb1.Tpo .deps/nutdrv_qx-libusb1.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_megatec.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_megatec.Tpo -c -o nutdrv_qx-nutdrv_qx_megatec.o `test -f 'nutdrv_qx_megatec.c' || echo './'`nutdrv_qx_megatec.c mv -f .deps/nutdrv_qx-nutdrv_qx_mecer.Tpo .deps/nutdrv_qx-nutdrv_qx_mecer.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_megatec-old.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_megatec-old.Tpo -c -o nutdrv_qx-nutdrv_qx_megatec-old.o `test -f 'nutdrv_qx_megatec-old.c' || echo './'`nutdrv_qx_megatec-old.c nutdrv_qx_masterguard.c:50:18: warning: 'masterguard_r_batpacks' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static info_rw_t masterguard_r_batpacks[] = { ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:140:2: note: used in buffer access here masterguard_r_batpacks[1].value[0] = '0' + max_bp; ^~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:71:19: warning: 'masterguard_e_outvolts' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static info_rw_t *masterguard_e_outvolts = NULL; /* set in masterguard_output_voltages() */ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:361:11: note: used in buffer access here strncpy(masterguard_e_outvolts[n - 1].value, w, SMALLBUF - 1); ^~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:362:3: note: used in buffer access here masterguard_e_outvolts[n - 1].preprocess = NULL; ^~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:369:2: note: used in buffer access here masterguard_e_outvolts[n].value[0] = '\0'; ^~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:370:2: note: used in buffer access here masterguard_e_outvolts[n].preprocess = NULL; ^~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:449:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t l; ^ nutdrv_qx_masterguard.c:452:22: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if (strncmp(command + l - 4, ",XX\r", 4) != 0) { ~~~~~~~~^~~ nutdrv_qx_masterguard.c:457:17: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] memcpy(command + l - 3, masterguard_my_slaveaddr, 2); ~~~~~~~~^~~ nutdrv_qx_masterguard.c:445:58: warning: 'command' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int masterguard_add_slaveaddr(item_t *item, char *command, const size_t commandlen) { ~~~~~~^~~~~~~ nutdrv_qx_masterguard.c:452:14: note: used in pointer arithmetic here if (strncmp(command + l - 4, ",XX\r", 4) != 0) { ^~~~~~~ nutdrv_qx_masterguard.c:457:9: note: used in pointer arithmetic here memcpy(command + l - 3, masterguard_my_slaveaddr, 2); ^~~~~~~ nutdrv_qx_masterguard.c:469:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] long offdelay; ^ nutdrv_qx_masterguard.c:472:7: warning: 'offstr' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char offstr[3]; ~~~~~^~~~~~~~~ nutdrv_qx_masterguard.c:486:2: note: used in buffer access here offstr[2] = '\0'; ^~~~~~ nutdrv_qx_masterguard.c:484:3: note: used in buffer access here offstr[1] = '0' + (char)(m % 10); ^~~~~~ nutdrv_qx_masterguard.c:480:3: note: used in buffer access here offstr[1] = '0' + (char)offdelay / 6; ^~~~~~ nutdrv_qx_masterguard.c:515:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] long duration; ^ nutdrv_qx_masterguard.c:555:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (item->dfl[1] == '\0') { ^~~~~~~~~ nutdrv_qx_masterguard.c:33:13: warning: 'masterguard_my_slaveaddr' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char masterguard_my_slaveaddr[3] = "??"; /* null-terminated for strtol() in claim() */ ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:656:2: note: used in buffer access here masterguard_my_slaveaddr[1] = '0' + (char)(masterguard_next_slaveaddr % 10); ^~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:935:10: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] item_t *item; ~~~~~~~~^~~~ nutdrv_qx_masterguard.c:1012:59: note: used in pointer arithmetic here for (item = masterguard_qx2nut; item->info_type != NULL; item++) { ^~~~ nutdrv_qx_masterguard.c:948:9: warning: 'sp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **sp; ~~~~~~~^~ nutdrv_qx_masterguard.c:1015:35: note: used in pointer arithmetic here for (sp = commands; sp != NULL; sp++) { ^~ nutdrv_qx_masterguard.c:968:36: note: used in pointer arithmetic here for (sp = mandatory; *sp != NULL; sp++) { ^~ nutdrv_qx_masterguard.c:1016:16: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *p = *sp, *q = item->command; ~~~~~~~~~~~~^~~~~~~ nutdrv_qx_masterguard.c:1024:5: note: used in pointer arithmetic here p++; q++; ^ nutdrv_qx_masterguard.c:1016:26: warning: 'q' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *p = *sp, *q = item->command; ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:1024:10: note: used in pointer arithmetic here p++; q++; ^ nutdrv_qx_masterguard.c:1030:10: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p = cmd; const char *q = item->command; ~~~~~~^~~~~~~ nutdrv_qx_masterguard.c:1032:6: note: used in pointer arithmetic here *p++ = *q++; ^ nutdrv_qx_masterguard.c:1035:5: note: used in pointer arithmetic here *p++ = '\0'; ^ nutdrv_qx_masterguard.c:1030:31: warning: 'q' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p = cmd; const char *q = item->command; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ nutdrv_qx_masterguard.c:1032:13: note: used in pointer arithmetic here *p++ = *q++; ^ 17 warnings generated. mv -f .deps/nutdrv_qx-nutdrv_qx_masterguard.Tpo .deps/nutdrv_qx-nutdrv_qx_masterguard.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_mustek.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_mustek.Tpo -c -o nutdrv_qx-nutdrv_qx_mustek.o `test -f 'nutdrv_qx_mustek.c' || echo './'`nutdrv_qx_mustek.c In file included from apcsmart.c:36: ./apcsmart_tabs.h:101:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern apc_vartab_t apc_vartab[]; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcsmart.c:88:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) ^~~~~~~~~~ apcsmart.c:89:8: note: used in buffer access here if ((apc_vartab[i].flags & APC_PRESENT) && ^~~~~~~~~~ apcsmart.c:90:7: note: used in buffer access here apc_vartab[i].cmd == cmdchar) ^~~~~~~~~~ apcsmart.c:91:12: note: used in buffer access here return &apc_vartab[i]; ^~~~~~~~~~ In file included from apcsmart.c:36: ./apcsmart_tabs.h:101:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern apc_vartab_t apc_vartab[]; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcsmart.c:103:12: note: used in buffer access here return &apc_vartab[i]; ^~~~~~~~~~ apcsmart.c:101:8: note: used in buffer access here if ((apc_vartab[i].flags & APC_PRESENT) && ^~~~~~~~~~ apcsmart.c:102:19: note: used in buffer access here !strcasecmp(apc_vartab[i].name, var)) ^~~~~~~~~~ apcsmart.c:100:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) ^~~~~~~~~~ apcsmart.c:111:14: warning: 'info' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char info[32]; ~~~~~~~~~~~~^~~~~~~~ apcsmart.c:116:9: note: used in pointer arithmetic here return info + curr; ^~~~ apcsmart.c:114:11: note: used in pointer arithmetic here snprintf(info + curr, 8, isprint((size_t)x) ? "%c" : "0x%02x", x); ^~~~ apcsmart.c:139:14: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char temp[APC_LBUF]; ~~~~~~~~~~~~^~~~~~~~~~~~~~ apcsmart.c:146:3: note: used in buffer access here temp[sizeof(temp) - 1] = '\0'; ^~~~ apcsmart.c:282:39: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(1, "\t%s=%x:", cp->name, tio[i]->c_cc[cp->sub]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:214:13: warning: 'dir' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char dir[] = { 's', 'g' }; ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ apcsmart.c:278:76: note: used in buffer access here upsdebugx(1, "tc%cetattr(): gfmt1:cflag=%x:iflag=%x:lflag=%x:oflag=%x:", dir[i], ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:215:18: warning: 'tio' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] struct termios *tio[] = { tioset, tioget }; ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ apcsmart.c:264:22: note: used in buffer access here if (!memcmp(tio[0], tio[1], sizeof(*tio[0]))) ^~~ apcsmart.c:279:52: note: used in buffer access here (unsigned int) tio[i]->c_cflag, (unsigned int) tio[i]->c_iflag, ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:256:3: note: used in buffer access here tio[i]->c_lflag &= ~(unsigned int)PENDIN; ^~~ apcsmart.c:259:3: note: used in buffer access here tio[i]->c_lflag &= ~(unsigned int)FLUSHO; ^~~ apcsmart.c:279:20: note: used in buffer access here (unsigned int) tio[i]->c_cflag, (unsigned int) tio[i]->c_iflag, ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:280:20: note: used in buffer access here (unsigned int) tio[i]->c_lflag, (unsigned int) tio[i]->c_oflag); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:280:52: note: used in buffer access here (unsigned int) tio[i]->c_lflag, (unsigned int) tio[i]->c_oflag); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:282:39: note: used in buffer access here upsdebugx(1, "\t%s=%x:", cp->name, tio[i]->c_cc[cp->sub]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:283:59: note: used in buffer access here upsdebugx(1, "\tispeed=%d:ospeed=%d", (int) cfgetispeed(tio[i]), (int) cfgetospeed(tio[i])); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:283:86: note: used in buffer access here upsdebugx(1, "\tispeed=%d:ospeed=%d", (int) cfgetispeed(tio[i]), (int) cfgetospeed(tio[i])); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:250:6: warning: 'cp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] }, *cp; ~~~~^~ apcsmart.c:281:34: note: used in pointer arithmetic here for (cp = cchars1; cp->name; ++cp) ^~ apcsmart.c:333:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VEOL] = '*'; /* specially handled in apc_read() */ ^~~~~~~~ apcsmart.c:335:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VERASE] = _POSIX_VDISABLE; ^~~~~~~~ apcsmart.c:336:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VKILL] = _POSIX_VDISABLE; ^~~~~~~~ apcsmart.c:338:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VEOL2] = _POSIX_VDISABLE; ^~~~~~~~ apcsmart.c:439:33: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static ssize_t apc_read_i(char *buf, size_t buflen, int flags, const char *fn, unsigned int ln) ~~~~~~^~~ apcsmart.c:562:4: note: used in buffer access here buf[count++] = temp[i]; ^~~ apcsmart.c:548:5: note: used in buffer access here buf[1] = 'K'; ^~~ apcsmart.c:445:7: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char temp[APC_LBUF]; ~~~~~~~~^~~~~~~~~~~~~~ apcsmart.c:558:19: note: used in buffer access here alert_handler(temp[i]); ^~~~ apcsmart.c:532:28: note: used in buffer access here if ((flags & SER_HA) && temp[i] == '*') { ^~~~ apcsmart.c:557:21: note: used in buffer access here if (strchr(aset, temp[i])) { ^~~~ apcsmart.c:553:33: note: used in buffer access here if (strchr(iset, temp[i]) || temp[i] == '*') { ^~~~ apcsmart.c:553:21: note: used in buffer access here if (strchr(iset, temp[i]) || temp[i] == '*') { ^~~~ apcsmart.c:562:19: note: used in buffer access here buf[count++] = temp[i]; ^~~~ apcsmart.c:523:8: note: used in buffer access here if (temp[i] == ENDCHAR) { ^~~~ apcsmart.c:607:45: warning: 'code' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static ssize_t apc_write_long_i(const char *code, const char *fn, unsigned int ln) ~~~~~~~~~~~~^~~~ apcsmart.c:622:42: note: used in pointer arithmetic here ret = ser_send_pace(upsfd, 50000, "%s", code + 1); ^~~~ apcsmart.c:688:9: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] nidx = strstr(name,".0.") + 1; ^~~~~~~~~~~~~~~~~~ apcsmart.c:724:9: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] nidx = strstr(name,".0.") + 1; ^~~~~~~~~~~~~~~~~~ apcsmart.c:702:15: warning: 'vidx' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *temp, *vidx[APC_PACK_MAX], *com, *curr; ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ apcsmart.c:757:8: note: used in buffer access here if (*vidx[c]) ^~~~ apcsmart.c:731:3: note: used in buffer access here vidx[c] = curr; ^~~~ apcsmart.c:758:48: note: used in buffer access here dstate_setinfo(name, "%s", convert_data(vt, vidx[c])); ^~~~ apcsmart.c:702:36: warning: 'com' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *temp, *vidx[APC_PACK_MAX], *com, *curr; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ apcsmart.c:734:11: note: used in pointer arithmetic here curr = com + 1; ^~~ In file included from apcsmart.c:36: ./apcsmart_tabs.h:101:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern apc_vartab_t apc_vartab[]; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcsmart.c:910:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart.c:931:11: note: used in buffer access here vtn = &apc_vartab[j]; ^~~~~~~~~~ apcsmart.c:911:9: note: used in buffer access here vt = &apc_vartab[i]; ^~~~~~~~~~ apcsmart.c:930:19: note: used in buffer access here for (j = i + 1; apc_vartab[j].name != NULL; j++) { ^~~~~~~~~~ apcsmart.c:990:12: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] endtemp = &temp[0] + strlen(temp); ^~~~~~~~ apcsmart.c:946:14: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *ptr, *entptr; ~~~~~~~~~~~~~~~~~^~~ apcsmart.c:960:12: note: used in buffer access here upsloc = ptr[strlen(ptr) - 1]; ^~~ apcsmart.c:1010:4: note: used in pointer arithmetic here ptr += 2; /* jump over repeating ## */ ^~~ apcsmart.c:1034:20: note: used in buffer access here entlen = (size_t)ptr[3] - 48; ^~~ apcsmart.c:1021:9: note: used in buffer access here loc = ptr[1]; ^~~ apcsmart.c:1026:16: note: used in buffer access here __func__, (ptr[2] - 48), (ptr[3] - 48)); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:1033:20: note: used in buffer access here nument = (size_t)ptr[2] - 48; ^~~ apcsmart.c:1026:31: note: used in buffer access here __func__, (ptr[2] - 48), (ptr[3] - 48)); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:1023:22: note: used in buffer access here if (ptr[2] < 48 || ptr[3] < 48) { ^~~ apcsmart.c:1023:7: note: used in buffer access here if (ptr[2] < 48 || ptr[3] < 48) { ^~~ apcsmart.c:1035:13: note: used in buffer access here entptr = &ptr[4]; ^~~ apcsmart.c:946:20: warning: 'entptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *ptr, *entptr; ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ apcsmart.c:1067:4: note: used in pointer arithmetic here entptr += entlen; ^~~~~~ apcsmart.c:947:15: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char upsloc, temp[APC_LBUF], cmd, loc, etmp[APC_SBUF], *endtemp; ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ apcsmart.c:1002:10: note: used in buffer access here ptr = &temp[1]; ^~~~ apcsmart.c:998:6: note: used in buffer access here if (temp[1] == '#') { /* Matrix-UPS */ ^~~~ In file included from apcsmart.c:36: ./apcsmart_tabs.h:101:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern apc_vartab_t apc_vartab[]; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcsmart.c:1083:14: note: used in buffer access here if (strcmp(apc_vartab[i].name, var)) ^~~~~~~~~~ apcsmart.c:1082:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart.c:1085:15: note: used in buffer access here var_verify(&apc_vartab[i]); ^~~~~~~~~~ In file included from apcsmart.c:36: ./apcsmart_tabs.h:101:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern apc_vartab_t apc_vartab[]; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcsmart.c:1104:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart.c:1105:9: note: used in buffer access here vt = &apc_vartab[i]; ^~~~~~~~~~ In file included from apcsmart.c:36: ./apcsmart_tabs.h:102:21: warning: 'apc_cmdtab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern apc_cmdtab_t apc_cmdtab[]; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcsmart.c:1120:14: note: used in buffer access here for (i = 0; apc_cmdtab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart.c:1121:9: note: used in buffer access here ct = &apc_cmdtab[i]; ^~~~~~~~~~ apcsmart.c:1238:43: warning: unsafe buffer access [-Wunsafe-buffer-usage] protocol_verify((const unsigned char)(apc_compattab[i].cmdchars[j])); ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from apcsmart.c:36: ./apcsmart_tabs.h:103:24: warning: 'apc_compattab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern apc_compattab_t apc_compattab[]; ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ apcsmart.c:1238:43: note: used in buffer access here protocol_verify((const unsigned char)(apc_compattab[i].cmdchars[j])); ^~~~~~~~~~~~~ apcsmart.c:1226:41: note: used in buffer access here upsdebugx(1, "matched firmware: %s", apc_compattab[i].firmware); ^~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ apcsmart.c:1223:14: note: used in buffer access here for (i = 0; apc_compattab[i].firmware != NULL; i++) { ^~~~~~~~~~~~~ apcsmart.c:1237:27: note: used in buffer access here for (j = 0; j < strlen(apc_compattab[i].cmdchars); j++) ^~~~~~~~~~~~~ apcsmart.c:1229:15: note: used in buffer access here if (strspn(apc_compattab[i].firmware, "05")) { ^~~~~~~~~~~~~ apcsmart.c:1224:15: note: used in buffer access here if (!strcmp(apc_compattab[i].firmware, buf)) { ^~~~~~~~~~~~~ apcsmart.c:1253:9: warning: 'cmds' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *cmds, *tail, temp[APC_LBUF]; ~~~~~~~~~^~~~ apcsmart.c:1298:40: note: used in buffer access here protocol_verify((const unsigned char)cmds[i]); ^~~~ apcsmart.c:1294:18: note: used in pointer arithmetic here tail = strchr(++cmds, '.'); ^~~~ apcsmart.c:1293:16: note: used in pointer arithmetic here cmds = strchr(cmds + 1, '.'); ^~~~ apcsmart.c:1530:7: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char temp[APC_SBUF], *ptr; ~~~~~^~~~~~~~~~~~~~ apcsmart.c:1539:8: note: used in pointer arithmetic here ptr = temp + 1; ^~~~ apcsmart.c:1530:24: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char temp[APC_SBUF], *ptr; ~~~~~~~~~~~~~~~~~~~~~~^~~ apcsmart.c:1541:4: note: used in pointer arithmetic here *ptr++ = '0'; ^~~ apcsmart.c:1666:14: warning: 'val' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *val; ~~~~~~~~~~~~^~~ apcsmart.c:1680:11: note: used in buffer access here switch (val[i] - '0') { ^~~ apcsmart.c:1688:14: note: used in buffer access here if (sdlist[val[i] - '0'](arg) == STAT_INSTCMD_HANDLED) ^~~ apcsmart.c:68:14: warning: 'sdlist' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static int (*sdlist[])(const void *) = { ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ apcsmart.c:1688:7: note: used in buffer access here if (sdlist[val[i] - '0'](arg) == STAT_INSTCMD_HANDLED) ^~~~~~ In file included from apcsmart.c:36: ./apcsmart_tabs.h:101:21: warning: 'apc_vartab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern apc_vartab_t apc_vartab[]; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcsmart.c:1727:14: note: used in buffer access here for (i = 0; apc_vartab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart.c:1728:16: note: used in buffer access here if (!all && (apc_vartab[i].flags & APC_POLL) == 0) ^~~~~~~~~~ apcsmart.c:1731:19: note: used in buffer access here if (!poll_data(&apc_vartab[i])) { ^~~~~~~~~~ apcsmart.c:1825:7: warning: 'temp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char temp[APC_LBUF], *ptr; ~~~~~~~~^~~~~~~~~~~~~~ apcsmart.c:1852:9: note: used in pointer arithmetic here strcpy(temp + 1, val); ^~~~ apcsmart.c:1853:8: note: used in pointer arithmetic here ptr = temp + strlen(temp); ^~~~ apcsmart.c:1825:24: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char temp[APC_LBUF], *ptr; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ apcsmart.c:1855:4: note: used in pointer arithmetic here *ptr++ = '\015'; /* pad with CRs */ ^~~ apcsmart.c:1983:49: warning: 'ext' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int instcmd(const char *cmd, const char *ext) ~~~~~~~~~~~~^~~ apcsmart.c:2044:20: note: used in pointer arithmetic here return sdcmd_AT(ext + 3); ^~~ In file included from apcsmart.c:36: ./apcsmart_tabs.h:102:21: warning: 'apc_cmdtab' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern apc_cmdtab_t apc_cmdtab[]; ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ apcsmart.c:1988:14: note: used in buffer access here for (i = 0; apc_cmdtab[i].name != NULL; i++) { ^~~~~~~~~~ apcsmart.c:1990:18: note: used in buffer access here if (strcasecmp(apc_cmdtab[i].name, cmd)) ^~~~~~~~~~ apcsmart.c:1993:7: note: used in buffer access here if (apc_cmdtab[i].ext) { ^~~~~~~~~~ apcsmart.c:1994:16: note: used in buffer access here if (!rexhlp(apc_cmdtab[i].ext, ext)) ^~~~~~~~~~ apcsmart.c:2001:9: note: used in buffer access here ct = &apc_cmdtab[i]; ^~~~~~~~~~ apcsmart.c:2085:16: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] apc_vartab_t *ptr; ~~~~~~~~~~~~~~^~~ apcsmart.c:2111:36: note: used in pointer arithmetic here for (ptr = apc_vartab; ptr->name; ptr++) ^~~ 40 warnings generated. cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_q1.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_q1.Tpo -c -o nutdrv_qx-nutdrv_qx_q1.o `test -f 'nutdrv_qx_q1.c' || echo './'`nutdrv_qx_q1.c mv -f .deps/nutdrv_qx-nutdrv_qx_megatec.Tpo .deps/nutdrv_qx-nutdrv_qx_megatec.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_voltronic.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_voltronic.Tpo -c -o nutdrv_qx-nutdrv_qx_voltronic.o `test -f 'nutdrv_qx_voltronic.c' || echo './'`nutdrv_qx_voltronic.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_voltronic-qs.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_voltronic-qs.Tpo -c -o nutdrv_qx-nutdrv_qx_voltronic-qs.o `test -f 'nutdrv_qx_voltronic-qs.c' || echo './'`nutdrv_qx_voltronic-qs.c mv -f .deps/nutdrv_qx-nutdrv_qx_megatec-old.Tpo .deps/nutdrv_qx-nutdrv_qx_megatec-old.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_voltronic-qs-hex.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_voltronic-qs-hex.Tpo -c -o nutdrv_qx-nutdrv_qx_voltronic-qs-hex.o `test -f 'nutdrv_qx_voltronic-qs-hex.c' || echo './'`nutdrv_qx_voltronic-qs-hex.c nutdrv_qx.c:328:18: warning: 'packs' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const double packs[] = { 120, 100, 80, 60, 48, 36, 30, 24, 18, 12, 8, 6, 4, 3, 2, 1, 0.5, -1 }; ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx.c:335:17: note: used in buffer access here for (i = 0; packs[i] > 0; i++) { ^~~~~ nutdrv_qx.c:337:10: note: used in buffer access here if (packs[i] * batt.volt.act > 1.2 * batt.volt.nom) { ^~~~~ nutdrv_qx.c:341:10: note: used in buffer access here if (packs[i] * batt.volt.act < 0.8 * batt.volt.nom) { ^~~~~ nutdrv_qx.c:348:19: note: used in buffer access here batt.packs = packs[i]; ^~~~~ nutdrv_qx.c:467:51: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int cypress_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:513:23: note: used in buffer access here (usb_ctrl_charbuf)&buf[i], 8, 1000); ^~~ nutdrv_qx.c:526:25: note: used in buffer access here upsdebug_hex(5, tmp, &buf[i], (size_t)ret); ^~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ nutdrv_qx.c:469:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ nutdrv_qx.c:491:23: note: used in buffer access here (usb_ctrl_charbuf)&tmp[i], 8, 5000); ^~~ nutdrv_qx.c:540:36: warning: 'cmd' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int sgs_command(const char *cmd, char *buf, size_t buflen) ~~~~~~~~~~~~^~~ nutdrv_qx.c:565:20: note: used in buffer access here memcpy(&tmp[1], &cmd[i], (unsigned char)ret); ^~~ nutdrv_qx.c:540:47: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int sgs_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:618:12: note: used in buffer access here memcpy(&buf[i], &tmp[1], (unsigned char)ret); ^~~ nutdrv_qx.c:630:4: note: used in buffer access here buf[i++] = '\r'; ^~~ nutdrv_qx.c:621:25: note: used in buffer access here upsdebug_hex(5, tmp, &buf[i], (size_t)ret); ^~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ nutdrv_qx.c:631:4: note: used in buffer access here buf[i] = 0; ^~~ nutdrv_qx.c:542:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ nutdrv_qx.c:618:21: note: used in buffer access here memcpy(&buf[i], &tmp[1], (unsigned char)ret); ^~~ nutdrv_qx.c:565:11: note: used in buffer access here memcpy(&tmp[1], &cmd[i], (unsigned char)ret); ^~~ nutdrv_qx.c:645:51: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int phoenix_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:721:23: note: used in buffer access here (usb_ctrl_charbuf)&buf[i], 8, 1000); ^~~ nutdrv_qx.c:733:25: note: used in buffer access here upsdebug_hex(5, tmp, &buf[i], (size_t)ret); ^~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ nutdrv_qx.c:647:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ nutdrv_qx.c:700:39: note: used in buffer access here 0x09, 0x200, 0, (usb_ctrl_charbuf)&tmp[i], 8, 1000); ^~~ nutdrv_qx.c:747:49: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int ippon_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:830:4: note: used in buffer access here buf[len] = 0; ^~~ nutdrv_qx.c:829:4: note: used in buffer access here buf[len++] = '\r'; ^~~ nutdrv_qx.c:749:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[64]; ~~~~~~~~^~~~~~~ nutdrv_qx.c:804:7: note: used in buffer access here if (tmp[i] != '\r') ^~~ nutdrv_qx.c:768:37: note: used in buffer access here 0x09, 0x2, 0, (usb_ctrl_charbuf)&tmp[i], 8, 1000); ^~~ nutdrv_qx.c:970:18: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] unsigned int di, si, size = (unsigned int)buf[0]; ^ nutdrv_qx.c:895:51: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int krauler_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:979:7: note: used in buffer access here buf[di++] = buf[si]; ^~~ nutdrv_qx.c:976:10: note: used in buffer access here if (buf[si + 1]) /* high byte */ ^~~ nutdrv_qx.c:977:7: note: used in buffer access here buf[di++] = '?'; ^~~ nutdrv_qx.c:979:19: note: used in buffer access here buf[di++] = buf[si]; ^~~ nutdrv_qx.c:984:5: note: used in buffer access here buf[di] = 0; ^~~ nutdrv_qx.c:993:6: note: used in buffer access here buf[ret++] = '\r'; ^~~ nutdrv_qx.c:994:6: note: used in buffer access here buf[ret] = 0; ^~~ nutdrv_qx.c:904:4: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } command[] = { ~~^~~~~~~~~~~~~ nutdrv_qx.c:946:6: note: used in buffer access here command[i].index, ^~~~~~~ nutdrv_qx.c:931:19: note: used in buffer access here if (strcmp(cmd, command[i].str)) { ^~~~~~~ nutdrv_qx.c:927:14: note: used in buffer access here for (i = 0; command[i].str; i++) { ^~~~~~~ nutdrv_qx.c:942:6: note: used in buffer access here command[i].index, langid_fix, ^~~~~~~ nutdrv_qx.c:1008:13: note: used in buffer access here buf[0] = command[i].prefix; ^~~~~~~ nutdrv_qx.c:1027:50: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int fabula_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:1119:4: note: used in buffer access here buf[ret++] = '\r'; ^~~ nutdrv_qx.c:1120:4: note: used in buffer access here buf[ret] = 0; ^~~ nutdrv_qx.c:1032:4: warning: 'commands' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } commands[] = { ~~^~~~~~~~~~~~~~ nutdrv_qx.c:1056:11: note: used in buffer access here index = commands[i].index; ^~~~~~~~ nutdrv_qx.c:1053:19: note: used in buffer access here if (strcmp(cmd, commands[i].str)) ^~~~~~~~ nutdrv_qx.c:1051:14: note: used in buffer access here for (i = 0; commands[i].str; i++) { ^~~~~~~~ nutdrv_qx.c:1275:17: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] unsigned int di, si, size = (unsigned int)buf[0]; ^ nutdrv_qx.c:1146:50: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int hunnox_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:1281:6: note: used in buffer access here buf[di++] = '?'; ^~~ nutdrv_qx.c:1280:9: note: used in buffer access here if (buf[si + 1]) /* high byte */ ^~~ nutdrv_qx.c:1283:6: note: used in buffer access here buf[di++] = buf[si]; ^~~ nutdrv_qx.c:1287:4: note: used in buffer access here buf[di] = 0; ^~~ nutdrv_qx.c:1283:18: note: used in buffer access here buf[di++] = buf[si]; ^~~ nutdrv_qx.c:1157:4: warning: 'commands' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } commands[] = { ~~^~~~~~~~~~~~~~ nutdrv_qx.c:1176:14: note: used in buffer access here for (i = 0; commands[i].str; i++) { ^~~~~~~~ nutdrv_qx.c:1178:19: note: used in buffer access here if (strcmp(cmd, commands[i].str)) ^~~~~~~~ nutdrv_qx.c:1181:11: note: used in buffer access here index = commands[i].index; ^~~~~~~~ nutdrv_qx.c:1312:48: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int fuji_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:1440:23: note: used in buffer access here (usb_ctrl_charbuf)&buf[i], 8, 1000); ^~~ nutdrv_qx.c:1452:26: note: used in buffer access here upsdebug_hex(5, read, &buf[i], (size_t)ret); ^~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ nutdrv_qx.c:1314:16: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char tmp[8]; ~~~~~~~~~~~~~~~~^~~~~~ nutdrv_qx.c:1405:2: note: used in buffer access here tmp[1] = 0x06; ^~~ nutdrv_qx.c:1413:2: note: used in buffer access here tmp[7] = answer_len; ^~~ nutdrv_qx.c:1409:2: note: used in buffer access here tmp[3] = 0x03; ^~~ nutdrv_qx.c:1407:2: note: used in buffer access here tmp[2] = (unsigned char)strlen(command) + 1; ^~~ nutdrv_qx.c:1411:10: note: used in buffer access here memcpy(&tmp[4], command, strlen(command)); ^~~ nutdrv_qx.c:1315:8: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char command[SMALLBUF] = "", ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx.c:1378:3: note: used in buffer access here command[3] = 0; ^~~~~~~ nutdrv_qx.c:1325:4: warning: 'query' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } query[] = { ~~^~~~~~~~~~~ nutdrv_qx.c:1390:14: note: used in buffer access here for (i = 0; query[i].command; i++) { ^~~~~ nutdrv_qx.c:1395:16: note: used in buffer access here answer_len = query[i].answer_len; ^~~~~ nutdrv_qx.c:1392:23: note: used in buffer access here if (strcmp(command, query[i].command)) ^~~~~ nutdrv_qx.c:1463:54: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int phoenixtec_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:1528:25: note: used in pointer arithmetic here if (e != NULL && ++e < buf + buflen) { ^~~ nutdrv_qx.c:1518:32: note: used in pointer arithmetic here (usb_ctrl_charbuf)p, (int)(buf + buflen - p), 1000)) <= 0 ^~~ nutdrv_qx.c:1514:20: note: used in pointer arithmetic here for (p = buf; p < buf + buflen; p += ret) { ^~~ nutdrv_qx.c:1466:8: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p, *e = NULL; ~~~~~~^ nutdrv_qx.c:1514:34: note: used in pointer arithmetic here for (p = buf; p < buf + buflen; p += ret) { ^ nutdrv_qx.c:1501:9: note: used in pointer arithmetic here if (*p++ != *q++) { ^ nutdrv_qx.c:1466:12: warning: 'e' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p, *e = NULL; ~~~~~~~~~~^~~~~~~~ nutdrv_qx.c:1528:21: note: used in pointer arithmetic here if (e != NULL && ++e < buf + buflen) { ^ nutdrv_qx.c:1468:9: warning: 'lp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **lp; ~~~~~~~^~ nutdrv_qx.c:1495:28: note: used in pointer arithmetic here for (lp = l; *lp != NULL; lp++) { ^~ nutdrv_qx.c:1496:15: warning: 'q' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *q; ~~~~~~~~~~~~^ nutdrv_qx.c:1501:17: note: used in pointer arithmetic here if (*p++ != *q++) { ^ nutdrv_qx.c:1613:17: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] unsigned int di, si, size = (unsigned int)buf[0]; ^ nutdrv_qx.c:1540:47: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int snr_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:1620:6: note: used in buffer access here buf[di++] = '?'; ^~~ nutdrv_qx.c:1627:4: note: used in buffer access here buf[di] = 0; ^~~ nutdrv_qx.c:1622:18: note: used in buffer access here buf[di++] = buf[si]; ^~~ nutdrv_qx.c:1622:6: note: used in buffer access here buf[di++] = buf[si]; ^~~ nutdrv_qx.c:1619:9: note: used in buffer access here if (buf[si + 1]) /* high byte */ ^~~ nutdrv_qx.c:1547:4: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } command[] = { ~~^~~~~~~~~~~~~ nutdrv_qx.c:1582:19: note: used in buffer access here if (strcmp(cmd, command[i].str)) { ^~~~~~~ nutdrv_qx.c:1591:5: note: used in buffer access here command[i].index, langid_fix, ^~~~~~~ nutdrv_qx.c:1640:13: note: used in buffer access here buf[0] = command[i].prefix; ^~~~~~~ nutdrv_qx.c:1578:14: note: used in buffer access here for (i = 0; command[i].str; i++) { ^~~~~~~ nutdrv_qx.c:1674:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int retry; ^ nutdrv_qx.c:1658:40: warning: 'cmd' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int ablerex_command(const char *cmd, char *buf, size_t buflen) ~~~~~~~~~~~~^~~ nutdrv_qx.c:1686:17: note: used in buffer access here tmp[3+iii] = cmd[iii]; ^~~ nutdrv_qx.c:1658:51: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int ablerex_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:1734:5: note: used in buffer access here buf[idx] = 0; ^~~ nutdrv_qx.c:1707:4: note: used in buffer access here buf[idx] = tmpryy[idx]; ^~~ nutdrv_qx.c:1663:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[64]; ~~~~~~~~^~~~~~~ nutdrv_qx.c:1682:3: note: used in buffer access here tmp[2] = 1 + (char)strcspn(cmd, "\r"); ^~~ nutdrv_qx.c:1681:3: note: used in buffer access here tmp[1] = 0; ^~~ nutdrv_qx.c:1686:4: note: used in buffer access here tmp[3+iii] = cmd[iii]; ^~~ nutdrv_qx.c:1684:24: note: used in buffer access here for (iii = 0 ; iii < tmp[2] ; iii++) ^~~ nutdrv_qx.c:1664:7: warning: 'tmpryy' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmpryy[64]; ~~~~~~~~^~~~~~~~~~ nutdrv_qx.c:1708:8: note: used in buffer access here if (tmpryy[idx] == '\r') ^~~~~~ nutdrv_qx.c:1707:15: note: used in buffer access here buf[idx] = tmpryy[idx]; ^~~~~~ nutdrv_qx.c:1762:38: warning: 'cmd' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int armac_command(const char *cmd, char *buf, size_t buflen) ~~~~~~~~~~~~^~~ nutdrv_qx.c:1797:22: note: used in pointer arithmetic here memcpy(tmpbuf + 1, cmd + i, bytes_to_send); ^~~ nutdrv_qx.c:1762:49: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int armac_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ nutdrv_qx.c:1847:10: note: used in pointer arithmetic here memcpy(buf + bufpos, tmpbuf + 1, bytes_available); ^~~ nutdrv_qx.c:1764:7: warning: 'tmpbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmpbuf[6]; ~~~~~~~~^~~~~~~~~ nutdrv_qx.c:1839:26: note: used in buffer access here tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5]); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1838:15: note: used in buffer access here tmpbuf[0], tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5], ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1839:4: note: used in buffer access here tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5]); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1838:26: note: used in buffer access here tmpbuf[0], tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5], ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1838:59: note: used in buffer access here tmpbuf[0], tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5], ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1797:10: note: used in pointer arithmetic here memcpy(tmpbuf + 1, cmd + i, bytes_to_send); ^~~~~~ nutdrv_qx.c:1838:37: note: used in buffer access here tmpbuf[0], tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5], ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1838:48: note: used in buffer access here tmpbuf[0], tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5], ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1839:15: note: used in buffer access here tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5]); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1839:37: note: used in buffer access here tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5]); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1839:48: note: used in buffer access here tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5]); ^~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:1847:24: note: used in pointer arithmetic here memcpy(buf + bufpos, tmpbuf + 1, bytes_available); ^~~~~~ nutdrv_qx.c:1772:14: warning: 'unsupported' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char *unsupported[] = { ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ nutdrv_qx.c:1781:14: note: used in buffer access here for (i = 0; unsupported[i] != NULL; i++) { ^~~~~~~~~~~ nutdrv_qx.c:1782:19: note: used in buffer access here if (strcmp(cmd, unsupported[i]) == 0) { ^~~~~~~~~~~ nutdrv_qx.c:1997:22: warning: 'usbdev' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] qx_usb_device_id_t *usbdev; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ nutdrv_qx.c:1999:60: note: used in pointer arithmetic here for (usbdev = usb_device_id_list; usbdev->vendorID != -1; usbdev++) { ^~~~~~ nutdrv_qx.c:2279:15: warning: 'rvalue' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_rw_t *rvalue; ~~~~~~~~~~~~~~~~~^~~~~~ nutdrv_qx.c:2290:78: note: used in pointer arithmetic here for (rvalue = item->info_rw; rvalue != NULL && strlen(rvalue->value) > 0; rvalue++) { ^~~~~~ nutdrv_qx.c:2357:15: warning: 'envalue' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_rw_t *envalue; ~~~~~~~~~~~~~~~~~^~~~~~~ nutdrv_qx.c:2366:81: note: used in pointer arithmetic here for (envalue = item->info_rw; envalue != NULL && strlen(envalue->value) > 0; envalue++) { ^~~~~~~ nutdrv_qx.c:2622:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t i; ^ nutdrv_qx.c:2598:5: warning: 'usbsubdriver' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } usbsubdriver[] = { ~~^~~~~~~~~~~~~~~~~~ nutdrv_qx.c:2624:14: note: used in buffer access here for (i = 0; usbsubdriver[i].name != NULL; i++) { ^~~~~~~~~~~~ nutdrv_qx.c:2627:16: note: used in buffer access here printf("%s", usbsubdriver[i].name); ^~~~~~~~~~~~ nutdrv_qx.c:86:21: warning: 'subdriver_list' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static subdriver_t *subdriver_list[] = { ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ nutdrv_qx.c:2687:14: note: used in buffer access here for (i = 0; subdriver_list[i] != NULL; i++) { ^~~~~~~~~~~~~~ nutdrv_qx.c:2689:7: note: used in buffer access here if (subdriver_list[i]->makevartable != NULL) ^~~~~~~~~~~~~~ nutdrv_qx.c:2690:4: note: used in buffer access here subdriver_list[i]->makevartable(); ^~~~~~~~~~~~~~ nutdrv_qx.c:2951:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int ret, langid; ^ nutdrv_qx.c:2906:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VEOL] = '\r'; ^~~~~~~~ nutdrv_qx.c:2907:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VERASE] = _POSIX_VDISABLE; ^~~~~~~~ nutdrv_qx.c:2908:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VINTR] = _POSIX_VDISABLE; ^~~~~~~~ nutdrv_qx.c:2909:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VKILL] = _POSIX_VDISABLE; ^~~~~~~~ nutdrv_qx.c:2910:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VQUIT] = _POSIX_VDISABLE; ^~~~~~~~ nutdrv_qx.c:2911:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSUSP] = _POSIX_VDISABLE; ^~~~~~~~ nutdrv_qx.c:2912:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTART] = _POSIX_VDISABLE; ^~~~~~~~ nutdrv_qx.c:2913:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTOP] = _POSIX_VDISABLE; ^~~~~~~~ nutdrv_qx.c:2969:17: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if ( (sscanf(getval("langid_fix") + 2, "%x", &u_langid_fix) != 1) ^~~~~~~~~~~~~~~~~~~~ nutdrv_qx.c:2598:5: warning: 'usbsubdriver' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } usbsubdriver[] = { ~~^~~~~~~~~~~~~~~~~~ nutdrv_qx.c:2992:16: note: used in buffer access here for (i = 0; usbsubdriver[i].name; i++) { ^~~~~~~~~~~~ nutdrv_qx.c:2994:28: note: used in buffer access here if (strcasecmp(subdrv, usbsubdriver[i].name)) { ^~~~~~~~~~~~ nutdrv_qx.c:2998:25: note: used in buffer access here subdriver_command = usbsubdriver[i].command; ^~~~~~~~~~~~ nutdrv_qx.c:2882:5: warning: 'cablepower' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } cablepower[] = { ~~^~~~~~~~~~~~~~~~ nutdrv_qx.c:2920:22: note: used in buffer access here for (i = 0; val && cablepower[i].val; i++) { ^~~~~~~~~~ nutdrv_qx.c:2922:25: note: used in buffer access here if (!strcasecmp(val, cablepower[i].val)) { ^~~~~~~~~~ nutdrv_qx.c:2927:8: note: used in buffer access here if (!cablepower[i].val) { ^~~~~~~~~~ nutdrv_qx.c:2931:22: note: used in buffer access here ser_set_dtr(upsfd, cablepower[i].dtr); ^~~~~~~~~~ nutdrv_qx.c:2932:22: note: used in buffer access here ser_set_rts(upsfd, cablepower[i].rts); ^~~~~~~~~~ nutdrv_qx.c:2952:8: warning: 'tbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tbuf[255]; /* Some devices choke on size > 255 */ ~~~~~~~~^~~~~~~~~ nutdrv_qx.c:3071:24: note: used in buffer access here langid = ((uint8_t)tbuf[2]) | (((uint8_t)tbuf[3]) << 8); ^~~~ nutdrv_qx.c:3071:46: note: used in buffer access here langid = ((uint8_t)tbuf[2]) | (((uint8_t)tbuf[3]) << 8); ^~~~ nutdrv_qx.c:2953:9: warning: 'regex_array' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *regex_array[7]; ~~~~~~~~~^~~~~~~~~~~~~~ nutdrv_qx.c:2958:3: note: used in buffer access here regex_array[1] = getval("productid"); ^~~~~~~~~~~ nutdrv_qx.c:2959:3: note: used in buffer access here regex_array[2] = getval("vendor"); ^~~~~~~~~~~ nutdrv_qx.c:2960:3: note: used in buffer access here regex_array[3] = getval("product"); ^~~~~~~~~~~ nutdrv_qx.c:2961:3: note: used in buffer access here regex_array[4] = getval("serial"); ^~~~~~~~~~~ nutdrv_qx.c:2962:3: note: used in buffer access here regex_array[5] = getval("bus"); ^~~~~~~~~~~ nutdrv_qx.c:2963:3: note: used in buffer access here regex_array[6] = getval("device"); ^~~~~~~~~~~ nutdrv_qx.c:2986:28: note: used in buffer access here if (!regex_array[0] || !regex_array[1]) { ^~~~~~~~~~~ nutdrv_qx.c:3020:6: note: used in buffer access here regex_array[ret]); ^~~~~~~~~~~ nutdrv_qx.c:3155:10: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] ssize_t ret = -1; ^ nutdrv_qx.c:3346:32: warning: 'value' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void update_status(const char *value) ~~~~~~~~~~~~^~~~~ nutdrv_qx.c:3354:3: note: used in pointer arithmetic here value++; ^~~~~ nutdrv_qx.c:3348:16: warning: 'status_item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] status_lkp_t *status_item; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~ nutdrv_qx.c:3358:68: note: used in pointer arithmetic here for (status_item = status_info; status_item->status_str != NULL ; status_item++) { ^~~~~~~~~~~ nutdrv_qx.c:86:21: warning: 'subdriver_list' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static subdriver_t *subdriver_list[] = { ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ nutdrv_qx.c:3383:14: note: used in buffer access here for (i = 0; subdriver_list[i] != NULL; i++) { ^~~~~~~~~~~~~~ nutdrv_qx.c:3394:18: note: used in buffer access here (int)strcspn(subdriver_list[i]->name, " "), ^~~~~~~~~~~~~~ nutdrv_qx.c:3395:5: note: used in buffer access here subdriver_list[i]->name); ^~~~~~~~~~~~~~ nutdrv_qx.c:3399:6: note: used in buffer access here subdriver_list[i]->name); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx.c:3408:16: note: used in buffer access here subdriver = subdriver_list[i]; ^~~~~~~~~~~~~~ nutdrv_qx.c:3446:14: warning: 'envalue' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_rw_t *envalue; ~~~~~~~~~~~~~~~~~^~~~~~~ nutdrv_qx.c:3450:80: note: used in pointer arithmetic here for (envalue = item->info_rw; envalue != NULL && strlen(envalue->value) > 0; envalue++) { ^~~~~~~ nutdrv_qx.c:3482:14: warning: 'rvalue' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_rw_t *rvalue, *from = NULL, *to = NULL; ~~~~~~~~~~~~~~~~~^~~~~~ nutdrv_qx.c:3486:77: note: used in pointer arithmetic here for (rvalue = item->info_rw; rvalue != NULL && strlen(rvalue->value) > 0; rvalue++) { ^~~~~~ nutdrv_qx.c:3768:16: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] const char *val = dstate_getinfo("battery.voltage"); ^ nutdrv_qx.c:3539:10: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] item_t *item; ~~~~~~~~~^~~~ nutdrv_qx.c:3556:58: note: used in pointer arithmetic here for (item = subdriver->qx2nut; item->info_type != NULL; item++) { ^~~~ nutdrv_qx.c:3885:10: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] item_t *item; ~~~~~~~~~^~~~ nutdrv_qx.c:3887:58: note: used in pointer arithmetic here for (item = subdriver->qx2nut; item->info_type != NULL; item++) { ^~~~ nutdrv_qx.c:3944:4: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] item->answer + item->from); ^~~~~~~~~~~~ 69 warnings generated. mv -f .deps/nutdrv_qx-nutdrv_qx.Tpo .deps/nutdrv_qx-nutdrv_qx.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_zinto.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_zinto.Tpo -c -o nutdrv_qx-nutdrv_qx_zinto.o `test -f 'nutdrv_qx_zinto.c' || echo './'`nutdrv_qx_zinto.c mv -f .deps/nutdrv_qx-nutdrv_qx_mustek.Tpo .deps/nutdrv_qx-nutdrv_qx_mustek.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_hunnox.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_hunnox.Tpo -c -o nutdrv_qx-nutdrv_qx_hunnox.o `test -f 'nutdrv_qx_hunnox.c' || echo './'`nutdrv_qx_hunnox.c mv -f .deps/nutdrv_qx-nutdrv_qx_zinto.Tpo .deps/nutdrv_qx-nutdrv_qx_zinto.Po mv -f .deps/nutdrv_qx-nutdrv_qx_voltronic-qs.Tpo .deps/nutdrv_qx-nutdrv_qx_voltronic-qs.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_qx-nutdrv_qx_ablerex.o -MD -MP -MF .deps/nutdrv_qx-nutdrv_qx_ablerex.Tpo -c -o nutdrv_qx-nutdrv_qx_ablerex.o `test -f 'nutdrv_qx_ablerex.c' || echo './'`nutdrv_qx_ablerex.c mv -f .deps/nutdrv_qx-nutdrv_qx_q1.Tpo .deps/nutdrv_qx-nutdrv_qx_q1.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-snmp-ups.o -MD -MP -MF .deps/snmp_ups-snmp-ups.Tpo -c -o snmp_ups-snmp-ups.o `test -f 'snmp-ups.c' || echo './'`snmp-ups.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-snmp-ups-helpers.o -MD -MP -MF .deps/snmp_ups-snmp-ups-helpers.Tpo -c -o snmp_ups-snmp-ups-helpers.o `test -f 'snmp-ups-helpers.c' || echo './'`snmp-ups-helpers.c mv -f .deps/nutdrv_qx-nutdrv_qx_hunnox.Tpo .deps/nutdrv_qx-nutdrv_qx_hunnox.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-apc-mib.o -MD -MP -MF .deps/snmp_ups-apc-mib.Tpo -c -o snmp_ups-apc-mib.o `test -f 'apc-mib.c' || echo './'`apc-mib.c nutdrv_qx_voltronic-qs-hex.c:215:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (item->answer[i] == 0x20) { ^~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:222:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (i < len && item->answer[i] == 0x28) { ^~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:224:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] switch (item->answer[i + 1]) ^~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:243:52: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintfcat(refined, sizeof(refined), "%02x", ((unsigned char *)item->answer)[i]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:245:84: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintfcat(refined, sizeof(refined), "%08d", voltronic_qs_hex_char_to_binary(((unsigned char *)item->answer)[i])); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:255:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (item->answer[i] == 0x0D) ^~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:259:50: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintfcat(refined, sizeof(refined), "%02x", ((unsigned char *)item->answer)[i]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:261:82: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintfcat(refined, sizeof(refined), "%08d", voltronic_qs_hex_char_to_binary(((unsigned char *)item->answer)[i])); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:313:4: warning: 'items_to_be_unskipped' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } items_to_be_unskipped[] = { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:345:14: note: used in buffer access here for (i = 0; items_to_be_unskipped[i].info_type; i++) { ^~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:346:26: note: used in buffer access here unskip = find_nut_info(items_to_be_unskipped[i].info_type, items_to_be_unskipped[i].flags, items_to_be_unskipped[i].noflags); ^~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:346:62: note: used in buffer access here unskip = find_nut_info(items_to_be_unskipped[i].info_type, items_to_be_unskipped[i].flags, items_to_be_unskipped[i].noflags); ^~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic-qs-hex.c:346:94: note: used in buffer access here unskip = find_nut_info(items_to_be_unskipped[i].info_type, items_to_be_unskipped[i].flags, items_to_be_unskipped[i].noflags); ^~~~~~~~~~~~~~~~~~~~~ 9 warnings generated. mv -f .deps/nutdrv_qx-nutdrv_qx_voltronic-qs-hex.Tpo .deps/nutdrv_qx-nutdrv_qx_voltronic-qs-hex.Po nutdrv_qx_ablerex.c:47:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int Q5_Fout = (unsigned char)item->answer[1] * 256 + (unsigned char)item->answer[2]; ^ nutdrv_qx_ablerex.c:43:58: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q51: %d %d %d %d %d %d", item->answer[0], item->answer[1], item->answer[2], item->answer[3], item->answer[4], item->answer[5]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:43:75: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q51: %d %d %d %d %d %d", item->answer[0], item->answer[1], item->answer[2], item->answer[3], item->answer[4], item->answer[5]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:43:92: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q51: %d %d %d %d %d %d", item->answer[0], item->answer[1], item->answer[2], item->answer[3], item->answer[4], item->answer[5]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:43:109: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q51: %d %d %d %d %d %d", item->answer[0], item->answer[1], item->answer[2], item->answer[3], item->answer[4], item->answer[5]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:43:126: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q51: %d %d %d %d %d %d", item->answer[0], item->answer[1], item->answer[2], item->answer[3], item->answer[4], item->answer[5]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:44:41: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q52: %d %d %d %d %d %d", item->answer[6], item->answer[7], item->answer[8], item->answer[9], item->answer[10], item->answer[11]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:44:58: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q52: %d %d %d %d %d %d", item->answer[6], item->answer[7], item->answer[8], item->answer[9], item->answer[10], item->answer[11]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:44:75: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q52: %d %d %d %d %d %d", item->answer[6], item->answer[7], item->answer[8], item->answer[9], item->answer[10], item->answer[11]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:44:92: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q52: %d %d %d %d %d %d", item->answer[6], item->answer[7], item->answer[8], item->answer[9], item->answer[10], item->answer[11]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:44:109: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q52: %d %d %d %d %d %d", item->answer[6], item->answer[7], item->answer[8], item->answer[9], item->answer[10], item->answer[11]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:44:127: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q52: %d %d %d %d %d %d", item->answer[6], item->answer[7], item->answer[8], item->answer[9], item->answer[10], item->answer[11]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:45:35: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q53: %d %d %d %d", item->answer[12], item->answer[13], item->answer[14], item->answer[15]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:45:53: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q53: %d %d %d %d", item->answer[12], item->answer[13], item->answer[14], item->answer[15]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:45:71: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q53: %d %d %d %d", item->answer[12], item->answer[13], item->answer[14], item->answer[15]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:45:89: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(2, "Q53: %d %d %d %d", item->answer[12], item->answer[13], item->answer[14], item->answer[15]); ^~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ nutdrv_qx_ablerex.c:47:31: warning: unsafe buffer access [-Wunsafe-buffer-usage] int Q5_Fout = (unsigned char)item->answer[1] * 256 + (unsigned char)item->answer[2]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:47:70: warning: unsafe buffer access [-Wunsafe-buffer-usage] int Q5_Fout = (unsigned char)item->answer[1] * 256 + (unsigned char)item->answer[2]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:48:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] int Q5_Vb = (unsigned char)item->answer[7] * 256 + (unsigned char)item->answer[8]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:48:68: warning: unsafe buffer access [-Wunsafe-buffer-usage] int Q5_Vb = (unsigned char)item->answer[7] * 256 + (unsigned char)item->answer[8]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:49:26: warning: unsafe buffer access [-Wunsafe-buffer-usage] Q5_Vbc = (unsigned char)item->answer[9] * 256 + (unsigned char)item->answer[10]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:49:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] Q5_Vbc = (unsigned char)item->answer[9] * 256 + (unsigned char)item->answer[10]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:51:30: warning: unsafe buffer access [-Wunsafe-buffer-usage] int Q5_Err = (unsigned char)item->answer[13] * 256 + (unsigned char)item->answer[14]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:51:70: warning: unsafe buffer access [-Wunsafe-buffer-usage] int Q5_Err = (unsigned char)item->answer[13] * 256 + (unsigned char)item->answer[14]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:52:32: warning: unsafe buffer access [-Wunsafe-buffer-usage] int Q5_O_Cur = (unsigned char)item->answer[15] * 256 + (unsigned char)item->answer[16]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:52:72: warning: unsafe buffer access [-Wunsafe-buffer-usage] int Q5_O_Cur = (unsigned char)item->answer[15] * 256 + (unsigned char)item->answer[16]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:98:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] double nomBattV = 0.0; ^ nutdrv_qx_ablerex.c:123:15: warning: 'onlineP' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const double onlineP[] = { ~~~~~~~~~~~~~^~~~~~~~~~~~~ nutdrv_qx_ablerex.c:157:18: note: used in buffer access here if (BattIn >= onlineP[i]) { ^~~~~~~ nutdrv_qx_ablerex.c:131:12: warning: 'onlineC' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const int onlineC[] = { ~~~~~~~~~~^~~~~~~~~~~~~ nutdrv_qx_ablerex.c:156:15: note: used in buffer access here for (i = 0; onlineC[i] > 0; i++) { ^~~~~~~ nutdrv_qx_ablerex.c:158:14: note: used in buffer access here charge = onlineC[i]; ^~~~~~~ nutdrv_qx_ablerex.c:139:15: warning: 'offlineP' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const double offlineP[] = { ~~~~~~~~~~~~~^~~~~~~~~~~~~~ nutdrv_qx_ablerex.c:167:18: note: used in buffer access here if (BattIn >= offlineP[i]) { ^~~~~~~~ nutdrv_qx_ablerex.c:145:12: warning: 'offlineC' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const int offlineC[] = { ~~~~~~~~~~^~~~~~~~~~~~~~ nutdrv_qx_ablerex.c:168:14: note: used in buffer access here charge = offlineC[i]; ^~~~~~~~ nutdrv_qx_ablerex.c:166:15: note: used in buffer access here for (i = 0; offlineC[i] > 0; i++) { ^~~~~~~~ nutdrv_qx_ablerex.c:186:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] double nomBattV = 0.0; ^ nutdrv_qx_ablerex.c:238:28: warning: unsafe buffer access [-Wunsafe-buffer-usage] RawValue = (unsigned char)item->answer[1] * 65536 * 256 + (unsigned char)item->answer[2] * 65536 ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:238:75: warning: unsafe buffer access [-Wunsafe-buffer-usage] RawValue = (unsigned char)item->answer[1] * 65536 * 256 + (unsigned char)item->answer[2] * 65536 ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:239:28: warning: unsafe buffer access [-Wunsafe-buffer-usage] + (unsigned char)item->answer[3] * 256 + (unsigned char)item->answer[4]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:239:67: warning: unsafe buffer access [-Wunsafe-buffer-usage] + (unsigned char)item->answer[3] * 256 + (unsigned char)item->answer[4]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:250:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] TR[0] = item->answer[1]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:251:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] TR[1] = item->answer[2]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:252:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] TR[2] = item->answer[3]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:253:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] TR[3] = item->answer[4]; ^~~~~~~~~~~~ nutdrv_qx_ablerex.c:248:7: warning: 'TR' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char TR[8]; ~~~~~^~~~~ nutdrv_qx_ablerex.c:253:2: note: used in buffer access here TR[3] = item->answer[4]; ^~ nutdrv_qx_ablerex.c:251:2: note: used in buffer access here TR[1] = item->answer[2]; ^~ nutdrv_qx_ablerex.c:252:2: note: used in buffer access here TR[2] = item->answer[3]; ^~ nutdrv_qx_ablerex.c:254:2: note: used in buffer access here TR[4] = 0; ^~ nutdrv_qx_ablerex.c:304:10: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] double vout = strtod(dstate_getinfo("output.voltage"), NULL); ^ nutdrv_qx_ablerex.c:277:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (item->value[2] == '1') {/* UPS Type is Standby (0 is On_line) */ ^~~~~~~~~~~ 43 warnings generated. mv -f .deps/snmp_ups-snmp-ups-helpers.Tpo .deps/snmp_ups-snmp-ups-helpers.Po mv -f .deps/snmp_ups-apc-mib.Tpo .deps/snmp_ups-apc-mib.Po mv -f .deps/nutdrv_qx-nutdrv_qx_ablerex.Tpo .deps/nutdrv_qx-nutdrv_qx_ablerex.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-apc-pdu-mib.o -MD -MP -MF .deps/snmp_ups-apc-pdu-mib.Tpo -c -o snmp_ups-apc-pdu-mib.o `test -f 'apc-pdu-mib.c' || echo './'`apc-pdu-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-baytech-mib.o -MD -MP -MF .deps/snmp_ups-baytech-mib.Tpo -c -o snmp_ups-baytech-mib.o `test -f 'baytech-mib.c' || echo './'`baytech-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-bestpower-mib.o -MD -MP -MF .deps/snmp_ups-bestpower-mib.Tpo -c -o snmp_ups-bestpower-mib.o `test -f 'bestpower-mib.c' || echo './'`bestpower-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-compaq-mib.o -MD -MP -MF .deps/snmp_ups-compaq-mib.Tpo -c -o snmp_ups-compaq-mib.o `test -f 'compaq-mib.c' || echo './'`compaq-mib.c mv -f .deps/snmp_ups-baytech-mib.Tpo .deps/snmp_ups-baytech-mib.Po nutdrv_qx_voltronic.c:216:25: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] long protocol = strtol(dstate_getinfo("ups.firmware.aux")+1, NULL, 10), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:371:25: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] long protocol = strtol(dstate_getinfo("ups.firmware.aux")+1, NULL, 10), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:518:25: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] long protocol = strtol(dstate_getinfo("ups.firmware.aux")+1, NULL, 10), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:617:25: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] long protocol = strtol(dstate_getinfo("ups.firmware.aux")+1, NULL, 10), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:732:25: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] long protocol = strtol(dstate_getinfo("ups.firmware.aux")+1, NULL, 10), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:853:25: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] long protocol = strtol(dstate_getinfo("ups.firmware.aux")+1, NULL, 10), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:1762:10: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] item_t *item; ~~~~~~~~~^~~~ nutdrv_qx_voltronic.c:1764:57: note: used in pointer arithmetic here for (item = voltronic_qx2nut; item->info_type != NULL; item++) { ^~~~ nutdrv_qx_voltronic.c:2092:7: warning: 'rawval' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char rawval[SMALLBUF], *enabled, *disabled, *val = NULL, *saveptr = NULL; ~~~~~~~~^~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:2097:21: note: used in pointer arithmetic here enabled = strtok_r(rawval+1, "D", &saveptr); ^~~~~~ nutdrv_qx_voltronic.c:2468:4: warning: 'capability' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } capability[] = { ~~^~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:2484:14: note: used in buffer access here for (i = 0; capability[i].type; i++) { ^~~~~~~~~~ nutdrv_qx_voltronic.c:2486:35: note: used in buffer access here if (strcasecmp(item->info_type, capability[i].type)) ^~~~~~~~~~ nutdrv_qx_voltronic.c:2489:11: note: used in buffer access here match = capability[i].match; ^~~~~~~~~~ nutdrv_qx_voltronic.c:2554:31: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] const long protocol = strtol(dstate_getinfo("ups.firmware.aux")+1, NULL, 10); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:2652:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintf(item->info_rw[1].value, sizeof(item->info_rw[1].value), "%d", max.upper); ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:2652:43: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintf(item->info_rw[1].value, sizeof(item->info_rw[1].value), "%d", max.upper); ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:2659:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintf(item->info_rw[1].value, sizeof(item->info_rw[1].value), "%d", min.upper); ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:2659:43: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintf(item->info_rw[1].value, sizeof(item->info_rw[1].value), "%d", min.upper); ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:2737:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!strlen(from->info_rw[i].value)) ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:2740:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintf(value, valuelen, "%s", from->info_rw[i].value); ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:2935:13: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if (strspn(item->value+2, "0123489") != strlen(item->value+2)) { ^~~~~~~~~~~ nutdrv_qx_voltronic.c:2935:49: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if (strspn(item->value+2, "0123489") != strlen(item->value+2)) { ^~~~~~~~~~~ nutdrv_qx_voltronic.c:2940:20: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] protocol = strtol(item->value+2, NULL, 10); ^~~~~~~~~~~ nutdrv_qx_voltronic.c:2977:25: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] long protocol = strtol(dstate_getinfo("ups.firmware.aux")+1, NULL, 10); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:3002:89: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if ((strspn(item->value, "0123456789ABC") != 2) || ((item->value[0] != '1') && (strspn(item->value+1, "0123456789") != 1))) { ^~~~~~~~~~~ nutdrv_qx_voltronic.c:3009:15: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if (strpbrk(item->value+1, "ABC")) { ^~~~~~~~~~~ nutdrv_qx_voltronic.c:3129:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] switch (item->value[1]) ^~~~~~~~~~~ nutdrv_qx_voltronic.c:3387:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (item->value[i] == '1') { ^~~~~~~~~~~ nutdrv_qx_voltronic.c:3368:28: warning: 'unk' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char warn[SMALLBUF] = "", unk[SMALLBUF] = "", bitwarns[SMALLBUF] = "", warns[4096] = ""; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:3731:68: note: used in pointer arithmetic here snprintfcat(warns, sizeof(warns), " Unknown warnings [bit:%s]", unk+1); ^~~ nutdrv_qx_voltronic.c:3747:63: note: used in pointer arithmetic here snprintf(warns, sizeof(warns), "Unknown warnings [bit:%s]", unk+1); ^~~ nutdrv_qx_voltronic.c:3734:76: note: used in pointer arithmetic here snprintfcat(bitwarns, sizeof(bitwarns), "]; Unknown warnings [bit:%s]", unk+1); ^~~ nutdrv_qx_voltronic.c:3924:24: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] long prot = strtol(dstate_getinfo("ups.firmware.aux")+1, NULL, 10); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:3953:12: warning: 'faultitem' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] item_t *faultitem; ~~~~~~~~~^~~~~~~~~ nutdrv_qx_voltronic.c:3955:69: note: used in pointer arithmetic here for (faultitem = voltronic_qx2nut; faultitem->info_type != NULL; faultitem++) { ^~~~~~~~~ nutdrv_qx_voltronic.c:4095:17: warning: unsafe buffer access [-Wunsafe-buffer-usage] char number = item->info_type[7], ^~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4180:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] char number = item->info_type[7], ^~~~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4257:41: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if ((item->value[0] != '0') || (strspn(item->value+1, "012") != 1)) { ^~~~~~~~~~~ nutdrv_qx_voltronic.c:4280:39: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintf(value, valuelen, item->dfl, item->info_rw[(size_t)val].value); ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4296:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (i = 0; strlen(item->info_rw[i].value) > 0; i++) { ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4298:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!strcasecmp(item->info_rw[i].value, value)) ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4304:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!strlen(item->info_rw[i].value)) { ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4319:41: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if ((item->value[0] != '0') || (strspn(item->value+1, "01") != 1)) { ^~~~~~~~~~~ nutdrv_qx_voltronic.c:4342:39: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintf(value, valuelen, item->dfl, item->info_rw[(size_t)val].value); ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4360:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (i = 0; strlen(item->info_rw[i].value) > 0; i++) { ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4362:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!strcasecmp(item->info_rw[i].value, value)) ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4368:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!strlen(item->info_rw[i].value)) { ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4374:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] upslogx(LOG_INFO, "%s is already set to %s", item->info_type, item->info_rw[i].value); ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4449:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (i = 0; strlen(item->info_rw[i].value) > 0; i++) { ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4451:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!strcasecmp(item->info_rw[i].value, value)) ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4457:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!strlen(item->info_rw[i].value)) { ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4462:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (strtol(item->info_rw[i].value, NULL, 10) == output_phase_angle) { ^~~~~~~~~~~~~ nutdrv_qx_voltronic.c:4463:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] upslogx(LOG_INFO, "%s is already set to %s", item->info_type, item->info_rw[i].value); ^~~~~~~~~~~~~ 45 warnings generated. mv -f .deps/nutdrv_qx-nutdrv_qx_voltronic.Tpo .deps/nutdrv_qx-nutdrv_qx_voltronic.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-cyberpower-mib.o -MD -MP -MF .deps/snmp_ups-cyberpower-mib.Tpo -c -o snmp_ups-cyberpower-mib.o `test -f 'cyberpower-mib.c' || echo './'`cyberpower-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-delta_ups-mib.o -MD -MP -MF .deps/snmp_ups-delta_ups-mib.Tpo -c -o snmp_ups-delta_ups-mib.o `test -f 'delta_ups-mib.c' || echo './'`delta_ups-mib.c mv -f .deps/snmp_ups-bestpower-mib.Tpo .deps/snmp_ups-bestpower-mib.Po mv -f .deps/snmp_ups-apc-pdu-mib.Tpo .deps/snmp_ups-apc-pdu-mib.Po mv -f .deps/snmp_ups-compaq-mib.Tpo .deps/snmp_ups-compaq-mib.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-eaton-pdu-genesis2-mib.o -MD -MP -MF .deps/snmp_ups-eaton-pdu-genesis2-mib.Tpo -c -o snmp_ups-eaton-pdu-genesis2-mib.o `test -f 'eaton-pdu-genesis2-mib.c' || echo './'`eaton-pdu-genesis2-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-eaton-pdu-marlin-mib.o -MD -MP -MF .deps/snmp_ups-eaton-pdu-marlin-mib.Tpo -c -o snmp_ups-eaton-pdu-marlin-mib.o `test -f 'eaton-pdu-marlin-mib.c' || echo './'`eaton-pdu-marlin-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-eaton-pdu-marlin-helpers.o -MD -MP -MF .deps/snmp_ups-eaton-pdu-marlin-helpers.Tpo -c -o snmp_ups-eaton-pdu-marlin-helpers.o `test -f 'eaton-pdu-marlin-helpers.c' || echo './'`eaton-pdu-marlin-helpers.c mv -f .deps/snmp_ups-delta_ups-mib.Tpo .deps/snmp_ups-delta_ups-mib.Po mv -f .deps/snmp_ups-eaton-pdu-genesis2-mib.Tpo .deps/snmp_ups-eaton-pdu-genesis2-mib.Po mv -f .deps/snmp_ups-eaton-pdu-marlin-mib.Tpo .deps/snmp_ups-eaton-pdu-marlin-mib.Po mv -f .deps/snmp_ups-cyberpower-mib.Tpo .deps/snmp_ups-cyberpower-mib.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-eaton-pdu-pulizzi-mib.o -MD -MP -MF .deps/snmp_ups-eaton-pdu-pulizzi-mib.Tpo -c -o snmp_ups-eaton-pdu-pulizzi-mib.o `test -f 'eaton-pdu-pulizzi-mib.c' || echo './'`eaton-pdu-pulizzi-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-eaton-pdu-revelation-mib.o -MD -MP -MF .deps/snmp_ups-eaton-pdu-revelation-mib.Tpo -c -o snmp_ups-eaton-pdu-revelation-mib.o `test -f 'eaton-pdu-revelation-mib.c' || echo './'`eaton-pdu-revelation-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-eaton-ats16-nmc-mib.o -MD -MP -MF .deps/snmp_ups-eaton-ats16-nmc-mib.Tpo -c -o snmp_ups-eaton-ats16-nmc-mib.o `test -f 'eaton-ats16-nmc-mib.c' || echo './'`eaton-ats16-nmc-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-eaton-ats16-nm2-mib.o -MD -MP -MF .deps/snmp_ups-eaton-ats16-nm2-mib.Tpo -c -o snmp_ups-eaton-ats16-nm2-mib.o `test -f 'eaton-ats16-nm2-mib.c' || echo './'`eaton-ats16-nm2-mib.c mv -f .deps/snmp_ups-eaton-pdu-pulizzi-mib.Tpo .deps/snmp_ups-eaton-pdu-pulizzi-mib.Po eaton-pdu-marlin-helpers.c:45:42: warning: 'daisy_dev_list' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] long marlin_device_count_fun(const char *daisy_dev_list) ~~~~~~~~~~~~^~~~~~~~~~~~~~ eaton-pdu-marlin-helpers.c:49:14: note: used in buffer access here for (i = 0; daisy_dev_list[i] != '\0'; i++) { ^~~~~~~~~~~~~~ eaton-pdu-marlin-helpers.c:50:7: note: used in buffer access here if (daisy_dev_list[i] == ',') { ^~~~~~~~~~~~~~ eaton-pdu-marlin-helpers.c:55:16: note: used in buffer access here if (i > 0 && (daisy_dev_list[i - 1] != ',') ) { ^~~~~~~~~~~~~~ 1 warning generated. snmp-ups.c:219:15: warning: 'su_info_p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] snmp_info_t *su_info_p; ~~~~~~~~~~~~~^~~~~~~~~ snmp-ups.c:235:88: note: used in pointer arithmetic here for (su_info_p = &snmp_info[0]; (su_info_p != NULL && su_info_p->info_type != NULL) ; su_info_p++) ^~~~~~~~~ snmp-ups.c:410:8: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p = tmp_buf; ~~~~~~^~~~~~~~~~~ snmp-ups.c:423:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:432:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:441:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:468:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:450:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:459:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:477:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:485:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:494:8: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *p = tmp_buf; ~~~~~~^~~~~~~~~~~ snmp-ups.c:507:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:516:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:525:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:554:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:562:2: note: used in pointer arithmetic here p += ret; ^ snmp-ups.c:590:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int i; ^ snmp-ups.c:92:24: warning: 'mib2nut' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static mib2nut_info_t *mib2nut[] = { ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ snmp-ups.c:594:13: note: used in buffer access here for (i=0; mib2nut[i] != NULL; i++) { ^~~~~~~ snmp-ups.c:596:5: note: used in buffer access here mib2nut[i]->mib_name ? mib2nut[i]->mib_name : "" , ^~~~~~~ snmp-ups.c:596:29: note: used in buffer access here mib2nut[i]->mib_name ? mib2nut[i]->mib_name : "" , ^~~~~~~ snmp-ups.c:598:5: note: used in buffer access here mib2nut[i]->sysOID ? mib2nut[i]->sysOID : "" , ^~~~~~~ snmp-ups.c:597:5: note: used in buffer access here mib2nut[i]->mib_version ? mib2nut[i]->mib_version : "" , ^~~~~~~ snmp-ups.c:597:32: note: used in buffer access here mib2nut[i]->mib_version ? mib2nut[i]->mib_version : "" , ^~~~~~~ snmp-ups.c:598:29: note: used in buffer access here mib2nut[i]->sysOID ? mib2nut[i]->sysOID : "" , ^~~~~~~ snmp-ups.c:599:5: note: used in buffer access here mib2nut[i]->oid_auto_check ? mib2nut[i]->oid_auto_check : "" ); ^~~~~~~ snmp-ups.c:599:34: note: used in buffer access here mib2nut[i]->oid_auto_check ? mib2nut[i]->oid_auto_check : "" ); ^~~~~~~ snmp-ups.c:158:28: warning: 'daisychain_info' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static daisychain_info_t **daisychain_info = NULL; ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ snmp-ups.c:698:3: note: used in buffer access here daisychain_info[curdev] = (daisychain_info_t*)malloc(sizeof(daisychain_info_t)); ^~~~~~~~~~~~~~~ snmp-ups.c:699:3: note: used in buffer access here daisychain_info[curdev]->input_phases = (long)-1; ^~~~~~~~~~~~~~~ snmp-ups.c:700:3: note: used in buffer access here daisychain_info[curdev]->output_phases = (long)-1; ^~~~~~~~~~~~~~~ snmp-ups.c:701:3: note: used in buffer access here daisychain_info[curdev]->bypass_phases = (long)-1; ^~~~~~~~~~~~~~~ snmp-ups.c:1067:21: warning: 'current_element' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] struct snmp_pdu ** current_element; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ snmp-ups.c:1074:4: note: used in pointer arithmetic here current_element++; ^~~~~~~~~~~~~~~ snmp-ups.c:1162:22: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] struct snmp_pdu ** new_ret_array = realloc( ^ snmp-ups.c:1092:21: warning: 'ret_array' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] struct snmp_pdu ** ret_array = NULL; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ snmp-ups.c:1173:3: note: used in buffer access here ret_array[nb_iteration-1] = response; ^~~~~~~~~ snmp-ups.c:1174:3: note: used in buffer access here ret_array[nb_iteration]=NULL; ^~~~~~~~~ snmp-ups.c:1280:10: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] char *oid_leaf = strrchr(tmp_buf, '.'); ^ snmp-ups.c:1222:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int hex = 0, x; ^ snmp-ups.c:1208:54: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static bool_t decode_str(struct snmp_pdu *pdu, char *buf, size_t buf_len, info_lkp_t *oid2info) ~~~~~~^~~ snmp-ups.c:1233:4: note: used in buffer access here buf[len] = '\0'; ^~~ snmp-ups.c:1253:4: note: used in buffer access here buf[buf_len-1]='\0'; ^~~ snmp-ups.c:1223:18: warning: 'cp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char *cp; ~~~~~~~~~~~~~~~^~ snmp-ups.c:1224:86: note: used in pointer arithmetic here for(cp = pdu->variables->val.string, x = 0; x < (int)pdu->variables->val_len; x++, cp++) { ^~ snmp-ups.c:1280:10: warning: 'oid_leaf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *oid_leaf = strrchr(tmp_buf, '.'); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ snmp-ups.c:1281:33: note: used in pointer arithmetic here snprintf(buf, buf_len, "%s", oid_leaf+1); ^~~~~~~~ snmp-ups.c:1401:10: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] char *oid_leaf = strrchr(tmp_buf, '.'); ^ snmp-ups.c:1368:8: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *buf; ~~~~~~^~~ snmp-ups.c:1381:3: note: used in buffer access here buf[pdu->variables->val_len] = '\0'; ^~~ snmp-ups.c:1401:10: warning: 'oid_leaf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *oid_leaf = strrchr(tmp_buf, '.'); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ snmp-ups.c:1402:19: note: used in pointer arithmetic here value = strtol(oid_leaf+1, NULL, 0); ^~~~~~~~ snmp-ups.c:1546:15: warning: 'su_info_p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] snmp_info_t *su_info_p; ~~~~~~~~~~~~~^~~~~~~~~ snmp-ups.c:1558:88: note: used in pointer arithmetic here for (su_info_p = &snmp_info[0]; (su_info_p != NULL && su_info_p->info_type != NULL) ; su_info_p++) { ^~~~~~~~~ snmp-ups.c:1622:29: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] current_device_number, su_info_p->info_type + 7); ^~~~~~~~~~~~~~~~~~~~ snmp-ups.c:1575:14: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~~~~~~^~~~~~~~ snmp-ups.c:1682:38: note: used in pointer arithmetic here && info_lkp->info_value != NULL; info_lkp++) { ^~~~~~~~ snmp-ups.c:1754:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] char alarm_info_value_more[SU_LARGEBUF + 32]; /* can sprintf() SU_LARGEBUF plus markup into here */ ^ snmp-ups.c:1723:15: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] info_type = strchr(su_info_p->info_type + 7, '.') + 1; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ snmp-ups.c:1723:22: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] info_type = strchr(su_info_p->info_type + 7, '.') + 1; ^~~~~~~~~~~~~~~~~~~~ snmp-ups.c:1711:14: warning: 'info_type' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *info_type = NULL; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~ snmp-ups.c:1753:23: note: used in pointer arithmetic here item_number = atoi(info_type+1); ^~~~~~~~~ snmp-ups.c:1773:15: warning: 'su_info_p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] snmp_info_t *su_info_p; ~~~~~~~~~~~~~^~~~~~~~~ snmp-ups.c:1783:88: note: used in pointer arithmetic here for (su_info_p = &snmp_info[0]; (su_info_p != NULL && su_info_p->info_type != NULL) ; su_info_p++) ^~~~~~~~~ snmp-ups.c:1795:30: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static bool_t match_model_OID() ^ void snmp-ups.c:1857:36: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static mib2nut_info_t *match_sysoid() ^ void snmp-ups.c:92:24: warning: 'mib2nut' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static mib2nut_info_t *mib2nut[] = { ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ snmp-ups.c:1881:15: note: used in buffer access here for (i = 0; mib2nut[i] != NULL; i++) ^~~~~~~ snmp-ups.c:1883:50: note: used in buffer access here upsdebugx(1, "%s: checking MIB %s", __func__, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1885:8: note: used in buffer access here if (mib2nut[i]->sysOID == NULL) ^~~~~~~ snmp-ups.c:1905:60: note: used in buffer access here upsdebugx(2, "%s: sysOID matches MIB '%s'!", __func__, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1892:20: note: used in buffer access here if (!read_objid(mib2nut[i]->sysOID, mib2nut_sysOID, &mib2nut_sysOID_len)) ^~~~~~~ snmp-ups.c:1902:67: note: used in buffer access here upsdebugx(1, "%s: comparing %s with %s", __func__, sysOID_buf, mib2nut[i]->sysOID); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1907:17: note: used in buffer access here snmp_info = mib2nut[i]->snmp_info; ^~~~~~~ snmp-ups.c:1912:20: note: used in buffer access here __func__, i, mib2nut[i]->mib_name ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1919:20: note: used in buffer access here __func__, i, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1924:81: note: used in buffer access here upsdebugx(2, "%s: testOID provided and doesn't match MIB '%s'!", __func__, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1929:75: note: used in buffer access here upsdebugx(2, "%s: testOID provided and matches MIB '%s'!", __func__, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1931:12: note: used in buffer access here return mib2nut[i]; ^~~~~~~ snmp-ups.c:92:24: warning: 'mib2nut' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static mib2nut_info_t *mib2nut[] = { ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ snmp-ups.c:2038:10: note: used in buffer access here m2n = mib2nut[i]; ^~~~~~~ snmp-ups.c:2016:19: note: used in buffer access here __func__, i, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:2029:16: note: used in buffer access here __func__, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:2035:16: note: used in buffer access here __func__, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:2004:16: note: used in buffer access here snmp_info = mib2nut[i]->snmp_info; ^~~~~~~ snmp-ups.c:2001:15: note: used in buffer access here __func__, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1989:15: note: used in buffer access here for (i = 0; mib2nut[i] != NULL; i++) { ^~~~~~~ snmp-ups.c:2009:19: note: used in buffer access here __func__, i, mib2nut[i]->mib_name ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1992:18: note: used in buffer access here __func__, i, mib2nut[i]->mib_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:1993:34: note: used in buffer access here if (!mibIsAuto && strcmp(mib, mib2nut[i]->mib_name)) { ^~~~~~~ snmp-ups.c:2081:14: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~^~~~~~~~ snmp-ups.c:2084:43: note: used in pointer arithmetic here (strcmp(info_lkp->info_value, "NULL")); info_lkp++) { ^~~~~~~~ snmp-ups.c:2104:16: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] const char * retvalue = oid2info->fun_vp2s(value); ^ snmp-ups.c:2126:16: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] const char * retvalue = oid2info->fun_vp2s(raw_value); ^ snmp-ups.c:2119:14: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~^~~~~~~~ snmp-ups.c:2134:78: note: used in pointer arithmetic here (info_lkp->info_value != NULL) && (strcmp(info_lkp->info_value, "NULL")); info_lkp++) { ^~~~~~~~ snmp-ups.c:2150:15: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] snmp_info_t *p; ~~~~~~~~~~~~~~~~~^ snmp-ups.c:2160:59: note: used in pointer arithmetic here for(p = snmp_info; (p != NULL && p->info_type != NULL) ; p++) { ^ snmp-ups.c:2206:8: warning: 'format_char' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *format_char = NULL; ~~~~~~^~~~~~~~~~~~~~~~~~ snmp-ups.c:2216:14: note: used in pointer arithmetic here if (strchr(format_char + 1, '%') != NULL) { ^~~~~~~~~~~ snmp-ups.c:2291:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int base_index = -1; ^ snmp-ups.c:2514:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] ptr = (char*)&su_info_p->info_type[7]; ^~~~~~~~~~~~~~~~~~~~ snmp-ups.c:2720:74: warning: 'varname' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int extract_template_number(snmp_info_flags_t template_type, const char* varname) ~~~~~~~~~~~~^~~~~~~ snmp-ups.c:2726:22: note: used in buffer access here item_number_ptr = &varname[12]; ^~~~~~~ snmp-ups.c:2728:22: note: used in buffer access here item_number_ptr = &varname[6]; ^~~~~~~ snmp-ups.c:2730:22: note: used in buffer access here item_number_ptr = &varname[6]; ^~~~~~~ snmp-ups.c:2732:22: note: used in buffer access here item_number_ptr = &varname[7]; ^~~~~~~ snmp-ups.c:2722:14: warning: 'item_number_ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char* item_number_ptr = NULL; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ snmp-ups.c:2736:23: note: used in pointer arithmetic here item_number = atoi(++item_number_ptr); ^~~~~~~~~~~~~~~ snmp-ups.c:2802:23: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] bool_t daisychain_init() ^ void snmp-ups.c:3071:23: warning: variable 'iterations' set but not used [-Wunused-but-set-variable] static unsigned long iterations = 0; ^ snmp-ups.c:158:28: warning: 'daisychain_info' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static daisychain_info_t **daisychain_info = NULL; ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ snmp-ups.c:3239:27: note: used in buffer access here walked_input_phases = &daisychain_info[current_device_number]->input_phases; ^~~~~~~~~~~~~~~ snmp-ups.c:3247:28: note: used in buffer access here walked_output_phases = &daisychain_info[current_device_number]->output_phases; ^~~~~~~~~~~~~~~ snmp-ups.c:3255:28: note: used in buffer access here walked_bypass_phases = &daisychain_info[current_device_number]->bypass_phases; ^~~~~~~~~~~~~~~ snmp-ups.c:3072:15: warning: 'su_info_p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] snmp_info_t *su_info_p; ~~~~~~~~~~~~~^~~~~~~~~ snmp-ups.c:3121:89: note: used in pointer arithmetic here for (su_info_p = &snmp_info[0]; (su_info_p != NULL && su_info_p->info_type != NULL) ; su_info_p++) { ^~~~~~~~~ snmp-ups.c:3573:16: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] const char *fmt_buf = NULL; ^ snmp-ups.c:3311:14: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char buf[SU_INFOSIZE]; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~ snmp-ups.c:3554:3: note: used in buffer access here buf[sizeof(buf) - 1] = '\0'; ^~~ snmp-ups.c:3316:21: warning: 'pdu_array' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] struct snmp_pdu ** pdu_array; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ snmp-ups.c:3474:19: note: used in buffer access here current_pdu = pdu_array[index]; ^~~~~~~~~ snmp-ups.c:3498:20: note: used in buffer access here current_pdu = pdu_array[index]; ^~~~~~~~~ snmp-ups.c:3318:18: warning: 'alarms' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] alarms_info_t * alarms; ~~~~~~~~~~~~~~~~^~~~~~ snmp-ups.c:3494:8: note: used in pointer arithmetic here alarms++; ^~~~~~ snmp-ups.c:3393:11: warning: 'varname' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char * varname = su_info_p->info_type; ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ snmp-ups.c:3395:9: note: used in buffer access here && (varname[7] >= '0' && varname[7] <= '9') ^~~~~~~ snmp-ups.c:3395:30: note: used in buffer access here && (varname[7] >= '0' && varname[7] <= '9') ^~~~~~~ snmp-ups.c:3801:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] char *item_varname = (char *)xmalloc(SU_INFOSIZE); ^ snmp-ups.c:3647:6: warning: variable 'cmd_offset' set but not used [-Wunused-but-set-variable] int cmd_offset = 0; ^ snmp-ups.c:3642:44: warning: 'varname' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int su_setOID(int mode, const char *varname, const char *val) ~~~~~~~~~~~~^~~~~~~ snmp-ups.c:3669:7: note: used in buffer access here if (varname[7] >= '0' && varname[7] <= '9') { ^~~~~~~ snmp-ups.c:3669:28: note: used in buffer access here if (varname[7] >= '0' && varname[7] <= '9') { ^~~~~~~ snmp-ups.c:3674:37: note: used in buffer access here daisychain_device_number = atoi(&varname[7]); ^~~~~~~ snmp-ups.c:3676:26: note: used in buffer access here tmp_varname = strdup(&varname[9]); ^~~~~~~ snmp-ups.c:3756:20: note: used in pointer arithmetic here "device.%s", (varname + 9)); ^~~~~~~ snmp-ups.c:3653:8: warning: 'tmp_varname' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *tmp_varname = NULL; ~~~~~~^~~~~~~~~~~~~~~~~~ snmp-ups.c:3782:23: note: used in buffer access here item_number_ptr = &tmp_varname[12]; ^~~~~~~~~~~ snmp-ups.c:3787:23: note: used in buffer access here item_number_ptr = &tmp_varname[6]; ^~~~~~~~~~~ snmp-ups.c:3771:15: warning: 'item_number_ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *item_number_ptr = NULL; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ snmp-ups.c:3790:24: note: used in pointer arithmetic here item_number = atoi(++item_number_ptr); ^~~~~~~~~~~~~~~ snmp-ups.c:3804:18: note: used in pointer arithmetic here "%i", strchr(item_number_ptr++, '.')); ^~~~~~~~~~~~~~~ snmp-ups.c:4028:54: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int parse_mibconf_args(size_t numargs, char **arg) ~~~~~~~^~~ snmp-ups.c:4048:65: note: used in buffer access here upslogx(LOG_ERR, "%s: cannot set value %s for %s", __func__, arg[4], arg[3]); ^~~ snmp-ups.c:4044:27: note: used in buffer access here ret = nut_snmp_set_int(arg[3], strtol(arg[4], NULL, 0)); ^~~ snmp-ups.c:4042:35: note: used in buffer access here ret = nut_snmp_set_str(arg[3], arg[4]); ^~~ snmp-ups.c:4042:27: note: used in buffer access here ret = nut_snmp_set_str(arg[3], arg[4]); ^~~ snmp-ups.c:4041:15: note: used in buffer access here if (!strcmp(arg[1], "str")) { ^~~ snmp-ups.c:4044:42: note: used in buffer access here ret = nut_snmp_set_int(arg[3], strtol(arg[4], NULL, 0)); ^~~ snmp-ups.c:4048:73: note: used in buffer access here upslogx(LOG_ERR, "%s: cannot set value %s for %s", __func__, arg[4], arg[3]); ^~~ snmp-ups.c:4050:72: note: used in buffer access here upsdebugx(1, "%s: successfully set %s to \"%s\"", __func__, arg[0], arg[4]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:4056:49: note: used in buffer access here upsdebugx(2, "%s, %s, %s, %s, %s, %s", arg[0], arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:4056:57: note: used in buffer access here upsdebugx(2, "%s, %s, %s, %s, %s, %s", arg[0], arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:4056:65: note: used in buffer access here upsdebugx(2, "%s, %s, %s, %s, %s, %s", arg[0], arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:4056:73: note: used in buffer access here upsdebugx(2, "%s, %s, %s, %s, %s, %s", arg[0], arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:4056:81: note: used in buffer access here upsdebugx(2, "%s, %s, %s, %s, %s, %s", arg[0], arg[1], arg[2], arg[3], arg[4], arg[5]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ snmp-ups.c:4101:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx.arglist[i]); ^~~~~~~~~~~ 55 warnings generated. mv -f .deps/snmp_ups-eaton-pdu-marlin-helpers.Tpo .deps/snmp_ups-eaton-pdu-marlin-helpers.Po mv -f .deps/snmp_ups-eaton-ats16-nm2-mib.Tpo .deps/snmp_ups-eaton-ats16-nm2-mib.Po mv -f .deps/snmp_ups-eaton-ats16-nmc-mib.Tpo .deps/snmp_ups-eaton-ats16-nmc-mib.Po mv -f .deps/snmp_ups-eaton-pdu-revelation-mib.Tpo .deps/snmp_ups-eaton-pdu-revelation-mib.Po mv -f .deps/snmp_ups-snmp-ups.Tpo .deps/snmp_ups-snmp-ups.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-apc-ats-mib.o -MD -MP -MF .deps/snmp_ups-apc-ats-mib.Tpo -c -o snmp_ups-apc-ats-mib.o `test -f 'apc-ats-mib.c' || echo './'`apc-ats-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-eaton-ats30-mib.o -MD -MP -MF .deps/snmp_ups-eaton-ats30-mib.Tpo -c -o snmp_ups-eaton-ats30-mib.o `test -f 'eaton-ats30-mib.c' || echo './'`eaton-ats30-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-emerson-avocent-pdu-mib.o -MD -MP -MF .deps/snmp_ups-emerson-avocent-pdu-mib.Tpo -c -o snmp_ups-emerson-avocent-pdu-mib.o `test -f 'emerson-avocent-pdu-mib.c' || echo './'`emerson-avocent-pdu-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-hpe-pdu-mib.o -MD -MP -MF .deps/snmp_ups-hpe-pdu-mib.Tpo -c -o snmp_ups-hpe-pdu-mib.o `test -f 'hpe-pdu-mib.c' || echo './'`hpe-pdu-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-huawei-mib.o -MD -MP -MF .deps/snmp_ups-huawei-mib.Tpo -c -o snmp_ups-huawei-mib.o `test -f 'huawei-mib.c' || echo './'`huawei-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-ietf-mib.o -MD -MP -MF .deps/snmp_ups-ietf-mib.Tpo -c -o snmp_ups-ietf-mib.o `test -f 'ietf-mib.c' || echo './'`ietf-mib.c mv -f .deps/snmp_ups-emerson-avocent-pdu-mib.Tpo .deps/snmp_ups-emerson-avocent-pdu-mib.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-mge-mib.o -MD -MP -MF .deps/snmp_ups-mge-mib.Tpo -c -o snmp_ups-mge-mib.o `test -f 'mge-mib.c' || echo './'`mge-mib.c mv -f .deps/snmp_ups-apc-ats-mib.Tpo .deps/snmp_ups-apc-ats-mib.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-netvision-mib.o -MD -MP -MF .deps/snmp_ups-netvision-mib.Tpo -c -o snmp_ups-netvision-mib.o `test -f 'netvision-mib.c' || echo './'`netvision-mib.c mv -f .deps/snmp_ups-huawei-mib.Tpo .deps/snmp_ups-huawei-mib.Po mv -f .deps/snmp_ups-ietf-mib.Tpo .deps/snmp_ups-ietf-mib.Po mv -f .deps/snmp_ups-hpe-pdu-mib.Tpo .deps/snmp_ups-hpe-pdu-mib.Po mv -f .deps/snmp_ups-eaton-ats30-mib.Tpo .deps/snmp_ups-eaton-ats30-mib.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-powerware-mib.o -MD -MP -MF .deps/snmp_ups-powerware-mib.Tpo -c -o snmp_ups-powerware-mib.o `test -f 'powerware-mib.c' || echo './'`powerware-mib.c mv -f .deps/snmp_ups-mge-mib.Tpo .deps/snmp_ups-mge-mib.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-raritan-pdu-mib.o -MD -MP -MF .deps/snmp_ups-raritan-pdu-mib.Tpo -c -o snmp_ups-raritan-pdu-mib.o `test -f 'raritan-pdu-mib.c' || echo './'`raritan-pdu-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-raritan-px2-mib.o -MD -MP -MF .deps/snmp_ups-raritan-px2-mib.Tpo -c -o snmp_ups-raritan-px2-mib.o `test -f 'raritan-px2-mib.c' || echo './'`raritan-px2-mib.c cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT snmp_ups-xppc-mib.o -MD -MP -MF .deps/snmp_ups-xppc-mib.Tpo -c -o snmp_ups-xppc-mib.o `test -f 'xppc-mib.c' || echo './'`xppc-mib.c mv -f .deps/snmp_ups-netvision-mib.Tpo .deps/snmp_ups-netvision-mib.Po depbase=`echo usbhid-ups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT usbhid-ups.o -MD -MP -MF $depbase.Tpo -c -o usbhid-ups.o usbhid-ups.c &&\ mv -f $depbase.Tpo $depbase.Po mv -f .deps/snmp_ups-powerware-mib.Tpo .deps/snmp_ups-powerware-mib.Po depbase=`echo libhid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libhid.o -MD -MP -MF $depbase.Tpo -c -o libhid.o libhid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo libusb1.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libusb1.o -MD -MP -MF $depbase.Tpo -c -o libusb1.o libusb1.c &&\ mv -f $depbase.Tpo $depbase.Po mv -f .deps/snmp_ups-xppc-mib.Tpo .deps/snmp_ups-xppc-mib.Po depbase=`echo hidparser.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT hidparser.o -MD -MP -MF $depbase.Tpo -c -o hidparser.o hidparser.c &&\ mv -f $depbase.Tpo $depbase.Po mv -f .deps/snmp_ups-raritan-px2-mib.Tpo .deps/snmp_ups-raritan-px2-mib.Po depbase=`echo usb-common.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT usb-common.o -MD -MP -MF $depbase.Tpo -c -o usb-common.o usb-common.c &&\ mv -f $depbase.Tpo $depbase.Po mv -f .deps/snmp_ups-raritan-pdu-mib.Tpo .deps/snmp_ups-raritan-pdu-mib.Po depbase=`echo apc-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT apc-hid.o -MD -MP -MF $depbase.Tpo -c -o apc-hid.o apc-hid.c &&\ mv -f $depbase.Tpo $depbase.Po usb-common.c:26:19: warning: 'usbdev' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] usb_device_id_t *usbdev; ~~~~~~~~~~~~~~~~~^~~~~~ usb-common.c:30:7: note: used in pointer arithmetic here usbdev++ ^~~~~~ usb-common.c:239:45: warning: 'str' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int match_regex(regex_t *preg, char *str) ~~~~~~^~~ usb-common.c:256:25: note: used in buffer access here if (!strchr(" \t\n", str[len])) { ^~~ usb-common.c:261:20: note: used in pointer arithmetic here string = xstrdup(str+len); ^~~ usb-common.c:243:8: warning: 'string' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *string; ~~~~~~~~~^~~~~~ usb-common.c:266:25: note: used in buffer access here if (!strchr(" \t\n", string[len-1])) { ^~~~~~ usb-common.c:271:3: note: used in buffer access here string[len] = '\0'; ^~~~~~ usb-common.c:325:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex_hex(data->regex[1], hd->ProductID); ^~~~~~~~~~~ usb-common.c:336:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[2], hd->Vendor); ^~~~~~~~~~~ usb-common.c:347:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[3], hd->Product); ^~~~~~~~~~~ usb-common.c:358:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[4], hd->Serial); ^~~~~~~~~~~ usb-common.c:369:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[5], hd->Bus); ^~~~~~~~~~~ usb-common.c:380:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = match_regex(data->regex[6], hd->Device); ^~~~~~~~~~~ usb-common.c:427:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = compile_regex(&data->regex[i], regex[i], cflags); ^~~~~~~~~~~ usb-common.c:405:61: warning: 'regex' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int USBNewRegexMatcher(USBDeviceMatcher_t **matcher, char **regex, int cflags) ~~~~~~~^~~~~ usb-common.c:427:38: note: used in buffer access here r = compile_regex(&data->regex[i], regex[i], cflags); ^~~~~ usb-common.c:454:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (!data->regex[i]) { ^~~~~~~~~~~ usb-common.c:458:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] regfree(data->regex[i]); ^~~~~~~~~~~ usb-common.c:459:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] free(data->regex[i]); ^~~~~~~~~~~ 14 warnings generated. depbase=`echo arduino-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT arduino-hid.o -MD -MP -MF $depbase.Tpo -c -o arduino-hid.o arduino-hid.c &&\ mv -f $depbase.Tpo $depbase.Po usbhid-ups.c:62:21: warning: 'subdriver_list' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static subdriver_t *subdriver_list[] = { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ usbhid-ups.c:549:12: note: used in buffer access here for (i=0; subdriver_list[i] != NULL; i++) { ^~~~~~~~~~~~~~ usbhid-ups.c:550:7: note: used in buffer access here if (subdriver_list[i]->claim(d)) { ^~~~~~~~~~~~~~ usbhid-ups.c:833:13: warning: 'event' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] HIDData_t *event[MAX_EVENT_NUM], *found_data; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ usbhid-ups.c:901:29: note: used in buffer access here if (HIDGetDataValue(udev, event[i], &value, poll_interval) != 1) ^~~~~ usbhid-ups.c:908:20: note: used in buffer access here HIDGetDataItem(event[i], subdriver->utab), ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:909:17: note: used in buffer access here HIDDataType(event[i]), event[i]->ReportID, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:910:23: note: used in buffer access here event[i]->Offset, event[i]->Size, value); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:909:28: note: used in buffer access here HIDDataType(event[i]), event[i]->ReportID, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:910:5: note: used in buffer access here event[i]->Offset, event[i]->Size, value); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ usbhid-ups.c:914:46: note: used in buffer access here found_data = FindObject_with_Path(pDesc, &(event[i]->Path), interrupt_only ? ITEM_INPUT:ITEM_FEATURE); ^~~~~ usbhid-ups.c:916:47: note: used in buffer access here found_data = FindObject_with_Path(pDesc, &(event[i]->Path), ITEM_INPUT); ^~~~~ usbhid-ups.c:1017:8: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] char *regex_array[7]; ^ usbhid-ups.c:1017:8: warning: 'regex_array' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *regex_array[7]; ~~~~~~^~~~~~~~~~~~~~ usbhid-ups.c:1036:2: note: used in buffer access here regex_array[1] = getval("productid"); ^~~~~~~~~~~ usbhid-ups.c:1037:2: note: used in buffer access here regex_array[2] = getval("vendor"); ^~~~~~~~~~~ usbhid-ups.c:1038:2: note: used in buffer access here regex_array[3] = getval("product"); ^~~~~~~~~~~ usbhid-ups.c:1041:2: note: used in buffer access here regex_array[6] = getval("device"); ^~~~~~~~~~~ usbhid-ups.c:1039:2: note: used in buffer access here regex_array[4] = getval("serial"); ^~~~~~~~~~~ usbhid-ups.c:1040:2: note: used in buffer access here regex_array[5] = getval("bus"); ^~~~~~~~~~~ usbhid-ups.c:1056:58: note: used in buffer access here fatalx(EXIT_FAILURE, "invalid regular expression: %s", regex_array[ret]); ^~~~~~~~~~~ usbhid-ups.c:1181:46: warning: 'nutvalue' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void process_boolean_info(const char *nutvalue) ~~~~~~~~~~~~^~~~~~~~ usbhid-ups.c:1189:3: note: used in pointer arithmetic here nutvalue++; ^~~~~~~~ usbhid-ups.c:1183:16: warning: 'status_item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] status_lkp_t *status_item; ~~~~~~~~~~~~~~^~~~~~~~~~~ usbhid-ups.c:1193:68: note: used in pointer arithmetic here for (status_item = status_info; status_item->status_str != NULL ; status_item++) ^~~~~~~~~~~ usbhid-ups.c:62:21: warning: 'subdriver_list' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static subdriver_t *subdriver_list[] = { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ usbhid-ups.c:1264:12: note: used in buffer access here for (i=0; subdriver_list[i] != NULL; i++) { ^~~~~~~~~~~~~~ usbhid-ups.c:1265:7: note: used in buffer access here if (subdriver_list[i]->claim(hd)) { ^~~~~~~~~~~~~~ usbhid-ups.c:1270:14: note: used in buffer access here subdriver = subdriver_list[i]; ^~~~~~~~~~~~~~ usbhid-ups.c:1536:16: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~~~~~~^~~~~~~~ usbhid-ups.c:1552:37: note: used in pointer arithmetic here && info_lkp->nut_value != NULL; info_lkp++) { ^~~~~~~~ usbhid-ups.c:1352:14: warning: 'item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] hid_info_t *item; ~~~~~~~~~~~~~~~~~^~~~ usbhid-ups.c:1366:59: note: used in pointer arithmetic here for (item = subdriver->hid2nut; item->info_type != NULL; item++) { ^~~~ usbhid-ups.c:1706:14: warning: 'hidups_item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] hid_info_t *hidups_item; ~~~~~~~~~~~~^~~~~~~~~~~ usbhid-ups.c:1708:74: note: used in pointer arithmetic here for (hidups_item = subdriver->hid2nut; hidups_item->info_type != NULL ; hidups_item++) { ^~~~~~~~~~~ usbhid-ups.c:1726:14: warning: 'hidups_item' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] hid_info_t *hidups_item; ~~~~~~~~~~~~^~~~~~~~~~~ usbhid-ups.c:1733:74: note: used in pointer arithmetic here for (hidups_item = subdriver->hid2nut; hidups_item->info_type != NULL ; hidups_item++) { ^~~~~~~~~~~ usbhid-ups.c:1750:14: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~~~~~~^~~~~~~~ usbhid-ups.c:1760:57: note: used in pointer arithmetic here for (info_lkp = hid2info; info_lkp->nut_value != NULL; info_lkp++) { ^~~~~~~~ usbhid-ups.c:1778:14: warning: 'info_lkp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] info_lkp_t *info_lkp; ~~~~~~~~~~~~~~~~~^~~~~~~~ usbhid-ups.c:1786:57: note: used in pointer arithmetic here for (info_lkp = hid2info; info_lkp->nut_value != NULL; info_lkp++) { ^~~~~~~~ 13 warnings generated. depbase=`echo belkin-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT belkin-hid.o -MD -MP -MF $depbase.Tpo -c -o belkin-hid.o belkin-hid.c &&\ mv -f $depbase.Tpo $depbase.Po libhid.c:94:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] free(rbuf->data[i]); ^~~~~~~~~~ libhid.c:121:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] pData = &arg_pDesc->item[i]; ^~~~~~~~~~~~~~~ libhid.c:126:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->data[id]) ^~~~~~~~~~ libhid.c:130:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->len[id] = arg_pDesc->replen[id] + 1; ^~~~~~~~~ libhid.c:130:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->len[id] = arg_pDesc->replen[id] + 1; ^~~~~~~~~~~~~~~~~ libhid.c:133:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->len[id] < 1) { ^~~~~~~~~ libhid.c:137:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->data[id] = calloc(rbuf->len[id], sizeof(*(rbuf->data[id]))); ^~~~~~~~~~ libhid.c:137:27: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->data[id] = calloc(rbuf->len[id], sizeof(*(rbuf->data[id]))); ^~~~~~~~~ libhid.c:137:51: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->data[id] = calloc(rbuf->len[id], sizeof(*(rbuf->data[id]))); ^~~~~~~~~~ libhid.c:138:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->data[id]) ^~~~~~~~~~ libhid.c:167:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (interrupt_only || rbuf->ts[id] + age > time(NULL)) { ^~~~~~~~ libhid.c:169:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[buf]", rbuf->data[id], rbuf->len[id]); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:169:50: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[buf]", rbuf->data[id], rbuf->len[id]); ^~~~~~~~~ ../include/common.h:191:75: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:173:31: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = max_report_size ? sizeof(rbuf->data[id]) : rbuf->len[id]; ^~~~~~~~~~ libhid.c:173:49: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = max_report_size ? sizeof(rbuf->data[id]) : rbuf->len[id]; ^~~~~~~~~ libhid.c:218:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = UMIN(r, sizeof(rbuf->data[id])); ^~~~~~~~~~ libhid.c:74:52: note: expanded from macro 'UMIN' #define UMIN(a, b) ( ((uintmax_t)(a) < (uintmax_t)(b)) ? (a) : (b) ) ^ libhid.c:218:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = UMIN(r, sizeof(rbuf->data[id])); ^~~~~~~~~~ libhid.c:74:65: note: expanded from macro 'UMIN' #define UMIN(a, b) ( ((uintmax_t)(a) < (uintmax_t)(b)) ? (a) : (b) ) ^ libhid.c:220:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = UMIN(r, rbuf->len[id]); ^~~~~~~~~ libhid.c:74:52: note: expanded from macro 'UMIN' #define UMIN(a, b) ( ((uintmax_t)(a) < (uintmax_t)(b)) ? (a) : (b) ) ^ libhid.c:220:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = UMIN(r, rbuf->len[id]); ^~~~~~~~~ libhid.c:74:65: note: expanded from macro 'UMIN' #define UMIN(a, b) ( ((uintmax_t)(a) < (uintmax_t)(b)) ? (a) : (b) ) ^ libhid.c:231:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], ^~~~~~~~~~ libhid.c:239:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->len[id] != r) { ^~~~~~~~~ libhid.c:243:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] __func__, rbuf->len[id], r); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:245:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], r); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:248:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], rbuf->len[id]); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:248:38: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], rbuf->len[id]); ^~~~~~~~~ ../include/common.h:191:75: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:252:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] time(&rbuf->ts[id]); ^~~~~~~~ libhid.c:271:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] GetValue(rbuf->data[id], pData, Value); ^~~~~~~~~~ libhid.c:283:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] size_t r = rbuf->len[id]; ^~~~~~~~~ libhid.c:285:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] SetValue(pData, rbuf->data[id], Value); ^~~~~~~~~~ libhid.c:338:21: warning: unsafe buffer access [-Wunsafe-buffer-usage] (usb_ctrl_charbuf)rbuf->data[id], ^~~~~~~~~~ libhid.c:344:33: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[set]", rbuf->data[id], r); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:347:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] rbuf->ts[id] = 0; ^~~~~~~~ libhid.c:361:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] memcpy(rbuf->data[id], buf, (buflen < rbuf->len[id]) ? buflen : rbuf->len[id]); ^~~~~~~~~~ libhid.c:361:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] memcpy(rbuf->data[id], buf, (buflen < rbuf->len[id]) ? buflen : rbuf->len[id]); ^~~~~~~~~ libhid.c:361:66: warning: unsafe buffer access [-Wunsafe-buffer-usage] memcpy(rbuf->data[id], buf, (buflen < rbuf->len[id]) ? buflen : rbuf->len[id]); ^~~~~~~~~ libhid.c:363:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (rbuf->len[id] != buflen) { ^~~~~~~~~ libhid.c:366:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] __func__, rbuf->len[id], buflen); ^~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:369:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[int]", rbuf->data[id], rbuf->len[id]); ^~~~~~~~~~ ../include/common.h:191:70: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:369:50: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebug_hex(3, "Report[int]", rbuf->data[id], rbuf->len[id]); ^~~~~~~~~ ../include/common.h:191:75: note: expanded from macro 'upsdebug_hex' do { if (nut_debug_level >= (level)) { s_upsdebug_hex((level), msg, buf, len); } } while(0) ^~~ libhid.c:373:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] time(&rbuf->ts[id]); ^~~~~~~~ libhid.c:429:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc->item[i]; ^~~~~~~~~~~ libhid.c:770:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] pData = &pDesc->item[i]; ^~~~~~~~~~~ libhid.c:687:53: warning: 'event' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int HIDGetEvents(hid_dev_handle_t udev, HIDData_t **event, int eventsize) ~~~~~~~~~~~~^~~~~ libhid.c:786:3: note: used in buffer access here event[itemCount++] = pData; ^~~~~ libhid.c:385:3: warning: 'HIDUnits' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } HIDUnits[NB_HID_UNITS] = { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ libhid.c:884:7: note: used in buffer access here if (HIDUnits[i].Type == hiddata->Unit) { ^~~~~~~~ libhid.c:885:17: note: used in buffer access here unit_expo -= HIDUnits[i].Expo; ^~~~~~~~ libhid.c:926:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] path->Node[i++] = (HIDNode_t)usage; ^~~~~~~~~~ libhid.c:945:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] path->Node[i++] = (HIDNode_t)l; ^~~~~~~~~~ libhid.c:959:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] path->Node[i++] = 0x00ff0000 + (HIDNode_t)l; ^~~~~~~~~~ libhid.c:912:8: warning: 'token' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *token, *last; ~~~~~~~~~^~~~~ libhid.c:952:17: note: used in pointer arithmetic here int l = atoi(token + 1); /* +1: skip the bracket */ ^~~~~ libhid.c:991:28: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((p = hid_lookup_path(path->Node[i], utab)) != NULL) ^~~~~~~~~~ libhid.c:998:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((path->Node[i] & 0xffff0000) == 0x00ff0000) ^~~~~~~~~~ libhid.c:1000:38: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintfcat(string, size, "[%i]", path->Node[i] & 0x0000ffff); ^~~~~~~~~~ libhid.c:1005:37: warning: unsafe buffer access [-Wunsafe-buffer-usage] snprintfcat(string, size, "%08x", path->Node[i]); ^~~~~~~~~~ libhid.c:1020:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; utab[i][j].usage_name != NULL; j++) ^~~~~~~ libhid.c:1022:19: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (strcasecmp(utab[i][j].usage_name, name)) ^~~~~~~ libhid.c:1026:65: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(5, "hid_lookup_usage: %s -> %08x", name, (uint32_t)utab[i][j].usage_code); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:1027:18: warning: unsafe buffer access [-Wunsafe-buffer-usage] return (long)(utab[i][j].usage_code); ^~~~~~~ libhid.c:1014:64: warning: 'utab' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static long hid_lookup_usage(const char *name, usage_tables_t *utab) ~~~~~~~~~~~~~~~~^~~~ libhid.c:1020:15: note: used in buffer access here for (j = 0; utab[i][j].usage_name != NULL; j++) ^~~~ libhid.c:1018:14: note: used in buffer access here for (i = 0; utab[i] != NULL; i++) ^~~~ libhid.c:1022:19: note: used in buffer access here if (strcasecmp(utab[i][j].usage_name, name)) ^~~~ libhid.c:1026:65: note: used in buffer access here upsdebugx(5, "hid_lookup_usage: %s -> %08x", name, (uint32_t)utab[i][j].usage_code); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:1027:18: note: used in buffer access here return (long)(utab[i][j].usage_code); ^~~~ libhid.c:1042:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (j = 0; utab[i][j].usage_name != NULL; j++) ^~~~~~~ libhid.c:1044:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (utab[i][j].usage_code != usage) ^~~~~~~ libhid.c:1047:69: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(5, "hid_lookup_path: %08x -> %s", (unsigned int)usage, utab[i][j].usage_name); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:1048:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] return utab[i][j].usage_name; ^~~~~~~ libhid.c:1036:75: warning: 'utab' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static const char *hid_lookup_path(const HIDNode_t usage, usage_tables_t *utab) ~~~~~~~~~~~~~~~~^~~~ libhid.c:1042:15: note: used in buffer access here for (j = 0; utab[i][j].usage_name != NULL; j++) ^~~~ libhid.c:1044:8: note: used in buffer access here if (utab[i][j].usage_code != usage) ^~~~ libhid.c:1048:11: note: used in buffer access here return utab[i][j].usage_name; ^~~~ libhid.c:1047:69: note: used in buffer access here upsdebugx(5, "hid_lookup_path: %08x -> %s", (unsigned int)usage, utab[i][j].usage_name); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libhid.c:1040:14: note: used in buffer access here for (i = 0; utab[i] != NULL; i++) ^~~~ 62 warnings generated. depbase=`echo cps-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT cps-hid.o -MD -MP -MF $depbase.Tpo -c -o cps-hid.o cps-hid.c &&\ mv -f $depbase.Tpo $depbase.Po libusb1.c:471:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] if_desc = &(conf_desc->interface[usb_subdriver.hid_rep_index].altsetting[0]); ^~~~~~~~~~~~~~~~~~~~ libusb1.c:472:47: warning: unsafe buffer access [-Wunsafe-buffer-usage] for (i = 0; i < if_desc->extra_length; i += if_desc->extra[i]) { ^~~~~~~~~~~~~~ libusb1.c:474:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] if_desc->extra[i], if_desc->extra[i+1]); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libusb1.c:474:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] if_desc->extra[i], if_desc->extra[i+1]); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ libusb1.c:475:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (i+9 <= if_desc->extra_length && if_desc->extra[i] >= 9 && if_desc->extra[i+1] == 0x21) { ^~~~~~~~~~~~~~ libusb1.c:475:66: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (i+9 <= if_desc->extra_length && if_desc->extra[i] >= 9 && if_desc->extra[i+1] == 0x21) { ^~~~~~~~~~~~~~ libusb1.c:476:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] p = &if_desc->extra[i]; ^~~~~~~~~~~~~~ libusb1.c:147:18: warning: 'devlist' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] libusb_device **devlist; ~~~~~~~~~~~~~~~~^~~~~~~ libusb1.c:186:27: note: used in buffer access here libusb_device *device = devlist[devnum]; ^~~~~~~ libusb1.c:156:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[20]; ~~~~~~~~~~~~~~^~~~~~~ libusb1.c:453:23: note: used in buffer access here rdlen1 = ((uint8_t)buf[7]) | (((uint8_t)buf[8]) << 8); ^~~ libusb1.c:453:44: note: used in buffer access here rdlen1 = ((uint8_t)buf[7]) | (((uint8_t)buf[8]) << 8); ^~~ libusb1.c:157:23: warning: 'p' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const unsigned char *p; ~~~~~~~~~~~~~~~~~~~~~^ libusb1.c:478:24: note: used in buffer access here rdlen2 = ((uint8_t)p[7]) | (((uint8_t)p[8]) << 8); ^ libusb1.c:478:43: note: used in buffer access here rdlen2 = ((uint8_t)p[7]) | (((uint8_t)p[8]) << 8); ^ 10 warnings generated. depbase=`echo explore-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT explore-hid.o -MD -MP -MF $depbase.Tpo -c -o explore-hid.o explore-hid.c &&\ mv -f $depbase.Tpo $depbase.Po apc-hid.c:41:15: warning: 'tweak_max_report' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char * tweak_max_report[] = { ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ apc-hid.c:78:9: note: used in buffer access here while( tweak_max_report[i] != NULL ) { ^~~~~~~~~~~~~~~~ apc-hid.c:79:32: note: used in buffer access here if(!strncmp(device->Product, tweak_max_report[i], ^~~~~~~~~~~~~~~~ apc-hid.c:80:11: note: used in buffer access here strlen(tweak_max_report[i]))) { ^~~~~~~~~~~~~~~~ apc-hid.c:465:8: warning: 'ptr1' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ptr1, *ptr2; ~~~~~~^~~~ apc-hid.c:473:3: note: used in pointer arithmetic here ptr1 += strlen("FW:"); ^~~~ apc-hid.c:472:5: note: used in pointer arithmetic here *(ptr1 - 1) = '\0'; ^~~~ apc-hid.c:465:15: warning: 'ptr2' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ptr1, *ptr2; ~~~~~~~~~~~~~^~~~ apc-hid.c:478:4: note: used in pointer arithmetic here ptr2 += strlen("USB FW:"); ^~~~ apc-hid.c:477:6: note: used in pointer arithmetic here *(ptr2 - 1) = '\0'; ^~~~ 3 warnings generated. depbase=`echo liebert-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT liebert-hid.o -MD -MP -MF $depbase.Tpo -c -o liebert-hid.o liebert-hid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mge-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT mge-hid.o -MD -MP -MF $depbase.Tpo -c -o mge-hid.o mge-hid.c &&\ mv -f $depbase.Tpo $depbase.Po hidparser.c:107:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][0] == 0) { ^~~~~~~~~~~~~~~~~~ hidparser.c:108:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][0] = ReportID; ^~~~~~~~~~~~~~~~~~ hidparser.c:109:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][1] = ReportType; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:109:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][1] = ReportType; ^~~~~~~~~~~~~~~~~~ hidparser.c:110:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][2] = 0; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:110:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][2] = 0; ^~~~~~~~~~~~~~~~~~ hidparser.c:113:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][0] != ReportID) { ^~~~~~~~~~~~~~~~~~ hidparser.c:117:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][1] != ReportType) { ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:117:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][1] != ReportType) { ^~~~~~~~~~~~~~~~~~ hidparser.c:121:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] return &pParser->OffsetTab[Pos][2]; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:121:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] return &pParser->OffsetTab[Pos][2]; ^~~~~~~~~~~~~~~~~~ hidparser.c:162:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Item = pParser->ReportDesc[pParser->Pos++]; ^~~~~~~~~~~~~~~~~~~ hidparser.c:165:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Value += (uint32_t)(pParser->ReportDesc[(pParser->Pos)+i]) << (8*i); ^~~~~~~~~~~~~~~~~~~ hidparser.c:181:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[pParser->UsageSize] = pParser->Value; ^~~~~~~~~~~~~~~~~ hidparser.c:183:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[pParser->UsageSize] = ((HIDNode_t)(pParser->UPage) << 16) | (pParser->Value & 0xFFFF); ^~~~~~~~~~~~~~~~~ hidparser.c:192:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Data.Path.Node[pParser->Data.Path.Size] = pParser->UsageTab[0]; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:200:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:200:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:209:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Data.Path.Node[pParser->Data.Path.Size] = 0x00ff0000 | (pParser->Value & 0x7F); ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:220:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if((pParser->Data.Path.Node[pParser->Data.Path.Size] & 0xffff0000) == 0x00ff0000) { ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:244:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Data.Path.Node[pParser->Data.Path.Size] = pParser->UsageTab[0]; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:252:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:252:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:34:22: warning: 'ItemSize' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const uint8_t ItemSize[4] = { 0, 1, 2, 4 }; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:164:20: note: used in buffer access here for (i = 0; i < ItemSize[pParser->Item & SIZE_MASK]; i++) { ^~~~~~~~ hidparser.c:168:20: note: used in buffer access here pParser->Pos += ItemSize[pParser->Item & SIZE_MASK]; ^~~~~~~~ hidparser.c:314:55: note: used in buffer access here pParser->Data.LogMin = FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:318:55: note: used in buffer access here pParser->Data.LogMax = FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:340:53: note: used in buffer access here pParser->Data.PhyMin=FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:345:53: note: used in buffer access here pParser->Data.PhyMax=FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:399:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc_arg->item[i]; ^~~~~~~~~~~~~~~ hidparser.c:425:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc_arg->item[i]; ^~~~~~~~~~~~~~~ hidparser.c:460:15: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] HIDPath_t * pPath = &pData->Path; ^ hidparser.c:454:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc_arg->item[i]; ^~~~~~~~~~~~~~~ hidparser.c:462:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (size == 0 || pPath->Node[size-1] != Node) { ^~~~~~~~~~~ hidparser.c:478:36: warning: 'Buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void GetValue(const unsigned char *Buf, HIDData_t *pData, long *pValue) ~~~~~~~~~~~~~~~~~~~~~^~~ hidparser.c:495:15: note: used in buffer access here int State = Buf[Bit >> 3] & (1 << (Bit & 7)); ^~~ hidparser.c:558:54: warning: 'Buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void SetValue(const HIDData_t *pData, unsigned char *Buf, long Value) ~~~~~~~~~~~~~~~^~~ hidparser.c:568:4: note: used in buffer access here Buf[Bit >> 3] |= (1 << (Bit & 7)); ^~~ hidparser.c:570:4: note: used in buffer access here Buf[Bit >> 3] &= ~(1 << (Bit & 7)); ^~~ hidparser.c:641:27: warning: unsafe buffer access [-Wunsafe-buffer-usage] ret = HIDParse(parser, &pDesc_var->item[pDesc_var->nitems]); ^~~~~~~~~~~~~~~ hidparser.c:646:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] id = pDesc_var->item[pDesc_var->nitems].ReportID; ^~~~~~~~~~~~~~~ hidparser.c:649:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] max = pDesc_var->item[pDesc_var->nitems].Offset + pDesc_var->item[pDesc_var->nitems].Size; ^~~~~~~~~~~~~~~ hidparser.c:649:53: warning: unsafe buffer access [-Wunsafe-buffer-usage] max = pDesc_var->item[pDesc_var->nitems].Offset + pDesc_var->item[pDesc_var->nitems].Size; ^~~~~~~~~~~~~~~ hidparser.c:655:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (max > pDesc_var->replen[id]) { ^~~~~~~~~~~~~~~~~ hidparser.c:656:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pDesc_var->replen[id] = max; ^~~~~~~~~~~~~~~~~ 37 warnings generated. depbase=`echo powercom-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT powercom-hid.o -MD -MP -MF $depbase.Tpo -c -o powercom-hid.o powercom-hid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo tripplite-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT tripplite-hid.o -MD -MP -MF $depbase.Tpo -c -o tripplite-hid.o tripplite-hid.c &&\ mv -f $depbase.Tpo $depbase.Po belkin-hid.c:561:14: warning: 'mfr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *mfr; ~~~~~~~~~~~~^~~ belkin-hid.c:565:3: note: used in pointer arithmetic here mfr++; ^~~ 1 warning generated. depbase=`echo idowell-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT idowell-hid.o -MD -MP -MF $depbase.Tpo -c -o idowell-hid.o idowell-hid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo openups-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT openups-hid.o -MD -MP -MF $depbase.Tpo -c -o openups-hid.o openups-hid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo powervar-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT powervar-hid.o -MD -MP -MF $depbase.Tpo -c -o powervar-hid.o powervar-hid.c &&\ mv -f $depbase.Tpo $depbase.Po mge-hid.c:677:14: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] const char *str_ups_load = dstate_getinfo("ups.load"); ^ mge-hid.c:1447:17: warning: 'model' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] models_name_t *model = NULL; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ mge-hid.c:1452:49: note: used in pointer arithmetic here for (model = mge_model_names; model->iProduct; model++) { ^~~~~ 2 warnings generated. depbase=`echo delta_ups-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT delta_ups-hid.o -MD -MP -MF $depbase.Tpo -c -o delta_ups-hid.o delta_ups-hid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo ever-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT ever-hid.o -MD -MP -MF $depbase.Tpo -c -o ever-hid.o ever-hid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo legrand-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT legrand-hid.o -MD -MP -MF $depbase.Tpo -c -o legrand-hid.o legrand-hid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo salicru-hid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT salicru-hid.o -MD -MP -MF $depbase.Tpo -c -o salicru-hid.o salicru-hid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo bcmxcp_usb.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT bcmxcp_usb.o -MD -MP -MF $depbase.Tpo -c -o bcmxcp_usb.o bcmxcp_usb.c &&\ mv -f $depbase.Tpo $depbase.Po delta_ups-hid.c:126:21: warning: 'upstypes' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char* upstypes[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ delta_ups-hid.c:145:9: note: used in buffer access here return upstypes[type]; ^~~~~~~~ 1 warning generated. depbase=`echo tripplite_usb.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT tripplite_usb.o -MD -MP -MF $depbase.Tpo -c -o tripplite_usb.o tripplite_usb.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo blazer_usb.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT blazer_usb.o -MD -MP -MF $depbase.Tpo -c -o blazer_usb.o blazer_usb.c &&\ mv -f $depbase.Tpo $depbase.Po openups-hid.c:86:27: warning: 'therm_tbl' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const unsigned int therm_tbl[] = ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ openups-hid.c:247:21: note: used in buffer access here if (thermistor >= therm_tbl[therm_tbl_size - 1]) { ^~~~~~~~~ openups-hid.c:251:23: note: used in buffer access here if (thermistor >= therm_tbl[i]) { ^~~~~~~~~ openups-hid.c:257:22: note: used in buffer access here if (thermistor == therm_tbl[pos]) { ^~~~~~~~~ openups-hid.c:263:23: note: used in buffer access here unsigned int d1 = therm_tbl[pos]; ^~~~~~~~~ openups-hid.c:264:23: note: used in buffer access here unsigned int d2 = therm_tbl[pos + 1]; ^~~~~~~~~ 1 warning generated. depbase=`echo richcomm_usb.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT richcomm_usb.o -MD -MP -MF $depbase.Tpo -c -o richcomm_usb.o richcomm_usb.c &&\ mv -f $depbase.Tpo $depbase.Po ever-hid.c:63:14: warning: 'hard_rev' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] const char* hard_rev[27] = {"0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ever-hid.c:66:5: note: used in buffer access here (&hard_rev[ ((unsigned int)value & 0xFF00)>>8 ])[0], ^~~~~~~~ ever-hid.c:86:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int mac_adress_report_id = 210; ^ ever-hid.c:87:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] int len = reportbuf->len[mac_adress_report_id]; ^~~~~~~~~~~~~~ ever-hid.c:88:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] const void *buf = reportbuf->data[mac_adress_report_id]; ^~~~~~~~~~~~~~~ ever-hid.c:98:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] ((unsigned char *)buf)[i]); ^~~~~~~~~~~~~~~~~~~~~~ ever-hid.c:108:13: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] static int report_counter = 1; ^ ever-hid.c:122:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] int len = reportbuf->len[report_id]; ^~~~~~~~~~~~~~ ever-hid.c:123:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] const void *buf = reportbuf->data[report_id]; ^~~~~~~~~~~~~~~ ever-hid.c:134:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] ((unsigned char *)buf)[i]); ^~~~~~~~~~~~~~~~~~~~~~ ever-hid.c:144:13: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] static int report_counter = 1; ^ ever-hid.c:158:12: warning: unsafe buffer access [-Wunsafe-buffer-usage] int len = reportbuf->len[report_id]; ^~~~~~~~~~~~~~ ever-hid.c:159:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[report_id]; ^~~~~~~~~~~~~~~ ever-hid.c:159:23: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[report_id]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ever-hid.c:169:17: note: used in buffer access here int res = (int)buf[1]; ^~~ ever-hid.c:172:14: note: used in buffer access here res |= (int)buf[4] << 24; ^~~ ever-hid.c:170:14: note: used in buffer access here res |= (int)buf[2] << 8; ^~~ ever-hid.c:171:14: note: used in buffer access here res |= (int)buf[3] << 16; ^~~ ever-hid.c:183:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int workmode_report_id = 74; ^ ever-hid.c:185:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[workmode_report_id]; ^~~~~~~~~~~~~~~ ever-hid.c:185:23: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[workmode_report_id]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ever-hid.c:191:40: note: used in buffer access here snprintfcat(line, sizeof(line), "%d", buf[1]); ^~~ ever-hid.c:228:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int messages_report_id = 75; ^ ever-hid.c:229:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[messages_report_id]; ^~~~~~~~~~~~~~~ ever-hid.c:229:23: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[messages_report_id]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ever-hid.c:236:19: note: used in buffer access here messages |= (int)buf[2] << 8; ^~~ ever-hid.c:235:22: note: used in buffer access here int messages = (int)buf[1]; ^~~ ever-hid.c:276:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int alarms_report_id = 76; ^ ever-hid.c:278:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[alarms_report_id]; ^~~~~~~~~~~~~~~ ever-hid.c:278:23: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[alarms_report_id]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ever-hid.c:285:17: note: used in buffer access here alarms |= (int)buf[2] << 8; ^~~ ever-hid.c:284:20: note: used in buffer access here int alarms = (int)buf[1]; ^~~ ever-hid.c:313:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int workmode_report_id = 74; ^ ever-hid.c:315:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[workmode_report_id]; ^~~~~~~~~~~~~~~ ever-hid.c:315:23: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const unsigned char *buf = reportbuf->data[workmode_report_id]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ever-hid.c:321:40: note: used in buffer access here snprintfcat(line, sizeof(line), "%d", buf[1]); ^~~ 25 warnings generated. depbase=`echo riello_usb.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT riello_usb.o -MD -MP -MF $depbase.Tpo -c -o riello_usb.o riello_usb.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo nutdrv_atcl_usb.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutdrv_atcl_usb.o -MD -MP -MF $depbase.Tpo -c -o nutdrv_atcl_usb.o nutdrv_atcl_usb.c &&\ mv -f $depbase.Tpo $depbase.Po bcmxcp_usb.c:110:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[4]; ~~~~~~~~~~~~~~^~~~~~ bcmxcp_usb.c:114:3: note: used in buffer access here buf[1] = 0x01; /* data length */ ^~~ bcmxcp_usb.c:115:3: note: used in buffer access here buf[2] = command; /* command to send */ ^~~ bcmxcp_usb.c:116:3: note: used in buffer access here buf[3] = calc_checksum(buf); /* checksum */ ^~~ bcmxcp_usb.c:124:16: warning: 'sbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char sbuf[128]; ~~~~~~~~~~~~~~^~~~~~~~~ bcmxcp_usb.c:129:3: note: used in buffer access here sbuf[1] = (unsigned char)(command_length); ^~~~ bcmxcp_usb.c:130:10: note: used in pointer arithmetic here memcpy(sbuf+2, command, command_length); ^~~~ bcmxcp_usb.c:134:3: note: used in buffer access here sbuf[command_length] = calc_checksum(sbuf); ^~~~ bcmxcp_usb.c:197:5: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] (usb_ctrl_charbuf) buf + bytes_read, ^~~~~~~~~~~~~~~~~~~~~~ bcmxcp_usb.c:304:37: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] my_buf = memmove(&buf[0], my_buf + length + PW_HEADER_SIZE, (size_t)tail); ~~~~~~~^~~~~~~~ bcmxcp_usb.c:144:35: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] ssize_t get_answer(unsigned char *data, unsigned char command) ~~~~~~~~~~~~~~~^~~~ bcmxcp_usb.c:296:10: note: used in pointer arithmetic here memcpy(data+end_length, my_buf + 4, length); ^~~~ bcmxcp_usb.c:146:38: warning: 'my_buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char buf[PW_CMD_BUFSIZE], *my_buf = buf; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ bcmxcp_usb.c:241:18: note: used in buffer access here block_number = my_buf[1]; ^~~~~~ bcmxcp_usb.c:245:12: note: used in buffer access here length = my_buf[2]; ^~~~~~ bcmxcp_usb.c:296:27: note: used in pointer arithmetic here memcpy(data+end_length, my_buf + 4, length); ^~~~~~ bcmxcp_usb.c:266:14: note: used in buffer access here sequence = my_buf[3]; ^~~~~~ bcmxcp_usb.c:304:30: note: used in pointer arithmetic here my_buf = memmove(&buf[0], my_buf + length + PW_HEADER_SIZE, (size_t)tail); ^~~~~~ bcmxcp_usb.c:416:18: warning: 'devlist' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] libusb_device **devlist; ~~~~~~~~~~~~~~~~^~~~~~~ bcmxcp_usb.c:429:27: note: used in buffer access here libusb_device *device = devlist[i]; ^~~~~~~ 7 warnings generated. depbase=`echo netxml-ups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT netxml-ups.o -MD -MP -MF $depbase.Tpo -c -o netxml-ups.o netxml-ups.c &&\ mv -f $depbase.Tpo $depbase.Po richcomm_usb.c:262:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int ret = 0; ^ richcomm_usb.c:327:18: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] libusb_device **devlist; ^ richcomm_usb.c:327:18: warning: 'devlist' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] libusb_device **devlist; ~~~~~~~~~~~~~~~~^~~~~~~ richcomm_usb.c:341:24: note: used in buffer access here libusb_device *dev = devlist[i]; ^~~~~~~ richcomm_usb.c:626:7: warning: 'reply' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char reply[REPLY_PACKETSIZE]; ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ richcomm_usb.c:656:12: note: used in buffer access here online = (reply[3]&4)>>2; ^~~~~ richcomm_usb.c:662:20: note: used in buffer access here battery_normal = (reply[3]&2)>>1; ^~~~~ 4 warnings generated. depbase=`echo mge-xml.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT mge-xml.o -MD -MP -MF $depbase.Tpo -c -o mge-xml.o mge-xml.c &&\ mv -f $depbase.Tpo $depbase.Po blazer_usb.c:61:51: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int cypress_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ blazer_usb.c:93:23: note: used in buffer access here (usb_ctrl_charbuf)&buf[i], 8, 1000); ^~~ blazer_usb.c:63:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ blazer_usb.c:75:39: note: used in buffer access here 0x09, 0x200, 0, (usb_ctrl_charbuf)&tmp[i], 8, 5000); ^~~ blazer_usb.c:111:51: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int phoenix_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ blazer_usb.c:174:23: note: used in buffer access here (usb_ctrl_charbuf)&buf[i], 8, 1000); ^~~ blazer_usb.c:113:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ blazer_usb.c:156:39: note: used in buffer access here 0x09, 0x200, 0, (usb_ctrl_charbuf)&tmp[i], 8, 1000); ^~~ blazer_usb.c:194:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[64]; ~~~~~~~~^~~~~~~ blazer_usb.c:204:37: note: used in buffer access here 0x09, 0x2, 0, (usb_ctrl_charbuf)&tmp[i], 8, 1000); ^~~ blazer_usb.c:311:12: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t di, si, size = (size_t)buf[0]; ^ blazer_usb.c:244:51: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int krauler_command(const char *cmd, char *buf, size_t buflen) ~~~~~~^~~ blazer_usb.c:317:7: note: used in buffer access here buf[di++] = '?'; ^~~ blazer_usb.c:316:10: note: used in buffer access here if (buf[si + 1]) /* high byte */ ^~~ blazer_usb.c:319:7: note: used in buffer access here buf[di++] = buf[si]; ^~~ blazer_usb.c:319:19: note: used in buffer access here buf[di++] = buf[si]; ^~~ blazer_usb.c:321:5: note: used in buffer access here buf[di] = 0; ^~~ blazer_usb.c:255:5: warning: 'command' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } command[] = { ~~~^~~~~~~~~~~~~ blazer_usb.c:271:14: note: used in buffer access here for (i = 0; command[i].str; i++) { ^~~~~~~ blazer_usb.c:274:19: note: used in buffer access here if (strcmp(cmd, command[i].str)) { ^~~~~~~ blazer_usb.c:283:32: note: used in buffer access here ret = usb_get_string(udev, command[i].index, langid_fix, ^~~~~~~ blazer_usb.c:287:39: note: used in buffer access here ret = usb_get_string_simple(udev, command[i].index, ^~~~~~~ blazer_usb.c:334:13: note: used in buffer access here buf[0] = command[i].prefix; ^~~~~~~ blazer_usb.c:556:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t i; ^ blazer_usb.c:543:3: warning: 'subdriver' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } subdriver[] = { ~~^~~~~~~~~~~~~~~ blazer_usb.c:558:14: note: used in buffer access here for (i = 0; subdriver[i].name != NULL; i++) { ^~~~~~~~~ blazer_usb.c:561:16: note: used in buffer access here printf("%s", subdriver[i].name); ^~~~~~~~~ blazer_usb.c:603:16: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] if ( (sscanf(getval("langid_fix") + 2, "%x", &u_langid_fix) != 1) || (u_langid_fix > INT_MAX) ) { ^~~~~~~~~~~~~~~~~~~~ blazer_usb.c:543:3: warning: 'subdriver' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } subdriver[] = { ~~^~~~~~~~~~~~~~~ blazer_usb.c:620:15: note: used in buffer access here for (i = 0; subdriver[i].name; i++) { ^~~~~~~~~ blazer_usb.c:622:27: note: used in buffer access here if (strcasecmp(subdrv, subdriver[i].name)) { ^~~~~~~~~ blazer_usb.c:626:25: note: used in buffer access here subdriver_command = subdriver[i].command; ^~~~~~~~~ blazer_usb.c:585:7: warning: 'tbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tbuf[255]; /* Some devices choke on size > 255 */ ~~~~~~~~^~~~~~~~~ blazer_usb.c:688:28: note: used in buffer access here langid = (unsigned char)tbuf[2] | ((unsigned char)tbuf[3] << 8); ^~~~ blazer_usb.c:688:54: note: used in buffer access here langid = (unsigned char)tbuf[2] | ((unsigned char)tbuf[3] << 8); ^~~~ blazer_usb.c:586:8: warning: 'regex_array' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *regex_array[7]; ~~~~~~~~~^~~~~~~~~~~~~~ blazer_usb.c:592:2: note: used in buffer access here regex_array[1] = getval("productid"); ^~~~~~~~~~~ blazer_usb.c:593:2: note: used in buffer access here regex_array[2] = getval("vendor"); ^~~~~~~~~~~ blazer_usb.c:594:2: note: used in buffer access here regex_array[3] = getval("product"); ^~~~~~~~~~~ blazer_usb.c:597:2: note: used in buffer access here regex_array[6] = getval("device"); ^~~~~~~~~~~ blazer_usb.c:595:2: note: used in buffer access here regex_array[4] = getval("serial"); ^~~~~~~~~~~ blazer_usb.c:596:2: note: used in buffer access here regex_array[5] = getval("bus"); ^~~~~~~~~~~ blazer_usb.c:616:27: note: used in buffer access here if (!regex_array[0] || !regex_array[1]) { ^~~~~~~~~~~ blazer_usb.c:643:58: note: used in buffer access here fatalx(EXIT_FAILURE, "invalid regular expression: %s", regex_array[ret]); ^~~~~~~~~~~ 14 warnings generated. depbase=`echo powerman-pdu.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT powerman-pdu.o -MD -MP -MF $depbase.Tpo -c -o powerman-pdu.o powerman-pdu.c &&\ mv -f $depbase.Tpo $depbase.Po nutdrv_atcl_usb.c:280:18: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] libusb_device **devlist; ^ nutdrv_atcl_usb.c:280:18: warning: 'devlist' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] libusb_device **devlist; ~~~~~~~~~~~~~~~~^~~~~~~ nutdrv_atcl_usb.c:294:24: note: used in buffer access here libusb_device *dev = devlist[i]; ^~~~~~~ nutdrv_atcl_usb.c:573:7: warning: 'reply' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char reply[STATUS_PACKETSIZE]; ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ nutdrv_atcl_usb.c:621:13: note: used in pointer arithmetic here if(strnlen(reply + 1, 7) != 0) { ^~~~~ 3 warnings generated. depbase=`echo phoenixcontact_modbus.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT phoenixcontact_modbus.o -MD -MP -MF $depbase.Tpo -c -o phoenixcontact_modbus.o phoenixcontact_modbus.c &&\ mv -f $depbase.Tpo $depbase.Po tripplite_usb.c:210:30: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int is_binary_protocol() ^ void tripplite_usb.c:239:29: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int is_smart_protocol() ^ void tripplite_usb.c:353:31: warning: 'str' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void toprint_str(char *str, size_t len) ~~~~~~^~~ tripplite_usb.c:359:3: note: used in buffer access here str[i] = toprint(str[i]); ^~~ tripplite_usb.c:359:20: note: used in buffer access here str[i] = toprint(str[i]); ^~~ tripplite_usb.c:266:34: note: expanded from macro 'toprint' #define toprint(x) (isalnum((int)x) ? (char)(x) : (char)'.') ^ /usr/include/ctype.h:89:32: note: expanded from macro 'isalnum' #define isalnum(c) __sbistype((c), _CTYPE_A|_CTYPE_D|_CTYPE_N) ^ tripplite_usb.c:359:20: note: used in buffer access here str[i] = toprint(str[i]); ^~~ tripplite_usb.c:266:46: note: expanded from macro 'toprint' #define toprint(x) (isalnum((int)x) ? (char)(x) : (char)'.') ^ tripplite_usb.c:374:16: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[32]; ~~~~~~~~~~~~~~^~~~~~~ tripplite_usb.c:375:2: note: used in buffer access here buf[31] = '\0'; ^~~ tripplite_usb.c:378:24: note: used in buffer access here if(len < sizeof(buf)) buf[len] = '\0'; ^~~ tripplite_usb.c:393:48: warning: 'start' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static unsigned int bin2d(const unsigned char *start, unsigned int len) ~~~~~~~~~~~~~~~~~~~~~^~~~~ tripplite_usb.c:398:12: note: used in buffer access here value |= start[index]; ^~~~~ tripplite_usb.c:419:46: warning: 'msg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static const char *hexascdump(unsigned char *msg, size_t len) ~~~~~~~~~~~~~~~^~~ tripplite_usb.c:431:42: note: used in buffer access here bufp += sprintf((char *)bufp, "%02x ", msg[i]); ^~~ tripplite_usb.c:438:36: note: used in buffer access here *bufp++ = (unsigned char)toprint(msg[i]); ^~~ tripplite_usb.c:266:34: note: expanded from macro 'toprint' #define toprint(x) (isalnum((int)x) ? (char)(x) : (char)'.') ^ /usr/include/ctype.h:89:32: note: expanded from macro 'isalnum' #define isalnum(c) __sbistype((c), _CTYPE_A|_CTYPE_D|_CTYPE_N) ^ tripplite_usb.c:438:36: note: used in buffer access here *bufp++ = (unsigned char)toprint(msg[i]); ^~~ tripplite_usb.c:266:46: note: expanded from macro 'toprint' #define toprint(x) (isalnum((int)x) ? (char)(x) : (char)'.') ^ tripplite_usb.c:423:17: warning: 'bufp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char *bufp, *end; ~~~~~~~~~~~~~~~^~~~ tripplite_usb.c:431:3: note: used in pointer arithmetic here bufp += sprintf((char *)bufp, "%02x ", msg[i]); ^~~~ tripplite_usb.c:426:8: note: used in pointer arithmetic here end = bufp + sizeof(buf); ^~~~ tripplite_usb.c:435:21: note: used in pointer arithmetic here if (end-bufp > 0) *bufp++ = '\''; ^~~~ tripplite_usb.c:438:4: note: used in pointer arithmetic here *bufp++ = (unsigned char)toprint(msg[i]); ^~~~ tripplite_usb.c:440:21: note: used in pointer arithmetic here if (end-bufp > 0) *bufp++ = '\''; ^~~~ tripplite_usb.c:423:24: warning: 'end' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char *bufp, *end; ~~~~~~~~~~~~~~~~~~~~~~^~~ tripplite_usb.c:445:6: note: used in pointer arithmetic here *--end='\0'; ^~~ tripplite_usb.c:476:43: warning: 'value' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void decode_v(const unsigned char *value) ~~~~~~~~~~~~~~~~~~~~~^~~~~ tripplite_usb.c:489:9: note: used in buffer access here ivn = value[1]; ^~~~~ tripplite_usb.c:485:14: note: used in pointer arithmetic here bv = hex2d(value+2, 2); ^~~~~ tripplite_usb.c:483:47: note: used in buffer access here battery_voltage_nominal = (value[2] << 8) | value[3]; ^~~~~ tripplite_usb.c:490:7: note: used in buffer access here lb = value[4]; ^~~~~ tripplite_usb.c:483:30: note: used in buffer access here battery_voltage_nominal = (value[2] << 8) | value[3]; ^~~~~ tripplite_usb.c:593:16: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] unsigned char buffer_out[8]; ^ tripplite_usb.c:590:42: warning: 'msg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int send_cmd(const unsigned char *msg, size_t msg_len, unsigned char *reply, size_t reply_len) ~~~~~~~~~~~~~~~~~~~~~^~~ tripplite_usb.c:608:21: note: used in buffer access here buffer_out[i+1] = msg[i]; ^~~ tripplite_usb.c:609:11: note: used in buffer access here csum += msg[i]; ^~~ tripplite_usb.c:593:16: warning: 'buffer_out' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buffer_out[8]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~ tripplite_usb.c:645:43: note: used in buffer access here done = (ret == sizeof(buffer_out)) && (buffer_out[1] == reply[0]); ^~~~~~~~~~ tripplite_usb.c:608:3: note: used in buffer access here buffer_out[i+1] = msg[i]; ^~~~~~~~~~ tripplite_usb.c:613:2: note: used in buffer access here buffer_out[i+1] = ENDCHAR; ^~~~~~~~~~ tripplite_usb.c:605:21: note: used in buffer access here for(i=1; i<8; i++) buffer_out[i] = '\0'; ^~~~~~~~~~ tripplite_usb.c:612:2: note: used in buffer access here buffer_out[i] = 255-csum; ^~~~~~~~~~ tripplite_usb.c:671:16: warning: 'tmp_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char tmp_value[9]; ~~~~~~~~~~~~~~^~~~~~~~~~~~ tripplite_usb.c:682:44: note: used in pointer arithmetic here dstate_setinfo(var_name, "%s", hexascdump(tmp_value+1, 7)); ^~~~~~~~~ tripplite_usb.c:714:26: warning: 'cmd_N' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char buf[256], cmd_N[]="N\0x", cmd_G[] = "G"; ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ tripplite_usb.c:719:2: note: used in buffer access here cmd_N[1] = (unsigned char)(offdelay >> 8); ^~~~~ tripplite_usb.c:718:2: note: used in buffer access here cmd_N[2] = (unsigned char)(offdelay & 0x00FF); ^~~~~ tripplite_usb.c:913:17: warning: 'J_msg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char J_msg[] = "J__", buf[9]; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ tripplite_usb.c:918:3: note: used in buffer access here J_msg[2] = (unsigned char)(new_unit_id & 0xff); ^~~~~ tripplite_usb.c:917:3: note: used in buffer access here J_msg[1] = (unsigned char)(new_unit_id >> 8); ^~~~~ tripplite_usb.c:932:8: warning: 'index_str' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char index_str[10], *first_dot, *next_dot; ~~~~~^~~~~~~~~~~~~ tripplite_usb.c:948:3: note: used in buffer access here index_str[index_chars] = 0; ^~~~~~~~~ tripplite_usb.c:932:24: warning: 'first_dot' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char index_str[10], *first_dot, *next_dot; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ tripplite_usb.c:937:21: note: used in pointer arithmetic here next_dot = strstr(first_dot + 1, "."); ^~~~~~~~~ tripplite_usb.c:942:29: note: used in pointer arithmetic here index_chars = next_dot - (first_dot + 1); ^~~~~~~~~ tripplite_usb.c:947:22: note: used in pointer arithmetic here strncpy(index_str, first_dot + 1, (size_t)index_chars); ^~~~~~~~~ tripplite_usb.c:1062:24: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] for(model_end = model + strlen(model) - 1; ~~~~~~^~~~~~~~~~~~~~~ tripplite_usb.c:991:8: warning: 'model' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *model, *model_end; ~~~~~~^~~~~ tripplite_usb.c:1062:18: note: used in pointer arithmetic here for(model_end = model + strlen(model) - 1; ^~~~~ tripplite_usb.c:1055:3: note: used in pointer arithmetic here model += strlen(hd->Vendor); ^~~~~ tripplite_usb.c:1059:23: note: used in pointer arithmetic here for(; *model == ' '; model++); ^~~~~ tripplite_usb.c:991:16: warning: 'model_end' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *model, *model_end; ~~~~~~~~~~~~~~^~~~~~~~~ tripplite_usb.c:1064:4: note: used in pointer arithmetic here model_end--) { ^~~~~~~~~ tripplite_usb.c:992:16: warning: 'proto_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char proto_value[9], f_value[9], p_value[9], s_value[9], ~~~~~~~~~~~~~~^~~~~~~~~~~~~~ tripplite_usb.c:1005:29: note: used in buffer access here | (unsigned)(proto_value[2]); ^~~~~~~~~~~ tripplite_usb.c:1004:29: note: used in buffer access here proto_number = ((unsigned)(proto_value[1]) << 8) ^~~~~~~~~~~ tripplite_usb.c:1009:50: note: used in pointer arithmetic here dstate_setinfo("ups.debug.0", "%s", hexascdump(proto_value+1, 7)); ^~~~~~~~~~~ tripplite_usb.c:992:32: warning: 'f_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char proto_value[9], f_value[9], p_value[9], s_value[9], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ tripplite_usb.c:1077:23: note: used in pointer arithmetic here toprint_str((char *)(f_value+1), 6); ^~~~~~~ tripplite_usb.c:1078:2: note: used in buffer access here f_value[7] = 0; ^~~~~~~ tripplite_usb.c:1080:40: note: used in pointer arithmetic here dstate_setinfo("ups.firmware", "F%s", f_value+1); ^~~~~~~ tripplite_usb.c:992:44: warning: 'p_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char proto_value[9], f_value[9], p_value[9], s_value[9], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ tripplite_usb.c:1046:49: note: used in pointer arithmetic here dstate_setinfo("ups.debug.P","%s", hexascdump(p_value+1, 7)); ^~~~~~~ tripplite_usb.c:1043:23: note: used in pointer arithmetic here va = strtol((char *)(p_value+1), NULL, 10); ^~~~~~~ tripplite_usb.c:993:7: warning: 'u_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] u_value[9], v_value[9], w_value[9]; ^~~~~~~~~~ tripplite_usb.c:1133:32: note: used in buffer access here unit_id = (long)((unsigned)(u_value[1]) << 8) ^~~~~~~ tripplite_usb.c:1134:32: note: used in buffer access here | (unsigned)(u_value[2]); ^~~~~~~ tripplite_usb.c:1204:16: warning: 'b_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char b_value[9], d_value[9], l_value[9], s_value[9], ~~~~~~~~~~~~~~^~~~~~~~~~ tripplite_usb.c:1361:49: note: used in pointer arithmetic here dstate_setinfo("input.voltage", "%.2f", hex2d(b_value+1, 4)/3600.0*input_voltage_scaled); ^~~~~~~ tripplite_usb.c:1363:18: note: used in pointer arithmetic here bv_12V = hex2d(b_value+5, 2)/16.0; ^~~~~~~ tripplite_usb.c:1204:28: warning: 'd_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char b_value[9], d_value[9], l_value[9], s_value[9], ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ tripplite_usb.c:1381:18: note: used in pointer arithmetic here hex_or_bin2d(d_value+1, 2) * input_voltage_scaled / 120); ^~~~~~~ tripplite_usb.c:1384:25: note: used in pointer arithmetic here bv_12V = hex_or_bin2d(d_value+3, 2) / 10.0 ; ^~~~~~~ tripplite_usb.c:1204:40: warning: 'l_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char b_value[9], d_value[9], l_value[9], s_value[9], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ tripplite_usb.c:1478:11: note: used in pointer arithmetic here hex2d(l_value+1, 4)/240.0*input_voltage_scaled); ^~~~~~~ tripplite_usb.c:1481:44: note: used in pointer arithmetic here dstate_setinfo("ups.load", "%ld", hex2d(l_value+1, 2)); ^~~~~~~ tripplite_usb.c:1484:51: note: used in pointer arithmetic here dstate_setinfo("ups.load", "%ld", hex_or_bin2d(l_value+1, 1)); ^~~~~~~ tripplite_usb.c:1487:44: note: used in pointer arithmetic here dstate_setinfo("ups.load", "%ld", hex2d(l_value+1, 2)); ^~~~~~~ tripplite_usb.c:1488:50: note: used in pointer arithmetic here dstate_setinfo("ups.debug.L","%s", hexascdump(l_value+1, 7)); ^~~~~~~ tripplite_usb.c:1503:50: note: used in pointer arithmetic here dstate_setinfo("ups.debug.L","%s", hexascdump(l_value+1, 7)); ^~~~~~~ tripplite_usb.c:1204:52: warning: 's_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char b_value[9], d_value[9], l_value[9], s_value[9], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ tripplite_usb.c:1228:49: note: used in pointer arithmetic here dstate_setinfo("ups.debug.S","%s", hexascdump(s_value+1, 7)); ^~~~~~~ tripplite_usb.c:1234:10: note: used in buffer access here switch(s_value[2]) { ^~~~~~~ tripplite_usb.c:1252:60: note: used in buffer access here upslogx(LOG_WARNING, "Unknown value for s[2]: 0x%02x", s_value[2]); ^~~~~~~ tripplite_usb.c:1293:56: note: used in buffer access here upslogx(LOG_ERR, "Unknown value for s[2]: 0x%02x", s_value[2]); ^~~~~~~ tripplite_usb.c:1255:56: note: used in buffer access here upslogx(LOG_ERR, "Unknown value for s[2]: 0x%02x", s_value[2]); ^~~~~~~ tripplite_usb.c:1265:28: note: used in buffer access here unsigned int s_value_2 = s_value[2]; ^~~~~~~ tripplite_usb.c:1299:6: note: used in buffer access here if(s_value[4] & 4) { ^~~~~~~ tripplite_usb.c:1303:7: note: used in buffer access here if(s_value[4] & 1) { ^~~~~~~ tripplite_usb.c:1325:14: note: used in buffer access here s_value_1 = s_value[1]; ^~~~~~~ tripplite_usb.c:1344:55: note: used in buffer access here upslogx(LOG_ERR, "Unknown value for s[1]: 0x%02x", s_value[1]); ^~~~~~~ tripplite_usb.c:1205:4: warning: 'm_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] m_value[9], t_value[9]; ^~~~~~~~~~ tripplite_usb.c:1393:6: note: used in buffer access here if(m_value[5] != 0x0d) { /* we only expect 4 hex/binary digits */ ^~~~~~~ tripplite_usb.c:1394:51: note: used in pointer arithmetic here dstate_setinfo("ups.debug.M", "%s", hexascdump(m_value+1, 7)); ^~~~~~~ tripplite_usb.c:1404:17: note: used in pointer arithmetic here hex_or_bin2d(m_value+1, 2) * input_voltage_scaled / 120); ^~~~~~~ tripplite_usb.c:1406:17: note: used in pointer arithmetic here hex_or_bin2d(m_value+3, 2) * input_voltage_scaled / 120); ^~~~~~~ tripplite_usb.c:1205:16: warning: 't_value' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] m_value[9], t_value[9]; ~~~~~~~~~~~~^~~~~~~~~~ tripplite_usb.c:1411:50: note: used in pointer arithmetic here dstate_setinfo("ups.debug.T", "%s", hexascdump(t_value+1, 7)); ^~~~~~~ tripplite_usb.c:1419:17: note: used in pointer arithmetic here freq = hex2d(t_value + 3, 3); ^~~~~~~ tripplite_usb.c:1422:11: note: used in buffer access here switch(t_value[6]) { ^~~~~~~ tripplite_usb.c:1433:17: note: used in pointer arithmetic here freq = hex2d(t_value + 3, 4); ^~~~~~~ tripplite_usb.c:1439:22: note: used in pointer arithmetic here (unsigned)(hex2d(t_value+1, 1))); ^~~~~~~ tripplite_usb.c:1443:22: note: used in pointer arithmetic here (unsigned)(hex2d(t_value+1, 2)) * 0.3636 - 21); ^~~~~~~ tripplite_usb.c:303:15: warning: 'V_interval' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static double V_interval[2] = {MIN_VOLT, MAX_VOLT}; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tripplite_usb.c:1454:17: note: used in buffer access here if (bv_12V >= V_interval[1]) ^~~~~~~~~~ tripplite_usb.c:1460:10: note: used in buffer access here / (V_interval[1] - V_interval[0]))); ^~~~~~~~~~ tripplite_usb.c:1565:8: warning: 'regex_array' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *regex_array[7]; ~~~~~~^~~~~~~~~~~~~~ tripplite_usb.c:1573:2: note: used in buffer access here regex_array[1] = getval("productid"); ^~~~~~~~~~~ tripplite_usb.c:1574:2: note: used in buffer access here regex_array[2] = getval("vendor"); /* vendor string */ ^~~~~~~~~~~ tripplite_usb.c:1575:2: note: used in buffer access here regex_array[3] = getval("product"); /* product string */ ^~~~~~~~~~~ tripplite_usb.c:1578:2: note: used in buffer access here regex_array[6] = getval("device"); ^~~~~~~~~~~ tripplite_usb.c:1576:2: note: used in buffer access here regex_array[4] = getval("serial"); /* probably won't see this */ ^~~~~~~~~~~ tripplite_usb.c:1577:2: note: used in buffer access here regex_array[5] = getval("bus"); ^~~~~~~~~~~ tripplite_usb.c:1584:58: note: used in buffer access here fatalx(EXIT_FAILURE, "invalid regular expression: %s", regex_array[r]); ^~~~~~~~~~~ tripplite_usb.c:303:15: warning: 'V_interval' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static double V_interval[2] = {MIN_VOLT, MAX_VOLT}; ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tripplite_usb.c:1631:3: note: used in buffer access here V_interval[1] = atof(value); ^~~~~~~~~~ tripplite_usb.c:1632:48: note: used in buffer access here upsdebugx(2, "Setting 'battery_max' to %.g", V_interval[1]); ^~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ 33 warnings generated. depbase=`echo generic_modbus.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT generic_modbus.o -MD -MP -MF $depbase.Tpo -c -o generic_modbus.o generic_modbus.c &&\ mv -f $depbase.Tpo $depbase.Po riello_usb.c:86:31: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int cypress_setfeatures() ^ void riello_usb.c:53:16: warning: 'bufOut' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static uint8_t bufOut[BUFFER_SIZE]; ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ riello_usb.c:91:2: note: used in buffer access here bufOut[1] = 0x4; ^~~~~~ riello_usb.c:92:2: note: used in buffer access here bufOut[2] = 0x0; ^~~~~~ riello_usb.c:93:2: note: used in buffer access here bufOut[3] = 0x0; ^~~~~~ riello_usb.c:94:2: note: used in buffer access here bufOut[4] = 0x3; ^~~~~~ riello_usb.c:111:37: warning: 'send_str' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int Send_USB_Packet(uint8_t *send_str, uint16_t numbytes) ~~~~~~~~~^~~~~~~~ riello_usb.c:127:21: note: used in buffer access here USB_buff_pom[2] = send_str[(i*7)+1]; ^~~~~~~~ riello_usb.c:128:21: note: used in buffer access here USB_buff_pom[3] = send_str[(i*7)+2]; ^~~~~~~~ riello_usb.c:126:21: note: used in buffer access here USB_buff_pom[1] = send_str[(i*7)]; ^~~~~~~~ riello_usb.c:129:21: note: used in buffer access here USB_buff_pom[4] = send_str[(i*7)+3]; ^~~~~~~~ riello_usb.c:130:21: note: used in buffer access here USB_buff_pom[5] = send_str[(i*7)+4]; ^~~~~~~~ riello_usb.c:131:21: note: used in buffer access here USB_buff_pom[6] = send_str[(i*7)+5]; ^~~~~~~~ riello_usb.c:132:21: note: used in buffer access here USB_buff_pom[7] = send_str[(i*7)+6]; ^~~~~~~~ riello_usb.c:150:22: note: used in buffer access here USB_buff_pom[1] = send_str[(i*7)]; ^~~~~~~~ riello_usb.c:152:22: note: used in buffer access here USB_buff_pom[2] = send_str[(i*7)+1]; ^~~~~~~~ riello_usb.c:154:22: note: used in buffer access here USB_buff_pom[3] = send_str[(i*7)+2]; ^~~~~~~~ riello_usb.c:156:22: note: used in buffer access here USB_buff_pom[4] = send_str[(i*7)+3]; ^~~~~~~~ riello_usb.c:158:22: note: used in buffer access here USB_buff_pom[5] = send_str[(i*7)+4]; ^~~~~~~~ riello_usb.c:160:22: note: used in buffer access here USB_buff_pom[6] = send_str[(i*7)+5]; ^~~~~~~~ riello_usb.c:162:22: note: used in buffer access here USB_buff_pom[7] = send_str[(i*7)+6]; ^~~~~~~~ riello_usb.c:113:10: warning: 'USB_buff_pom' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint8_t USB_buff_pom[10]; ~~~~~~~~^~~~~~~~~~~~~~~~ riello_usb.c:127:3: note: used in buffer access here USB_buff_pom[2] = send_str[(i*7)+1]; ^~~~~~~~~~~~ riello_usb.c:126:3: note: used in buffer access here USB_buff_pom[1] = send_str[(i*7)]; ^~~~~~~~~~~~ riello_usb.c:128:3: note: used in buffer access here USB_buff_pom[3] = send_str[(i*7)+2]; ^~~~~~~~~~~~ riello_usb.c:129:3: note: used in buffer access here USB_buff_pom[4] = send_str[(i*7)+3]; ^~~~~~~~~~~~ riello_usb.c:130:3: note: used in buffer access here USB_buff_pom[5] = send_str[(i*7)+4]; ^~~~~~~~~~~~ riello_usb.c:131:3: note: used in buffer access here USB_buff_pom[6] = send_str[(i*7)+5]; ^~~~~~~~~~~~ riello_usb.c:132:3: note: used in buffer access here USB_buff_pom[7] = send_str[(i*7)+6]; ^~~~~~~~~~~~ riello_usb.c:150:4: note: used in buffer access here USB_buff_pom[1] = send_str[(i*7)]; ^~~~~~~~~~~~ riello_usb.c:152:4: note: used in buffer access here USB_buff_pom[2] = send_str[(i*7)+1]; ^~~~~~~~~~~~ riello_usb.c:154:4: note: used in buffer access here USB_buff_pom[3] = send_str[(i*7)+2]; ^~~~~~~~~~~~ riello_usb.c:156:4: note: used in buffer access here USB_buff_pom[4] = send_str[(i*7)+3]; ^~~~~~~~~~~~ riello_usb.c:158:4: note: used in buffer access here USB_buff_pom[5] = send_str[(i*7)+4]; ^~~~~~~~~~~~ riello_usb.c:160:4: note: used in buffer access here USB_buff_pom[6] = send_str[(i*7)+5]; ^~~~~~~~~~~~ riello_usb.c:162:4: note: used in buffer access here USB_buff_pom[7] = send_str[(i*7)+6]; ^~~~~~~~~~~~ riello_usb.c:177:7: warning: 'inBuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char inBuf[10]; ~~~~~^~~~~~~~~ riello_usb.c:192:135: note: used in buffer access here upsdebugx(3, "read: %02X %02X %02X %02X %02X %02X %02X %02X", inBuf[0], inBuf[1], inBuf[2], inBuf[3], inBuf[4], inBuf[5], inBuf[6], inBuf[7]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello_usb.c:202:19: note: used in buffer access here memcpy(buffer, &inBuf[1], size); ^~~~~ riello_usb.c:192:115: note: used in buffer access here upsdebugx(3, "read: %02X %02X %02X %02X %02X %02X %02X %02X", inBuf[0], inBuf[1], inBuf[2], inBuf[3], inBuf[4], inBuf[5], inBuf[6], inBuf[7]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello_usb.c:192:75: note: used in buffer access here upsdebugx(3, "read: %02X %02X %02X %02X %02X %02X %02X %02X", inBuf[0], inBuf[1], inBuf[2], inBuf[3], inBuf[4], inBuf[5], inBuf[6], inBuf[7]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello_usb.c:192:105: note: used in buffer access here upsdebugx(3, "read: %02X %02X %02X %02X %02X %02X %02X %02X", inBuf[0], inBuf[1], inBuf[2], inBuf[3], inBuf[4], inBuf[5], inBuf[6], inBuf[7]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello_usb.c:192:85: note: used in buffer access here upsdebugx(3, "read: %02X %02X %02X %02X %02X %02X %02X %02X", inBuf[0], inBuf[1], inBuf[2], inBuf[3], inBuf[4], inBuf[5], inBuf[6], inBuf[7]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello_usb.c:192:95: note: used in buffer access here upsdebugx(3, "read: %02X %02X %02X %02X %02X %02X %02X %02X", inBuf[0], inBuf[1], inBuf[2], inBuf[3], inBuf[4], inBuf[5], inBuf[6], inBuf[7]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello_usb.c:192:125: note: used in buffer access here upsdebugx(3, "read: %02X %02X %02X %02X %02X %02X %02X %02X", inBuf[0], inBuf[1], inBuf[2], inBuf[3], inBuf[4], inBuf[5], inBuf[6], inBuf[7]); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ riello_usb.c:214:10: warning: 'USB_buff' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint8_t USB_buff[BUFFER_SIZE]; ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ riello_usb.c:246:15: note: used in buffer access here commbyte = USB_buff[i]; ^~~~~~~~ riello_usb.c:429:27: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int get_ups_nominal() ^ void riello_usb.c:462:26: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int get_ups_status() ^ void riello_usb.c:501:28: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int get_ups_extended() ^ void riello_usb.c:534:23: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] int get_ups_statuscode() ^ void riello_usb.c:790:26: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static int start_ups_comm() ^ void riello_usb.c:839:4: warning: 'subdriver' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } subdriver[] = { ~~^~~~~~~~~~~~~~~ riello_usb.c:873:25: note: used in buffer access here subdriver_command = subdriver[i].command; ^~~~~~~~~ riello_usb.c:867:15: note: used in buffer access here for (i = 0; subdriver[i].name; i++) { ^~~~~~~~~ riello_usb.c:869:27: note: used in buffer access here if (strcasecmp(subdrv, subdriver[i].name)) { ^~~~~~~~~ riello_usb.c:845:8: warning: 'regex_array' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *regex_array[7]; ~~~~~~~~~^~~~~~~~~~~~~~ riello_usb.c:891:58: note: used in buffer access here fatalx(EXIT_FAILURE, "invalid regular expression: %s", regex_array[ret]); ^~~~~~~~~~~ riello_usb.c:863:27: note: used in buffer access here if (!regex_array[0] || !regex_array[1]) { ^~~~~~~~~~~ riello_usb.c:855:2: note: used in buffer access here regex_array[4] = getval("serial"); ^~~~~~~~~~~ riello_usb.c:856:2: note: used in buffer access here regex_array[5] = getval("bus"); ^~~~~~~~~~~ riello_usb.c:857:2: note: used in buffer access here regex_array[6] = getval("device"); ^~~~~~~~~~~ riello_usb.c:854:2: note: used in buffer access here regex_array[3] = getval("product"); ^~~~~~~~~~~ riello_usb.c:852:2: note: used in buffer access here regex_array[1] = getval("productid"); ^~~~~~~~~~~ riello_usb.c:853:2: note: used in buffer access here regex_array[2] = getval("vendor"); ^~~~~~~~~~~ riello_usb.c:939:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] gpser_error_control = DevData.Identif_bytes[4]-0x30; ^~~~~~~~~~~~~~~~~~~~~ riello_usb.c:1132:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[1], 3)) ^~~~~~~~~~~~~~~~~~ riello_usb.c:1136:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[4], 2)) ^~~~~~~~~~~~~~~~~~ riello_usb.c:1140:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[1], 0)) ^~~~~~~~~~~~~~~~~~ riello_usb.c:1144:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[1], 1)) ^~~~~~~~~~~~~~~~~~ riello_usb.c:1148:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[2], 0)) ^~~~~~~~~~~~~~~~~~ riello_usb.c:1152:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (riello_test_bit(&DevData.StatusCode[2], 2)) ^~~~~~~~~~~~~~~~~~ 20 warnings generated. depbase=`echo huawei-ups2000.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT huawei-ups2000.o -MD -MP -MF $depbase.Tpo -c -o huawei-ups2000.o huawei-ups2000.c &&\ mv -f $depbase.Tpo $depbase.Po powerman-pdu.c:53:8: warning: 'cmdsuffix' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *cmdsuffix = NULL; ~~~~~~^~~~~~~~~~~~~~~~ powerman-pdu.c:63:3: note: used in pointer arithmetic here cmdsuffix++; ^~~~~~~~~ powerman-pdu.c:54:8: warning: 'cmdindex' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *cmdindex = NULL; ~~~~~~^~~~~~~~~~~~~~~ powerman-pdu.c:70:3: note: used in pointer arithmetic here cmdindex++; ^~~~~~~~ 2 warnings generated. phoenixcontact_modbus.c:64:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] uint16_t tab_reg[64]; ^ phoenixcontact_modbus.c:64:11: warning: 'tab_reg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint16_t tab_reg[64]; ~~~~~~~~~^~~~~~~~~~~ phoenixcontact_modbus.c:75:6: note: used in buffer access here if (tab_reg[2]) { ^~~~~~~ phoenixcontact_modbus.c:79:6: note: used in buffer access here if (tab_reg[1]) { ^~~~~~~ phoenixcontact_modbus.c:92:46: note: used in buffer access here dstate_setinfo("battery.temperature", "%d", tab_reg[1] - 273); ^~~~~~~ phoenixcontact_modbus.c:95:51: note: used in buffer access here dstate_setinfo("output.current", "%f", (double) (tab_reg[6]) / 1000.0); ^~~~~~~ phoenixcontact_modbus.c:93:42: note: used in buffer access here dstate_setinfo("battery.runtime", "%d", tab_reg[3]); ^~~~~~~ phoenixcontact_modbus.c:94:43: note: used in buffer access here dstate_setinfo("battery.capacity", "%d", tab_reg[8] * 10); ^~~~~~~ 2 warnings generated. depbase=`echo socomec_jbus.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT socomec_jbus.o -MD -MP -MF $depbase.Tpo -c -o socomec_jbus.o socomec_jbus.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo adelsystem_cbi.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT adelsystem_cbi.o -MD -MP -MF $depbase.Tpo -c -o adelsystem_cbi.o adelsystem_cbi.c &&\ mv -f $depbase.Tpo $depbase.Po netxml-ups.c:705:23: warning: 's' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char buf[LARGEBUF], *s; ~~~~~~~~~~~~~~~~~~~~~~~~^ netxml-ups.c:784:47: note: used in pointer arithmetic here if (!strncasecmp(s, "", 6) && (sscanf(s+6, "%lli", &tmp_port) != 1)) { ^ netxml-ups.c:796:49: note: used in pointer arithmetic here if (!strncasecmp(s, "", 8) && (sscanf(s+8, "%lli", &tmp_secret) != 1)) { ^ netxml-ups.c:917:8: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] char *val; ^ netxml-ups.c:1205:18: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] object_entry_t *entry = (object_entry_t *)calloc(1, ^ netxml-ups.c:1286:13: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] ne_buffer *buff = ne_buffer_create(); ^ netxml-ups.c:1307:13: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] ne_buffer *buff = ne_buffer_create(); ^ netxml-ups.c:1365:15: warning: 'attrs' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char **attrs) ~~~~~~~~~~~~~^~~~~ netxml-ups.c:1396:23: note: used in buffer access here for (i = 0; NULL != attrs[i] && NULL != attrs[i + 1]; i += 2) { ^~~~~ netxml-ups.c:1396:43: note: used in buffer access here for (i = 0; NULL != attrs[i] && NULL != attrs[i + 1]; i += 2) { ^~~~~ netxml-ups.c:1401:16: note: used in buffer access here if (NULL == attrs[i] || NULL == attrs[i + 1]) ^~~~~ netxml-ups.c:1406:19: note: used in buffer access here assert(NULL != attrs[i + 1]); ^~~~~ /usr/include/assert.h:55:21: note: expanded from macro 'assert' #define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, \ ^ netxml-ups.c:1401:36: note: used in buffer access here if (NULL == attrs[i] || NULL == attrs[i + 1]) ^~~~~ netxml-ups.c:1405:19: note: used in buffer access here assert(NULL != attrs[i]); ^~~~~ /usr/include/assert.h:55:21: note: expanded from macro 'assert' #define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, \ ^ netxml-ups.c:1409:24: note: used in buffer access here if (0 == strcasecmp(attrs[i], "name")) { ^~~~~ netxml-ups.c:1411:30: note: used in buffer access here aval = vname_mge_xml2nut(attrs[i + 1]); ^~~~~ netxml-ups.c:1415:29: note: used in buffer access here else if (0 == strcasecmp(attrs[i], "unit")) { ^~~~~ netxml-ups.c:1417:12: note: used in buffer access here aval = attrs[i + 1]; ^~~~~ netxml-ups.c:1421:29: note: used in buffer access here else if (0 == strcasecmp(attrs[i], "access")) { ^~~~~ netxml-ups.c:1423:12: note: used in buffer access here aval = attrs[i + 1]; ^~~~~ netxml-ups.c:1550:18: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] object_query_t *handle = object_query_create(SET_OBJECT_RESPONSE, RAW_POST); ^ netxml-ups.c:1628:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int status = ne_begin_request(req); ^ 8 warnings generated. depbase=`echo upsdrvctl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsdrvctl.o -MD -MP -MF $depbase.Tpo -c -o upsdrvctl.o upsdrvctl.c &&\ mv -f $depbase.Tpo $depbase.Po generic_modbus.c:33:18: warning: 'sigar' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static sigattr_t sigar[NUMOF_SIG_STATES]; /* array of ups signal attributes */ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ generic_modbus.c:95:6: note: used in buffer access here if (sigar[FSD_T].addr != NOTUSED) { ^~~~~ generic_modbus.c:33:18: warning: 'sigar' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static sigattr_t sigar[NUMOF_SIG_STATES]; /* array of ups signal attributes */ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ generic_modbus.c:191:6: note: used in buffer access here if (sigar[OL_T].addr != NOTUSED) { ^~~~~ generic_modbus.c:196:27: note: used in buffer access here } else if (rval == (1 ^ sigar[OL_T].noro)) { ^~~~~ generic_modbus.c:205:8: note: used in buffer access here if (sigar[DISCHRG_T].addr == NOTUSED) { ^~~~~ generic_modbus.c:219:8: note: used in buffer access here if (sigar[DISCHRG_T].addr == NOTUSED) { ^~~~~ generic_modbus.c:211:13: note: used in buffer access here } else if (sigar[OB_T].addr != NOTUSED) { ^~~~~ generic_modbus.c:216:27: note: used in buffer access here } else if (rval == (1 ^ sigar[OB_T].noro)) { ^~~~~ generic_modbus.c:233:6: note: used in buffer access here if (sigar[HB_T].addr != NOTUSED) { ^~~~~ generic_modbus.c:238:27: note: used in buffer access here } else if (rval == (1 ^ sigar[HB_T].noro)) { ^~~~~ generic_modbus.c:241:29: note: used in buffer access here } else if (online == 1 && sigar[CHRG_T].addr == NOTUSED && errcnt == 0) { ^~~~~ generic_modbus.c:244:29: note: used in buffer access here } else if (online == 0 && sigar[DISCHRG_T].addr == NOTUSED && errcnt == 0) { ^~~~~ generic_modbus.c:254:6: note: used in buffer access here if (sigar[LB_T].addr != NOTUSED) { ^~~~~ generic_modbus.c:259:27: note: used in buffer access here } else if (rval == (1 ^ sigar[LB_T].noro)) { ^~~~~ generic_modbus.c:269:6: note: used in buffer access here if (sigar[RB_T].addr != NOTUSED) { ^~~~~ generic_modbus.c:274:27: note: used in buffer access here } else if (rval == (1 ^ sigar[RB_T].noro)) { ^~~~~ generic_modbus.c:284:6: note: used in buffer access here if (sigar[CHRG_T].addr != NOTUSED) { ^~~~~ generic_modbus.c:289:27: note: used in buffer access here } else if (rval == (1 ^ sigar[CHRG_T].noro)) { ^~~~~ generic_modbus.c:293:13: note: used in buffer access here } else if (sigar[DISCHRG_T].addr != NOTUSED) { ^~~~~ generic_modbus.c:298:27: note: used in buffer access here } else if (rval == (1 ^ sigar[DISCHRG_T].noro)) { ^~~~~ generic_modbus.c:33:18: warning: 'sigar' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static sigattr_t sigar[NUMOF_SIG_STATES]; /* array of ups signal attributes */ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ generic_modbus.c:572:7: note: used in buffer access here if (sigar[FSD_T].addr != NOTUSED && ^~~~~ generic_modbus.c:573:8: note: used in buffer access here (sigar[FSD_T].type == COIL || sigar[FSD_T].type == HOLDING) ^~~~~ generic_modbus.c:573:37: note: used in buffer access here (sigar[FSD_T].type == COIL || sigar[FSD_T].type == HOLDING) ^~~~~ generic_modbus.c:576:52: note: used in buffer access here rval = register_write(mbctx, sigar[FSD_T].addr, sigar[FSD_T].type, &data); ^~~~~ generic_modbus.c:575:15: note: used in buffer access here data = 1 ^ sigar[FSD_T].noro; ^~~~~ generic_modbus.c:576:33: note: used in buffer access here rval = register_write(mbctx, sigar[FSD_T].addr, sigar[FSD_T].type, &data); ^~~~~ generic_modbus.c:580:6: note: used in buffer access here sigar[FSD_T].addr, ^~~~~ generic_modbus.c:581:6: note: used in buffer access here sigar[FSD_T].type, ^~~~~ generic_modbus.c:587:52: note: used in buffer access here upsdebugx(2, "load.off: addr: 0x%x, data: %d", sigar[FSD_T].addr, data); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ generic_modbus.c:601:16: note: used in buffer access here data = 0 ^ sigar[FSD_T].noro; ^~~~~ generic_modbus.c:602:34: note: used in buffer access here rval = register_write(mbctx, sigar[FSD_T].addr, sigar[FSD_T].type, &data); ^~~~~ generic_modbus.c:602:53: note: used in buffer access here rval = register_write(mbctx, sigar[FSD_T].addr, sigar[FSD_T].type, &data); ^~~~~ generic_modbus.c:606:7: note: used in buffer access here sigar[FSD_T].addr, ^~~~~ generic_modbus.c:607:7: note: used in buffer access here sigar[FSD_T].type, ^~~~~ generic_modbus.c:614:7: note: used in buffer access here sigar[FSD_T].addr, ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ generic_modbus.c:33:18: warning: 'sigar' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static sigattr_t sigar[NUMOF_SIG_STATES]; /* array of ups signal attributes */ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ generic_modbus.c:658:11: note: used in buffer access here addr = sigar[HB_T].addr; ^~~~~ generic_modbus.c:659:12: note: used in buffer access here rtype = sigar[HB_T].type; ^~~~~ generic_modbus.c:654:11: note: used in buffer access here addr = sigar[LB_T].addr; ^~~~~ generic_modbus.c:650:11: note: used in buffer access here addr = sigar[OB_T].addr; ^~~~~ generic_modbus.c:655:12: note: used in buffer access here rtype = sigar[LB_T].type; ^~~~~ generic_modbus.c:651:12: note: used in buffer access here rtype = sigar[OB_T].type; ^~~~~ generic_modbus.c:647:12: note: used in buffer access here rtype = sigar[OL_T].type; ^~~~~ generic_modbus.c:646:11: note: used in buffer access here addr = sigar[OL_T].addr; ^~~~~ generic_modbus.c:662:11: note: used in buffer access here addr = sigar[RB_T].addr; ^~~~~ generic_modbus.c:663:12: note: used in buffer access here rtype = sigar[RB_T].type; ^~~~~ generic_modbus.c:666:11: note: used in buffer access here addr = sigar[CHRG_T].addr; ^~~~~ generic_modbus.c:667:12: note: used in buffer access here rtype = sigar[CHRG_T].type; ^~~~~ generic_modbus.c:670:11: note: used in buffer access here addr = sigar[DISCHRG_T].addr; ^~~~~ generic_modbus.c:671:12: note: used in buffer access here rtype = sigar[DISCHRG_T].type; ^~~~~ generic_modbus.c:705:21: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] void get_config_vars() ^ void generic_modbus.c:33:18: warning: 'sigar' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static sigattr_t sigar[NUMOF_SIG_STATES]; /* array of ups signal attributes */ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ generic_modbus.c:812:3: note: used in buffer access here sigar[OL_T].type = INPUT_B; ^~~~~ generic_modbus.c:808:34: note: used in buffer access here if (sigar[OL_T].type < COIL || sigar[OL_T].type > HOLDING) { ^~~~~ generic_modbus.c:809:4: note: used in buffer access here sigar[OL_T].type = INPUT_B; ^~~~~ generic_modbus.c:799:8: note: used in buffer access here if (sigar[OL_T].noro != 1) { ^~~~~ generic_modbus.c:808:7: note: used in buffer access here if (sigar[OL_T].type < COIL || sigar[OL_T].type > HOLDING) { ^~~~~ generic_modbus.c:807:3: note: used in buffer access here sigar[OL_T].type = (unsigned int)strtol(getval("OL_regtype"), NULL, 10); ^~~~~ generic_modbus.c:820:3: note: used in buffer access here sigar[OB_T].noro = (int)strtol(getval("OB_noro"), NULL, 10); ^~~~~ generic_modbus.c:798:4: note: used in buffer access here sigar[OL_T].noro = (int)strtol(getval("OL_noro"), NULL, 10); ^~~~~ generic_modbus.c:817:3: note: used in buffer access here sigar[OB_T].addr = (int)strtol(getval("OB_addr"), NULL, 0); ^~~~~ generic_modbus.c:800:5: note: used in buffer access here sigar[OL_T].noro = 0; ^~~~~ generic_modbus.c:796:3: note: used in buffer access here sigar[OL_T].addr = (int)strtol(getval("OL_addr"), NULL, 0); ^~~~~ generic_modbus.c:711:3: note: used in buffer access here sigar[i].addr = NOTUSED; ^~~~~ generic_modbus.c:712:3: note: used in buffer access here sigar[i].noro = 0; /* ON corresponds to 1 (closed contact) */ ^~~~~ generic_modbus.c:821:7: note: used in buffer access here if (sigar[OB_T].noro != 1) { ^~~~~ generic_modbus.c:822:4: note: used in buffer access here sigar[OB_T].noro = 0; ^~~~~ generic_modbus.c:828:3: note: used in buffer access here sigar[OB_T].type = (unsigned int)strtol(getval("OB_regtype"), NULL, 10); ^~~~~ generic_modbus.c:829:7: note: used in buffer access here if (sigar[OB_T].type < COIL || sigar[OB_T].type > HOLDING) { ^~~~~ generic_modbus.c:829:34: note: used in buffer access here if (sigar[OB_T].type < COIL || sigar[OB_T].type > HOLDING) { ^~~~~ generic_modbus.c:830:4: note: used in buffer access here sigar[OB_T].type = INPUT_B; ^~~~~ generic_modbus.c:833:3: note: used in buffer access here sigar[OB_T].type = INPUT_B; ^~~~~ generic_modbus.c:838:3: note: used in buffer access here sigar[LB_T].addr = (int)strtol(getval("LB_addr"), NULL, 0); ^~~~~ generic_modbus.c:840:4: note: used in buffer access here sigar[LB_T].noro = (int)strtol(getval("LB_noro"), NULL, 10); ^~~~~ generic_modbus.c:841:8: note: used in buffer access here if (sigar[LB_T].noro != 1) { ^~~~~ generic_modbus.c:842:5: note: used in buffer access here sigar[LB_T].noro = 0; ^~~~~ generic_modbus.c:849:3: note: used in buffer access here sigar[LB_T].type = (unsigned int)strtol(getval("OB_regtype"), NULL, 10); ^~~~~ generic_modbus.c:850:7: note: used in buffer access here if (sigar[LB_T].type < COIL || sigar[LB_T].type > HOLDING) { ^~~~~ generic_modbus.c:850:34: note: used in buffer access here if (sigar[LB_T].type < COIL || sigar[LB_T].type > HOLDING) { ^~~~~ generic_modbus.c:851:4: note: used in buffer access here sigar[LB_T].type = INPUT_B; ^~~~~ generic_modbus.c:854:3: note: used in buffer access here sigar[LB_T].type = INPUT_B; ^~~~~ generic_modbus.c:859:3: note: used in buffer access here sigar[HB_T].addr = (int)strtol(getval("HB_addr"), NULL, 0); ^~~~~ generic_modbus.c:861:4: note: used in buffer access here sigar[HB_T].noro = (int)strtol(getval("HB_noro"), NULL, 10); ^~~~~ generic_modbus.c:862:8: note: used in buffer access here if (sigar[HB_T].noro != 1) { ^~~~~ generic_modbus.c:863:5: note: used in buffer access here sigar[HB_T].noro = 0; ^~~~~ generic_modbus.c:870:3: note: used in buffer access here sigar[HB_T].type = (unsigned int)strtol(getval("HB_regtype"), NULL, 10); ^~~~~ generic_modbus.c:871:7: note: used in buffer access here if (sigar[HB_T].type < COIL || sigar[HB_T].type > HOLDING) { ^~~~~ generic_modbus.c:871:34: note: used in buffer access here if (sigar[HB_T].type < COIL || sigar[HB_T].type > HOLDING) { ^~~~~ generic_modbus.c:872:4: note: used in buffer access here sigar[HB_T].type = INPUT_B; ^~~~~ generic_modbus.c:875:3: note: used in buffer access here sigar[HB_T].type = INPUT_B; ^~~~~ generic_modbus.c:880:3: note: used in buffer access here sigar[RB_T].addr = (int)strtol(getval("RB_addr"), NULL, 0); ^~~~~ generic_modbus.c:882:4: note: used in buffer access here sigar[RB_T].noro = (int)strtol(getval("RB_noro"), NULL, 10); ^~~~~ generic_modbus.c:883:8: note: used in buffer access here if (sigar[RB_T].noro != 1) { ^~~~~ generic_modbus.c:884:5: note: used in buffer access here sigar[RB_T].noro = 0; ^~~~~ generic_modbus.c:891:3: note: used in buffer access here sigar[RB_T].type = (unsigned int)strtol(getval("RB_regtype"), NULL, 10); ^~~~~ generic_modbus.c:892:7: note: used in buffer access here if (sigar[RB_T].type < COIL || sigar[RB_T].type > HOLDING) { ^~~~~ generic_modbus.c:892:34: note: used in buffer access here if (sigar[RB_T].type < COIL || sigar[RB_T].type > HOLDING) { ^~~~~ generic_modbus.c:893:4: note: used in buffer access here sigar[RB_T].type = INPUT_B; ^~~~~ generic_modbus.c:896:3: note: used in buffer access here sigar[RB_T].type = INPUT_B; ^~~~~ generic_modbus.c:901:3: note: used in buffer access here sigar[CHRG_T].addr = (int)strtol(getval("CHRG_addr"), NULL, 0); ^~~~~ generic_modbus.c:903:4: note: used in buffer access here sigar[CHRG_T].noro = (int)strtol(getval("CHRG_noro"), NULL, 10); ^~~~~ generic_modbus.c:904:8: note: used in buffer access here if (sigar[CHRG_T].noro != 1) { ^~~~~ generic_modbus.c:905:5: note: used in buffer access here sigar[CHRG_T].noro = 0; ^~~~~ generic_modbus.c:912:3: note: used in buffer access here sigar[CHRG_T].type = (unsigned int)strtol(getval("CHRG_regtype"), NULL, 10); ^~~~~ generic_modbus.c:913:7: note: used in buffer access here if (sigar[CHRG_T].type < COIL || sigar[CHRG_T].type > HOLDING) { ^~~~~ generic_modbus.c:913:36: note: used in buffer access here if (sigar[CHRG_T].type < COIL || sigar[CHRG_T].type > HOLDING) { ^~~~~ generic_modbus.c:914:4: note: used in buffer access here sigar[CHRG_T].type = INPUT_B; ^~~~~ generic_modbus.c:917:3: note: used in buffer access here sigar[CHRG_T].type = INPUT_B; ^~~~~ generic_modbus.c:922:3: note: used in buffer access here sigar[DISCHRG_T].addr = (int)strtol(getval("DISCHRG_addr"), NULL, 0); ^~~~~ generic_modbus.c:924:4: note: used in buffer access here sigar[DISCHRG_T].noro = (int)strtol(getval("DISCHRG_noro"), NULL, 10); ^~~~~ generic_modbus.c:925:8: note: used in buffer access here if (sigar[DISCHRG_T].noro != 1) { ^~~~~ generic_modbus.c:926:5: note: used in buffer access here sigar[DISCHRG_T].noro = 0; ^~~~~ generic_modbus.c:933:3: note: used in buffer access here sigar[DISCHRG_T].type = (unsigned int)strtol(getval("DISCHRG_regtype"), NULL, 10); ^~~~~ generic_modbus.c:934:7: note: used in buffer access here if (sigar[DISCHRG_T].type < COIL || sigar[DISCHRG_T].type > HOLDING) { ^~~~~ generic_modbus.c:934:39: note: used in buffer access here if (sigar[DISCHRG_T].type < COIL || sigar[DISCHRG_T].type > HOLDING) { ^~~~~ generic_modbus.c:935:4: note: used in buffer access here sigar[DISCHRG_T].type = INPUT_B; ^~~~~ generic_modbus.c:938:3: note: used in buffer access here sigar[DISCHRG_T].type = INPUT_B; ^~~~~ generic_modbus.c:943:3: note: used in buffer access here sigar[FSD_T].addr = (int)strtol(getval("FSD_addr"), NULL, 0); ^~~~~ generic_modbus.c:945:4: note: used in buffer access here sigar[FSD_T].noro = (int)strtol(getval("FSD_noro"), NULL, 10); ^~~~~ generic_modbus.c:946:8: note: used in buffer access here if (sigar[FSD_T].noro != 1) { ^~~~~ generic_modbus.c:947:5: note: used in buffer access here sigar[FSD_T].noro = 0; ^~~~~ generic_modbus.c:954:3: note: used in buffer access here sigar[FSD_T].type = (unsigned int)strtol(getval("FSD_regtype"), NULL, 10); ^~~~~ generic_modbus.c:955:7: note: used in buffer access here if (sigar[FSD_T].type < COIL || sigar[FSD_T].type > HOLDING) { ^~~~~ generic_modbus.c:955:35: note: used in buffer access here if (sigar[FSD_T].type < COIL || sigar[FSD_T].type > HOLDING) { ^~~~~ generic_modbus.c:956:4: note: used in buffer access here sigar[FSD_T].type = COIL; ^~~~~ generic_modbus.c:959:3: note: used in buffer access here sigar[FSD_T].type = COIL; ^~~~~ generic_modbus.c:970:7: note: used in buffer access here if (sigar[i].addr != NOTUSED) { ^~~~~ generic_modbus.c:1001:52: note: used in buffer access here upsdebugx(2, "%s, addr:0x%x, type:%d", signame, sigar[i].addr, sigar[i].type); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ generic_modbus.c:1001:67: note: used in buffer access here upsdebugx(2, "%s, addr:0x%x, type:%d", signame, sigar[i].addr, sigar[i].type); ^~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ generic_modbus.c:1010:8: warning: 'sp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *sp; ~~~~~~^~ generic_modbus.c:1018:20: note: used in pointer arithmetic here strcpy(tcp_port, sp + 1); ^~ 7 warnings generated. /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -no-undefined -static -fstack-protector-strong -o libdummy_serial.la serial.lo -lpthread mge-xml.c:1139:111: warning: 'atts' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int mge_xml_startelm_cb(void *userdata, int parent, const char *nspace, const char *name, const char **atts) ~~~~~~~~~~~~~^~~~ mge-xml.c:1154:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1154:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1155:21: note: used in buffer access here if (!strcasecmp(atts[i], "name")) { ^~~~ mge-xml.c:1159:43: note: used in buffer access here snprintfcat(val, sizeof(val), "/%s", atts[i+1]); ^~~~ mge-xml.c:1156:39: note: used in buffer access here snprintf(val, sizeof(val), "%s", atts[i+1]); ^~~~ mge-xml.c:1158:21: note: used in buffer access here if (!strcasecmp(atts[i], "type")) { ^~~~ mge-xml.c:1160:22: note: used in buffer access here if (!strcasecmp(atts[i+1], "Transverse")) { ^~~~ mge-xml.c:1162:24: note: used in buffer access here } else if (strstr(atts[i+1], "ePDU")) { ^~~~ mge-xml.c:1166:21: note: used in buffer access here if (!strcasecmp(atts[i], "version")) { ^~~~ mge-xml.c:1168:43: note: used in buffer access here snprintfcat(val, sizeof(val), "/%s", atts[i+1]); ^~~~ mge-xml.c:1178:21: note: used in buffer access here if (!strcasecmp(atts[i], "protocol")) { ^~~~ mge-xml.c:1179:22: note: used in buffer access here if (!strcasecmp(atts[i+1], "XML.V4")) { ^~~~ mge-xml.c:1202:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1202:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1203:21: note: used in buffer access here if (!strcasecmp(atts[i], "object")) { ^~~~ mge-xml.c:1204:39: note: used in buffer access here snprintf(var, sizeof(var), "%s", atts[i+1]); ^~~~ mge-xml.c:1206:21: note: used in buffer access here if (!strcasecmp(atts[i], "value")) { ^~~~ mge-xml.c:1207:39: note: used in buffer access here snprintf(val, sizeof(var), "%s", atts[i+1]); ^~~~ mge-xml.c:1209:21: note: used in buffer access here if (!strcasecmp(atts[i], "date")) { ^~~~ mge-xml.c:1210:55: note: used in buffer access here dstate_setinfo("ups.time", "%s", split_date_time(atts[i+1])); ^~~~ mge-xml.c:1254:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1254:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1255:21: note: used in buffer access here if (!strcasecmp(atts[i], "url")) { ^~~~ mge-xml.c:1257:53: note: used in buffer access here mge_xml_subdriver.summary = strdup(url_convert(atts[i+1])); ^~~~ mge-xml.c:1266:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1266:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1267:21: note: used in buffer access here if (!strcasecmp(atts[i], "url")) { ^~~~ mge-xml.c:1269:55: note: used in buffer access here mge_xml_subdriver.configure = strdup(url_convert(atts[i+1])); ^~~~ mge-xml.c:1286:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1286:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1287:21: note: used in buffer access here if (!strcasecmp(atts[i], "url")) { ^~~~ mge-xml.c:1289:55: note: used in buffer access here mge_xml_subdriver.subscribe = strdup(url_convert(atts[i+1])); ^~~~ mge-xml.c:1324:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1324:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1325:21: note: used in buffer access here if (!strcasecmp(atts[i], "url")) { ^~~~ mge-xml.c:1327:55: note: used in buffer access here mge_xml_subdriver.getobject = strdup(url_convert(atts[i+1])); ^~~~ mge-xml.c:1336:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1336:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1337:21: note: used in buffer access here if (!strcasecmp(atts[i], "url")) { ^~~~ mge-xml.c:1339:55: note: used in buffer access here mge_xml_subdriver.setobject = strdup(url_convert(atts[i+1])); ^~~~ mge-xml.c:1351:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1351:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1352:21: note: used in buffer access here if (!strcasecmp(atts[i], "name")) { ^~~~ mge-xml.c:1353:39: note: used in buffer access here snprintf(var, sizeof(var), "%s", atts[i+1]); ^~~~ mge-xml.c:1366:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1366:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1367:21: note: used in buffer access here if (!strcasecmp(atts[i], "name")) { ^~~~ mge-xml.c:1368:39: note: used in buffer access here snprintf(var, sizeof(var), "%s", atts[i+1]); ^~~~ mge-xml.c:1371:21: note: used in buffer access here if (!strcasecmp(atts[i], "access")) { ^~~~ mge-xml.c:1399:16: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1399:27: note: used in buffer access here for (i = 0; atts[i] && atts[i+1]; i += 2) { ^~~~ mge-xml.c:1400:21: note: used in buffer access here if (!strcasecmp(atts[i], "shutdownTimer")) { ^~~~ mge-xml.c:1401:52: note: used in buffer access here dstate_setinfo("driver.timer.shutdown", "%s", atts[i+1]); ^~~~ mge-xml.c:1403:21: note: used in buffer access here if (!strcasecmp(atts[i], "shutdownDuration")) { ^~~~ mge-xml.c:1404:52: note: used in buffer access here dstate_setinfo("driver.delay.shutdown", "%s", atts[i+1]); ^~~~ mge-xml.c:1167:12: warning: 's' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *s; ~~~~~~~~~^ mge-xml.c:1171:52: note: used in pointer arithmetic here dstate_setinfo("ups.serial", "%s", str_rtrim(s + 5, ')')); ^ mge-xml.c:1452:14: warning: 'info' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] xml_info_t *info; ~~~~~~~~~~~~~~~~~^~~~ mge-xml.c:1470:51: note: used in pointer arithmetic here for (info = mge_xml2nut; info->xmlname != NULL; info++) { ^~~~ mge-xml.c:1538:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t i = 0; ^ mge-xml.c:637:19: warning: 'mge_xml2nut' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static xml_info_t mge_xml2nut[] = { ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ mge-xml.c:1541:22: note: used in pointer arithmetic here xml_info_t *info = mge_xml2nut + i; ^~~~~~~~~~~ mge-xml.c:1554:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t i = 0; ^ mge-xml.c:637:19: warning: 'mge_xml2nut' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static xml_info_t mge_xml2nut[] = { ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ mge-xml.c:1557:22: note: used in pointer arithmetic here xml_info_t *info = mge_xml2nut + i; ^~~~~~~~~~~ mge-xml.c:1570:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t i = 0; ^ mge-xml.c:637:19: warning: 'mge_xml2nut' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static xml_info_t mge_xml2nut[] = { ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ mge-xml.c:1573:22: note: used in pointer arithmetic here xml_info_t *info = mge_xml2nut + i; ^~~~~~~~~~~ mge-xml.c:1578:11: warning: 'vcpy' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *vcpy = (char *)malloc((len + 1) * sizeof(char)); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mge-xml.c:1584:5: note: used in buffer access here vcpy[len] = '\0'; ^~~~ mge-xml.c:637:19: warning: 'mge_xml2nut' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static xml_info_t mge_xml2nut[] = { ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ mge-xml.c:1606:22: note: used in pointer arithmetic here xml_info_t *info = mge_xml2nut + i; ^~~~~~~~~~~ 11 warnings generated. /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -no-undefined -static -fstack-protector-strong -o libdummy.la main.lo dstate.lo -lpthread upsdrvctl.c:194:66: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void debugcmdline(int level, const char *msg, char *const argv[]) ~~~~~~~~~~~~^~~~~~ upsdrvctl.c:201:49: note: used in pointer arithmetic here snprintfcat(cmdline, sizeof(cmdline), " %s", *argv++); ^~~~ upsdrvctl.c:285:8: warning: 'argv' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *argv[9]; ~~~~~~~~~^~~~~~~ upsdrvctl.c:299:2: note: used in buffer access here argv[arg++] = dfn; ^~~~ upsdrvctl.c:358:2: note: used in buffer access here argv[arg++] = ups->upsname; ^~~~ upsdrvctl.c:354:3: note: used in buffer access here argv[arg++] = dbg; ^~~~ upsdrvctl.c:357:2: note: used in buffer access here argv[arg++] = (char *)"-a"; /* FIXME: cast away const */ ^~~~ upsdrvctl.c:362:3: note: used in buffer access here argv[arg++] = (char *)"-r"; /* FIXME: cast away const */ ^~~~ upsdrvctl.c:363:3: note: used in buffer access here argv[arg++] = pt_root; ^~~~ upsdrvctl.c:367:3: note: used in buffer access here argv[arg++] = (char *)"-u"; /* FIXME: cast away const */ ^~~~ upsdrvctl.c:368:3: note: used in buffer access here argv[arg++] = pt_user; ^~~~ upsdrvctl.c:372:2: note: used in buffer access here argv[arg++] = NULL; ^~~~ upsdrvctl.c:286:22: warning: 'dbg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char dfn[SMALLBUF], dbg[SMALLBUF]; ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ upsdrvctl.c:351:4: note: used in buffer access here dbg[d] = 'D'; ^~~ upsdrvctl.c:353:3: note: used in buffer access here dbg[d] = '\0'; ^~~ upsdrvctl.c:426:8: warning: 'argv' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char *argv[9]; ~~~~~~~~~^~~~~~~ upsdrvctl.c:434:2: note: used in buffer access here argv[arg++] = dfn; ^~~~ upsdrvctl.c:441:3: note: used in buffer access here argv[arg++] = (char *)"-r"; /* FIXME: cast away const */ ^~~~ upsdrvctl.c:447:3: note: used in buffer access here argv[arg++] = pt_user; ^~~~ upsdrvctl.c:450:2: note: used in buffer access here argv[arg++] = NULL; ^~~~ upsdrvctl.c:446:3: note: used in buffer access here argv[arg++] = (char *)"-u"; /* FIXME: cast away const */ ^~~~ upsdrvctl.c:442:3: note: used in buffer access here argv[arg++] = pt_root; ^~~~ upsdrvctl.c:437:2: note: used in buffer access here argv[arg++] = (char *)"-k"; /* FIXME: cast away const */ ^~~~ upsdrvctl.c:436:2: note: used in buffer access here argv[arg++] = ups->upsname; ^~~~ upsdrvctl.c:435:2: note: used in buffer access here argv[arg++] = (char *)"-a"; /* FIXME: cast away const */ ^~~~ upsdrvctl.c:531:27: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int main(int argc, char **argv) ~~~~~~~^~~~ upsdrvctl.c:619:28: note: used in buffer access here send_one_driver(command, argv[1]); ^~~~ upsdrvctl.c:573:2: note: used in pointer arithmetic here argv += optind; ^~~~ 5 warnings generated. socomec_jbus.c:58:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] uint16_t tab_reg[12]; ^ socomec_jbus.c:58:11: warning: 'tab_reg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint16_t tab_reg[12]; ~~~~~~~~~^~~~~~~~~~~ socomec_jbus.c:81:6: note: used in buffer access here if (tab_reg[1]) { ^~~~~~~ socomec_jbus.c:82:48: note: used in buffer access here upsdebugx(2, "read UPS Power %d (kVA * 10)", tab_reg[1]); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ socomec_jbus.c:83:37: note: used in buffer access here dstate_setinfo("ups.power", "%u", tab_reg[1]*100 ); ^~~~~~~ socomec_jbus.c:104:34: note: used in buffer access here if (tab_reg[3] && tab_reg[4] && tab_reg[5] && tab_reg[6] && tab_reg[7]) { ^~~~~~~ socomec_jbus.c:104:6: note: used in buffer access here if (tab_reg[3] && tab_reg[4] && tab_reg[5] && tab_reg[6] && tab_reg[7]) { ^~~~~~~ socomec_jbus.c:104:20: note: used in buffer access here if (tab_reg[3] && tab_reg[4] && tab_reg[5] && tab_reg[6] && tab_reg[7]) { ^~~~~~~ socomec_jbus.c:104:48: note: used in buffer access here if (tab_reg[3] && tab_reg[4] && tab_reg[5] && tab_reg[6] && tab_reg[7]) { ^~~~~~~ socomec_jbus.c:104:62: note: used in buffer access here if (tab_reg[3] && tab_reg[4] && tab_reg[5] && tab_reg[6] && tab_reg[7]) { ^~~~~~~ socomec_jbus.c:106:17: note: used in buffer access here (tab_reg[3]&0xFF), (tab_reg[3]>>8), ^~~~~~~ socomec_jbus.c:106:36: note: used in buffer access here (tab_reg[3]&0xFF), (tab_reg[3]>>8), ^~~~~~~ socomec_jbus.c:107:17: note: used in buffer access here (tab_reg[4]&0xFF), (tab_reg[4]>>8), ^~~~~~~ socomec_jbus.c:107:36: note: used in buffer access here (tab_reg[4]&0xFF), (tab_reg[4]>>8), ^~~~~~~ socomec_jbus.c:108:17: note: used in buffer access here (tab_reg[5]&0xFF), (tab_reg[5]>>8), ^~~~~~~ socomec_jbus.c:108:36: note: used in buffer access here (tab_reg[5]&0xFF), (tab_reg[5]>>8), ^~~~~~~ socomec_jbus.c:109:17: note: used in buffer access here (tab_reg[6]&0xFF), (tab_reg[6]>>8), ^~~~~~~ socomec_jbus.c:109:36: note: used in buffer access here (tab_reg[6]&0xFF), (tab_reg[6]>>8), ^~~~~~~ socomec_jbus.c:110:17: note: used in buffer access here (tab_reg[7]&0xFF), (tab_reg[7]>>8) ^~~~~~~ socomec_jbus.c:110:36: note: used in buffer access here (tab_reg[7]&0xFF), (tab_reg[7]>>8) ^~~~~~~ socomec_jbus.c:122:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] uint16_t tab_reg[64]; ^ socomec_jbus.c:122:11: warning: 'tab_reg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint16_t tab_reg[64]; ~~~~~~~~~^~~~~~~~~~~ socomec_jbus.c:137:41: note: used in buffer access here dstate_setinfo("output.voltage", "%u", tab_reg[1]); ^~~~~~~ socomec_jbus.c:138:42: note: used in buffer access here dstate_setinfo("input.frequency", "%u", tab_reg[2]); ^~~~~~~ socomec_jbus.c:139:43: note: used in buffer access here dstate_setinfo("output.frequency", "%u", tab_reg[3]); ^~~~~~~ socomec_jbus.c:150:48: note: used in buffer access here dstate_setinfo("ups.time", "%02d:%02d:%02d", (tab_reg[1]&0xFF), (tab_reg[0]>>8), (tab_reg[0]&0xFF) ); ^~~~~~~ socomec_jbus.c:141:48: note: used in buffer access here upsdebugx(2, "battery capacity (Ah * 10) %u", tab_reg[8]); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ socomec_jbus.c:142:38: note: used in buffer access here upsdebugx(2, "battery elements %u", tab_reg[9]); ^~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ socomec_jbus.c:151:48: note: used in buffer access here dstate_setinfo("ups.date", "%04d/%02d/%02d", (tab_reg[3]+2000), (tab_reg[2]>>8), (tab_reg[1]>>8) ); ^~~~~~~ socomec_jbus.c:151:67: note: used in buffer access here dstate_setinfo("ups.date", "%04d/%02d/%02d", (tab_reg[3]+2000), (tab_reg[2]>>8), (tab_reg[1]>>8) ); ^~~~~~~ socomec_jbus.c:151:84: note: used in buffer access here dstate_setinfo("ups.date", "%04d/%02d/%02d", (tab_reg[3]+2000), (tab_reg[2]>>8), (tab_reg[1]>>8) ); ^~~~~~~ socomec_jbus.c:188:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 0)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:190:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 10)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:192:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 11)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:194:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 12)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:197:16: note: used in buffer access here if (CHECK_BIT(tab_reg[2], 0)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:200:16: note: used in buffer access here if (CHECK_BIT(tab_reg[3], 0)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:203:16: note: used in buffer access here if (CHECK_BIT(tab_reg[4], 0)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:205:16: note: used in buffer access here if (CHECK_BIT(tab_reg[4], 2)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:207:16: note: used in buffer access here if (CHECK_BIT(tab_reg[4], 3)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:209:16: note: used in buffer access here if (CHECK_BIT(tab_reg[4], 4)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:211:16: note: used in buffer access here if (CHECK_BIT(tab_reg[4], 5)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:213:16: note: used in buffer access here if (CHECK_BIT(tab_reg[4], 6)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:215:16: note: used in buffer access here if (CHECK_BIT(tab_reg[4], 9)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:217:16: note: used in buffer access here if (CHECK_BIT(tab_reg[4], 12)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:270:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 1)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:272:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 2)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:274:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 3)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:276:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 5)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:278:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 6)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:280:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 7)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:282:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 9)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:284:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 10)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:286:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 13)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:288:16: note: used in buffer access here if (CHECK_BIT(tab_reg[1], 15)) { ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:293:16: note: used in buffer access here if (CHECK_BIT(tab_reg[2], 12)) { ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:297:16: note: used in buffer access here if (CHECK_BIT(tab_reg[2], 15)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:300:16: note: used in buffer access here if (CHECK_BIT(tab_reg[3], 0)) { ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:304:16: note: used in buffer access here if (CHECK_BIT(tab_reg[3], 1)) { ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:308:16: note: used in buffer access here if (CHECK_BIT(tab_reg[3], 3)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:310:16: note: used in buffer access here if (CHECK_BIT(tab_reg[3], 4)) { ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:314:16: note: used in buffer access here if (CHECK_BIT(tab_reg[3], 6)) { ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:318:16: note: used in buffer access here if (CHECK_BIT(tab_reg[3], 10)) ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:320:16: note: used in buffer access here if (CHECK_BIT(tab_reg[3], 11)) { ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:324:16: note: used in buffer access here if (CHECK_BIT(tab_reg[3], 14)) { ^~~~~~~ socomec_jbus.c:36:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ socomec_jbus.c:340:6: note: used in buffer access here if (tab_reg[1] == 0xFFFF && tab_reg[2] == 0xFFFF) { ^~~~~~~ socomec_jbus.c:340:30: note: used in buffer access here if (tab_reg[1] == 0xFFFF && tab_reg[2] == 0xFFFF) { ^~~~~~~ socomec_jbus.c:345:48: note: used in buffer access here dstate_setinfo("input.bypass.voltage", "%u", tab_reg[6] ); ^~~~~~~ socomec_jbus.c:347:42: note: used in buffer access here dstate_setinfo("output.voltage", "%u", tab_reg[9] ); ^~~~~~~ socomec_jbus.c:349:7: note: used in buffer access here if (tab_reg[15] != 0xFFFF) ^~~~~~~ socomec_jbus.c:350:43: note: used in buffer access here dstate_setinfo("output.current", "%u", tab_reg[15] ); ^~~~~~~ socomec_jbus.c:356:36: note: used in buffer access here dstate_setinfo("ups.load", "%u", tab_reg[3] ); ^~~~~~~ socomec_jbus.c:359:39: note: used in buffer access here dstate_setinfo("ups.L2.load", "%u", tab_reg[1] ); ^~~~~~~ socomec_jbus.c:360:39: note: used in buffer access here dstate_setinfo("ups.L3.load", "%u", tab_reg[2] ); ^~~~~~~ socomec_jbus.c:362:53: note: used in buffer access here dstate_setinfo("input.bypass.L1-N.voltage", "%u", tab_reg[6] ); ^~~~~~~ socomec_jbus.c:363:53: note: used in buffer access here dstate_setinfo("input.bypass.L2-N.voltage", "%u", tab_reg[7] ); ^~~~~~~ socomec_jbus.c:364:53: note: used in buffer access here dstate_setinfo("input.bypass.L3-N.voltage", "%u", tab_reg[8] ); ^~~~~~~ socomec_jbus.c:366:47: note: used in buffer access here dstate_setinfo("output.L1-N.voltage", "%u", tab_reg[9] ); ^~~~~~~ socomec_jbus.c:367:47: note: used in buffer access here dstate_setinfo("output.L2-N.voltage", "%u", tab_reg[10] ); ^~~~~~~ socomec_jbus.c:368:47: note: used in buffer access here dstate_setinfo("output.L3-N.voltage", "%u", tab_reg[11] ); ^~~~~~~ socomec_jbus.c:370:7: note: used in buffer access here if (tab_reg[15] != 0xFFFF) ^~~~~~~ socomec_jbus.c:371:46: note: used in buffer access here dstate_setinfo("output.L1.current", "%u", tab_reg[15] ); ^~~~~~~ socomec_jbus.c:373:7: note: used in buffer access here if (tab_reg[16] != 0xFFFF) ^~~~~~~ socomec_jbus.c:374:45: note: used in buffer access here dstate_setinfo("output.L2.current", "%u", tab_reg[16] ); ^~~~~~~ socomec_jbus.c:376:7: note: used in buffer access here if (tab_reg[17] != 0xFFFF) ^~~~~~~ socomec_jbus.c:377:46: note: used in buffer access here dstate_setinfo("output.L3.current", "%u", tab_reg[17] ); ^~~~~~~ socomec_jbus.c:380:41: note: used in buffer access here dstate_setinfo("battery.charge", "%u", tab_reg[4] ); ^~~~~~~ socomec_jbus.c:381:44: note: used in buffer access here dstate_setinfo("battery.capacity", "%u", (tab_reg[5]/10) ); ^~~~~~~ socomec_jbus.c:382:54: note: used in buffer access here dstate_setinfo("battery.voltage", "%.2f", (double) (tab_reg[20]) / 10); ^~~~~~~ socomec_jbus.c:383:54: note: used in buffer access here dstate_setinfo("battery.current", "%.2f", (double) (tab_reg[24]) / 10 ); ^~~~~~~ socomec_jbus.c:384:42: note: used in buffer access here dstate_setinfo("battery.runtime", "%u", tab_reg[23] ); ^~~~~~~ socomec_jbus.c:386:50: note: used in buffer access here dstate_setinfo("input.bypass.frequency", "%u", (tab_reg[18]/10) ); ^~~~~~~ socomec_jbus.c:387:44: note: used in buffer access here dstate_setinfo("output.frequency", "%u", (tab_reg[19]/10) ); ^~~~~~~ socomec_jbus.c:389:6: note: used in buffer access here if (tab_reg[22] != 0xFFFF) { ^~~~~~~ socomec_jbus.c:391:49: note: used in buffer access here dstate_setinfo("ambient.1.temperature", "%u", tab_reg[22] ); ^~~~~~~ socomec_jbus.c:394:6: note: used in buffer access here if (tab_reg[23] == 0xFFFF) { ^~~~~~~ socomec_jbus.c:398:11: note: used in buffer access here else if (tab_reg[23] > BATTERY_RUNTIME_CRITICAL) { ^~~~~~~ socomec_jbus.c:477:66: warning: 'dest' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int mrir(modbus_t * arg_ctx, int addr, int nb, uint16_t * dest) ~~~~~~~~~~~^~~~ socomec_jbus.c:483:3: note: used in buffer access here dest[i] = 0; ^~~~ 5 warnings generated. /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsdrvctl upsdrvctl.o ../common/libcommon.la ../common/libparseconf.la -lpthread adelsystem_cbi.c:236:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ds->alrm->alrm[SHUTD_REQST_I].actv) { ^~~~~~~~~~~~~~ adelsystem_cbi.c:238:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(mains->alrm[SHUTD_REQST_I].descr); ^~~~~~~~~~~ adelsystem_cbi.c:250:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ds->alrm->alrm[BVAL_LOALRM_I].actv) { ^~~~~~~~~~~~~~ adelsystem_cbi.c:252:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(bval->alrm[BVAL_LOALRM_I].descr); ^~~~~~~~~~ adelsystem_cbi.c:260:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ds->alrm->alrm[BVAL_BSTSFL_I].actv) { ^~~~~~~~~~~~~~ adelsystem_cbi.c:261:14: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(bval->alrm[BVAL_BSTSFL_I].descr); ^~~~~~~~~~ adelsystem_cbi.c:324:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ds->alrm->alrm[i].actv) { ^~~~~~~~~~~~~~ adelsystem_cbi.c:325:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ adelsystem_cbi.c:326:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(3, "%s is active", ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:346:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ds->alrm->alrm[i].actv) { ^~~~~~~~~~~~~~ adelsystem_cbi.c:347:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ adelsystem_cbi.c:348:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(3, "%s is active", ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:367:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ds->alrm->alrm[i].actv) { ^~~~~~~~~~~~~~ adelsystem_cbi.c:368:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ adelsystem_cbi.c:369:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(3, "%s alarm is active", ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:396:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ds->alrm->alrm[i].actv) { ^~~~~~~~~~~~~~ adelsystem_cbi.c:397:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ adelsystem_cbi.c:398:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(3, "%s alarm is active", ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:411:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ds->alrm->alrm[i].actv) { ^~~~~~~~~~~~~~ adelsystem_cbi.c:412:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ adelsystem_cbi.c:413:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(3, "%s alarm is active", ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:426:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ds->alrm->alrm[i].actv) { ^~~~~~~~~~~~~~ adelsystem_cbi.c:427:15: warning: unsafe buffer access [-Wunsafe-buffer-usage] alarm_set(ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ adelsystem_cbi.c:428:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] upsdebugx(3, "%s alarm is active", ds->alrm->alrm[i].descr); ^~~~~~~~~~~~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ In file included from adelsystem_cbi.c:28: ./adelsystem_cbi.h:404:18: warning: 'regs' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static regattr_t regs[] = { ~~~~~~~~~~~~~~~~~^~~~~~~~~~ adelsystem_cbi.c:558:14: note: used in buffer access here int rnum = regs[i].num; ^~~~ adelsystem_cbi.c:559:11: note: used in buffer access here switch (regs[i].type) { ^~~~ adelsystem_cbi.c:561:5: note: used in buffer access here regs[i].saddr = rnum - 1; ^~~~ adelsystem_cbi.c:566:5: note: used in buffer access here regs[i].saddr = rnum - 1; ^~~~ adelsystem_cbi.c:562:5: note: used in buffer access here regs[i].xaddr = 0x0 + regs[i].num - 1; ^~~~ adelsystem_cbi.c:562:27: note: used in buffer access here regs[i].xaddr = 0x0 + regs[i].num - 1; ^~~~ adelsystem_cbi.c:567:5: note: used in buffer access here regs[i].xaddr = 0x10000 + rnum - 1; ^~~~ adelsystem_cbi.c:571:5: note: used in buffer access here regs[i].saddr = rnum - 1; ^~~~ adelsystem_cbi.c:572:5: note: used in buffer access here regs[i].xaddr = 0x30000 + rnum - 1; ^~~~ adelsystem_cbi.c:576:5: note: used in buffer access here regs[i].saddr = rnum - 1; ^~~~ adelsystem_cbi.c:577:5: note: used in buffer access here regs[i].xaddr = 0x40000 + rnum - 1; ^~~~ adelsystem_cbi.c:601:7: note: used in buffer access here regs[i].type, ^~~~ adelsystem_cbi.c:602:7: note: used in buffer access here regs[i].num ^~~~ adelsystem_cbi.c:606:9: note: used in buffer access here regs[i].type, ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:607:9: note: used in buffer access here regs[i].num ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:618:7: note: used in buffer access here regs[i].num, ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:619:7: note: used in buffer access here regs[i].type, ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:620:7: note: used in buffer access here regs[i].saddr, ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:621:7: note: used in buffer access here regs[i].xaddr ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ In file included from adelsystem_cbi.c:28: ./adelsystem_cbi.h:404:18: warning: 'regs' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static regattr_t regs[] = { ~~~~~~~~~~~~~~~~~^~~~~~~~~~ adelsystem_cbi.c:820:32: note: used in buffer access here rval = register_write(mbctx, regs[FSD].xaddr, regs[FSD].type, &data); ^~~~ adelsystem_cbi.c:820:49: note: used in buffer access here rval = register_write(mbctx, regs[FSD].xaddr, regs[FSD].type, &data); ^~~~ adelsystem_cbi.c:825:6: note: used in buffer access here regs[FSD].xaddr, ^~~~ adelsystem_cbi.c:826:6: note: used in buffer access here regs[FSD].type, ^~~~ adelsystem_cbi.c:832:51: note: used in buffer access here upsdebugx(2, "load.off: addr: 0x%x, data: %d", regs[FSD].xaddr, data); ^~~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ adelsystem_cbi.c:904:12: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] double fval = reg_val / 1000.00; /* convert mV to V, mA to A */ ^ adelsystem_cbi.c:929:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] char *reg_val_s = (char *)xmalloc(sizeof(char) * (n + 1)); ^ adelsystem_cbi.c:942:12: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] double fval = (double )reg_val * regs[BSOC].scale; ^ adelsystem_cbi.c:960:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] double fval = reg_val - 273.15; ^ adelsystem_cbi.c:1004:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_NOCNND_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1006:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_NOCNND_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1009:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_CLSHCR_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1011:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_CLSHCR_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1014:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_SULPHD_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1016:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_SULPHD_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1019:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_CHEMNS_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1021:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_CHEMNS_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1024:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_CNNFLT_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1026:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bsta->alrm[BSTA_CNNFLT_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1037:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] shsc->alrm[SHSC_LOCHEF_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1039:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] shsc->alrm[SHSC_LOCHEF_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1042:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] shsc->alrm[SHSC_LOEFCP_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1044:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] shsc->alrm[SHSC_LOEFCP_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1047:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] shsc->alrm[SHSC_LOWSOC_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1049:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] shsc->alrm[SHSC_LOWSOC_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1060:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bval->alrm[BVAL_LOALRM_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1062:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bval->alrm[BVAL_LOALRM_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1065:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bval->alrm[BVAL_BSTSFL_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1067:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] bval->alrm[BVAL_BSTSFL_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1078:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] btsf->alrm[BTSF_NCND_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1080:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] btsf->alrm[BTSF_NCND_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1091:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] devf->alrm[DEVF_INALRM_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1093:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] devf->alrm[DEVF_INALRM_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1096:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] devf->alrm[DEVF_LFNAVL_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1098:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] devf->alrm[DEVF_LFNAVL_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1109:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] vaca->alrm[VACA_LOALRM_I].actv = 1; ^~~~~~~~~~ adelsystem_cbi.c:1111:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] vaca->alrm[VACA_LOALRM_I].actv = 0; ^~~~~~~~~~ adelsystem_cbi.c:1122:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] mains->alrm[SHUTD_REQST_I].actv = 1; ^~~~~~~~~~~ adelsystem_cbi.c:1124:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] mains->alrm[SHUTD_REQST_I].actv = 0; ^~~~~~~~~~~ In file included from adelsystem_cbi.c:28: ./adelsystem_cbi.h:93:19: warning: 'prdnm_i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static prodname_t prdnm_i[] = { ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ adelsystem_cbi.c:989:9: note: used in buffer access here if (prdnm_i[i].val == reg_val) { ^~~~~~~ adelsystem_cbi.c:994:26: note: used in buffer access here state->product.name = prdnm_i[i].name; ^~~~~~~ In file included from adelsystem_cbi.c:28: ./adelsystem_cbi.h:108:14: warning: 'chrgs_i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char *chrgs_i[] = { ~~~~~~~~~~~~~^~~~~~~~~~~~~ adelsystem_cbi.c:886:26: note: used in buffer access here state->charge.info = chrgs_i[CHRG_RECV]; ^~~~~~~ adelsystem_cbi.c:889:26: note: used in buffer access here state->charge.info = chrgs_i[CHRG_BULK]; ^~~~~~~ adelsystem_cbi.c:892:26: note: used in buffer access here state->charge.info = chrgs_i[CHRG_ABSR]; ^~~~~~~ adelsystem_cbi.c:895:26: note: used in buffer access here state->charge.info = chrgs_i[CHRG_FLOAT]; ^~~~~~~ In file included from adelsystem_cbi.c:28: ./adelsystem_cbi.h:122:14: warning: 'pwrmng_i' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char *pwrmng_i[] = { ~~~~~~~~~~~~~^~~~~~~~~~~~~~ adelsystem_cbi.c:977:25: note: used in buffer access here state->power.info = pwrmng_i[PMNG_CHRGN]; ^~~~~~~~ adelsystem_cbi.c:980:25: note: used in buffer access here state->power.info = pwrmng_i[PMNG_BOOST]; ^~~~~~~~ adelsystem_cbi.c:983:25: note: used in buffer access here state->power.info = pwrmng_i[PMNG_NCHRG]; ^~~~~~~~ In file included from adelsystem_cbi.c:28: ./adelsystem_cbi.h:401:17: warning: 'regs_data' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static uint16_t regs_data[MAX_H_REGS]; ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ adelsystem_cbi.c:860:12: note: used in buffer access here reg_val = regs_data[regindx]; ^~~~~~~~~ In file included from adelsystem_cbi.c:28: ./adelsystem_cbi.h:404:18: warning: 'regs' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static regattr_t regs[] = { ~~~~~~~~~~~~~~~~~^~~~~~~~~~ adelsystem_cbi.c:942:38: note: used in buffer access here double fval = (double )reg_val * regs[BSOC].scale; ^~~~ adelsystem_cbi.c:1254:8: warning: 'sp' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *sp; ~~~~~~^~ adelsystem_cbi.c:1262:20: note: used in pointer arithmetic here strcpy(tcp_port, sp + 1); ^~ 66 warnings generated. huawei-ups2000.c:333:28: warning: unsafe pointer arithmetic [-Wunsafe-buffer-usage] ident_response_end = ptr + ident_response_len - IDENT_RESPONSE_CRC_LEN; ~~~~^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:403:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] ups2000_ident[i].val[len] = '\0'; ^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:419:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] (uint32_t)(ups2000_ident[i].val[1]) << 16 | ^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:420:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] (uint32_t)(ups2000_ident[i].val[2]) << 8 | ^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:421:16: warning: unsafe buffer access [-Wunsafe-buffer-usage] (uint32_t)(ups2000_ident[i].val[3]); ^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:105:3: warning: 'ups2000_ident' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_ident[UPS2000_IDENT_MAX_FIELDS]; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:396:3: note: used in buffer access here ups2000_ident[i].type = type; ^~~~~~~~~~~~~ huawei-ups2000.c:397:3: note: used in buffer access here ups2000_ident[i].len = len; ^~~~~~~~~~~~~ huawei-ups2000.c:403:3: note: used in buffer access here ups2000_ident[i].val[len] = '\0'; ^~~~~~~~~~~~~ huawei-ups2000.c:408:10: note: used in buffer access here memcpy(ups2000_ident[i].val, ptr, len); ^~~~~~~~~~~~~ huawei-ups2000.c:415:7: note: used in buffer access here if (ups2000_ident[i].type == 0x87) { ^~~~~~~~~~~~~ huawei-ups2000.c:418:16: note: used in buffer access here (uint32_t)(ups2000_ident[i].val[0]) << 24 | ^~~~~~~~~~~~~ huawei-ups2000.c:419:16: note: used in buffer access here (uint32_t)(ups2000_ident[i].val[1]) << 16 | ^~~~~~~~~~~~~ huawei-ups2000.c:420:16: note: used in buffer access here (uint32_t)(ups2000_ident[i].val[2]) << 8 | ^~~~~~~~~~~~~ huawei-ups2000.c:421:16: note: used in buffer access here (uint32_t)(ups2000_ident[i].val[3]); ^~~~~~~~~~~~~ huawei-ups2000.c:423:7: note: used in buffer access here if (ups2000_ident[i].type == 0x88) { ^~~~~~~~~~~~~ huawei-ups2000.c:428:41: note: used in buffer access here ups2000_ident_desc = strdup((char *) ups2000_ident[i].val); ^~~~~~~~~~~~~ huawei-ups2000.c:130:13: warning: 'ups2000_desc' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char ups2000_desc[UPS2000_DESC_MAX_FIELDS][UPS2000_DESC_MAX_LEN] = { { 0 } }; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:465:10: note: used in buffer access here memcpy(ups2000_desc[idx], val, strlen(val) + 1); ^~~~~~~~~~~~ huawei-ups2000.c:476:14: note: used in buffer access here if (strlen(ups2000_desc[i]) == 0) ^~~~~~~~~~~~ huawei-ups2000.c:312:11: warning: 'ident_response_end' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t *ident_response_end = NULL; /* buf end marker (excluding CRC) */ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:353:80: note: used in buffer access here crc16_recv = (uint16_t)((uint16_t)(ident_response_end[0]) << 8) | (uint16_t)(ident_response_end[1]); ^~~~~~~~~~~~~~~~~~ huawei-ups2000.c:313:11: warning: 'ptr' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] uint8_t *ptr = NULL; /* buf iteratior */ ~~~~~~~~~^~~~~~~~~~ huawei-ups2000.c:333:24: note: used in pointer arithmetic here ident_response_end = ptr + ident_response_len - IDENT_RESPONSE_CRC_LEN; ^~~ huawei-ups2000.c:346:7: note: used in pointer arithmetic here if (ptr + IDENT_RESPONSE_HEADER_LEN > ident_response_end) { ^~~ huawei-ups2000.c:387:7: note: used in pointer arithmetic here if (ptr + 2 > ident_response_end) ^~~ huawei-ups2000.c:380:2: note: used in pointer arithmetic here ptr += IDENT_RESPONSE_HEADER_LEN; ^~~ huawei-ups2000.c:390:11: note: used in pointer arithmetic here type = *ptr++; ^~~ huawei-ups2000.c:391:10: note: used in pointer arithmetic here len = *ptr++; ^~~ huawei-ups2000.c:405:7: note: used in pointer arithmetic here if (ptr + len > ident_response_end) ^~~ huawei-ups2000.c:409:3: note: used in pointer arithmetic here ptr += len; ^~~ huawei-ups2000.c:74:20: warning: 'supported_model' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const char *supported_model[] = { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:492:14: note: used in buffer access here for (i = 0; supported_model[i] != NULL; i++) { ^~~~~~~~~~~~~~~ huawei-ups2000.c:493:15: note: used in buffer access here if (!strcmp(supported_model[i], ^~~~~~~~~~~~~~~ huawei-ups2000.c:130:13: warning: 'ups2000_desc' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char ups2000_desc[UPS2000_DESC_MAX_FIELDS][UPS2000_DESC_MAX_LEN] = { { 0 } }; ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:514:10: note: used in buffer access here ups2000_desc[UPS2000_DESC_FIRMWARE_REV]); ^~~~~~~~~~~~ huawei-ups2000.c:506:10: note: used in buffer access here ups2000_desc[UPS2000_DESC_MODEL]); ^~~~~~~~~~~~ huawei-ups2000.c:512:10: note: used in buffer access here ups2000_desc[UPS2000_DESC_MODEL]); ^~~~~~~~~~~~ huawei-ups2000.c:500:10: note: used in buffer access here ups2000_desc[UPS2000_DESC_MODEL]); ^~~~~~~~~~~~ huawei-ups2000.c:494:8: note: used in buffer access here ups2000_desc[UPS2000_DESC_MODEL])) { ^~~~~~~~~~~~ huawei-ups2000.c:516:10: note: used in buffer access here ups2000_desc[UPS2000_DESC_PROTOCOL_REV]); ^~~~~~~~~~~~ huawei-ups2000.c:508:10: note: used in buffer access here ups2000_desc[UPS2000_DESC_ESN]); ^~~~~~~~~~~~ huawei-ups2000.c:518:10: note: used in buffer access here ups2000_desc[UPS2000_DESC_ESN]); ^~~~~~~~~~~~ huawei-ups2000.c:601:52: warning: unsafe buffer access [-Wunsafe-buffer-usage] r = ups2000_read_registers(modbus_ctx, 19009, 1, ®[2][9]); ^~~~~~ huawei-ups2000.c:620:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] val = reg[page][idx]; ^~~~~~~~~ huawei-ups2000.c:625:10: warning: unsafe buffer access [-Wunsafe-buffer-usage] val = reg[page][idx]; ^~~~~~~~~ huawei-ups2000.c:630:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] val = (uint32_t)(reg[page][idx]) << 16; ^~~~~~~~~ huawei-ups2000.c:631:22: warning: unsafe buffer access [-Wunsafe-buffer-usage] val |= (uint32_t)(reg[page][idx + 1]); ^~~~~~~~~ huawei-ups2000.c:557:3: warning: 'ups2000_var' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_var[] = ~~^~~~~~~~~~~~~~~ huawei-ups2000.c:618:11: note: used in buffer access here switch (ups2000_var[i].datatype) { ^~~~~~~~~~~ huawei-ups2000.c:605:14: note: used in buffer access here for (i = 0; ups2000_var[i].name != NULL; i++) { ^~~~~~~~~~~ huawei-ups2000.c:606:21: note: used in buffer access here uint16_t reg_id = ups2000_var[i].reg; ^~~~~~~~~~~ huawei-ups2000.c:653:18: note: used in buffer access here dstate_setinfo(ups2000_var[i].name, ups2000_var[i].fmt, ^~~~~~~~~~~ huawei-ups2000.c:653:39: note: used in buffer access here dstate_setinfo(ups2000_var[i].name, ups2000_var[i].fmt, ^~~~~~~~~~~ huawei-ups2000.c:654:25: note: used in buffer access here (float) val / ups2000_var[i].scaling); ^~~~~~~~~~~ huawei-ups2000.c:582:11: warning: 'reg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint16_t reg[3][34]; ~~~~~~~~~^~~~~~~~~~ huawei-ups2000.c:597:52: note: used in buffer access here r = ups2000_read_registers(modbus_ctx, 12000, 34, reg[1]); ^~~ huawei-ups2000.c:601:52: note: used in buffer access here r = ups2000_read_registers(modbus_ctx, 19009, 1, ®[2][9]); ^~~ huawei-ups2000.c:620:10: note: used in buffer access here val = reg[page][idx]; ^~~ huawei-ups2000.c:625:10: note: used in buffer access here val = reg[page][idx]; ^~~ huawei-ups2000.c:630:22: note: used in buffer access here val = (uint32_t)(reg[page][idx]) << 16; ^~~ huawei-ups2000.c:631:22: note: used in buffer access here val |= (uint32_t)(reg[page][idx + 1]); ^~~ huawei-ups2000.c:696:3: warning: 'ups2000_status_reg' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_status_reg[] = ~~^~~~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:751:10: note: used in buffer access here flag = ups2000_status_reg[i].flags; ^~~~~~~~~~~~~~~~~~ huawei-ups2000.c:736:14: note: used in buffer access here for (i = 0; ups2000_status_reg[i].reg != 0; i++) { ^~~~~~~~~~~~~~~~~~ huawei-ups2000.c:768:7: note: used in buffer access here if (ups2000_status_reg[i].must_set_flag && flag_count == 0) { ^~~~~~~~~~~~~~~~~~ huawei-ups2000.c:741:9: note: used in buffer access here reg = ups2000_status_reg[i].reg; ^~~~~~~~~~~~~~~~~~ huawei-ups2000.c:738:19: warning: 'flag' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] struct flags_t *flag; ~~~~~~~~~~~~~~~~^~~~ huawei-ups2000.c:757:30: note: used in buffer access here if ((flag[j].val != -1 && flag[j].val == val) || ^~~~ huawei-ups2000.c:763:9: note: used in buffer access here if (flag[j].var_name && flag[j].var_val) ^~~~ huawei-ups2000.c:761:17: note: used in buffer access here status_set(flag[j].status_name); ^~~~ huawei-ups2000.c:752:15: note: used in buffer access here for (j = 0; flag[j].status_name != NULL; j++) { ^~~~ huawei-ups2000.c:760:16: note: used in buffer access here if (strlen(flag[j].status_name) != 0) ^~~~ huawei-ups2000.c:763:29: note: used in buffer access here if (flag[j].var_name && flag[j].var_val) ^~~~ huawei-ups2000.c:764:21: note: used in buffer access here dstate_setinfo(flag[j].var_name, "%s", flag[j].var_val); ^~~~ huawei-ups2000.c:764:45: note: used in buffer access here dstate_setinfo(flag[j].var_name, "%s", flag[j].var_val); ^~~~ huawei-ups2000.c:757:9: note: used in buffer access here if ((flag[j].val != -1 && flag[j].val == val) || ^~~~ huawei-ups2000.c:758:9: note: used in buffer access here (flag[j].bit != -1 && CHECK_BIT(val, flag[j].bit))) { ^~~~ huawei-ups2000.c:758:45: note: used in buffer access here (flag[j].bit != -1 && CHECK_BIT(val, flag[j].bit))) { ^~~~ huawei-ups2000.c:66:42: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ huawei-ups2000.c:810:3: warning: 'ups2000_alarm' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_alarm[] = ~~^~~~~~~~~~~~~~~~~ huawei-ups2000.c:1038:9: note: used in buffer access here if (ups2000_alarm[i].alarm_desc) ^~~~~~~~~~~~~ huawei-ups2000.c:1035:9: note: used in buffer access here ups2000_alarm[i].alarm_cause_id, ^~~~~~~~~~~~~ huawei-ups2000.c:1039:30: note: used in buffer access here upslogx(loglevel, "%s", ups2000_alarm[i].alarm_desc); ^~~~~~~~~~~~~ huawei-ups2000.c:1034:9: note: used in buffer access here ups2000_alarm[i].alarm_id, ^~~~~~~~~~~~~ huawei-ups2000.c:1010:9: note: used in buffer access here if (!ups2000_alarm[i].active || ^~~~~~~~~~~~~ huawei-ups2000.c:1019:16: note: used in buffer access here loglevel = ups2000_alarm[i].loglevel; ^~~~~~~~~~~~~ huawei-ups2000.c:1003:8: note: used in buffer access here if (ups2000_alarm[i].status_name) ^~~~~~~~~~~~~ huawei-ups2000.c:1004:16: note: used in buffer access here status_set(ups2000_alarm[i].status_name); ^~~~~~~~~~~~~ huawei-ups2000.c:974:13: note: used in buffer access here int idx = ups2000_alarm[i].reg - ups2000_alarm[0].reg; ^~~~~~~~~~~~~ huawei-ups2000.c:994:10: note: used in buffer access here ups2000_alarm[i].alarm_name); ^~~~~~~~~~~~~ huawei-ups2000.c:1036:9: note: used in buffer access here ups2000_alarm[i].alarm_name); ^~~~~~~~~~~~~ huawei-ups2000.c:980:8: note: used in buffer access here if (ups2000_alarm[i].reg == 40161) ^~~~~~~~~~~~~ huawei-ups2000.c:973:14: note: used in buffer access here for (i = 0; ups2000_alarm[i].alarm_id != -1; i++) { ^~~~~~~~~~~~~ huawei-ups2000.c:993:10: note: used in buffer access here ups2000_alarm[i].alarm_cause_id, ^~~~~~~~~~~~~ huawei-ups2000.c:992:10: note: used in buffer access here ups2000_alarm[i].alarm_id, ^~~~~~~~~~~~~ huawei-ups2000.c:978:27: note: used in buffer access here if (CHECK_BIT(val[idx], ups2000_alarm[i].bit)) { ^~~~~~~~~~~~~ huawei-ups2000.c:66:42: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ huawei-ups2000.c:1041:13: note: used in buffer access here switch (ups2000_alarm[i].alarm_clear) { ^~~~~~~~~~~~~ huawei-ups2000.c:1054:5: note: used in buffer access here ups2000_alarm[i].active = 1; ^~~~~~~~~~~~~ huawei-ups2000.c:1060:8: note: used in buffer access here if (ups2000_alarm[i].active) { ^~~~~~~~~~~~~ huawei-ups2000.c:1062:12: note: used in buffer access here ups2000_alarm[i].alarm_id, ^~~~~~~~~~~~~ huawei-ups2000.c:1063:12: note: used in buffer access here ups2000_alarm[i].alarm_cause_id, ^~~~~~~~~~~~~ huawei-ups2000.c:1064:12: note: used in buffer access here ups2000_alarm[i].alarm_name); ^~~~~~~~~~~~~ huawei-ups2000.c:1065:5: note: used in buffer access here ups2000_alarm[i].active = 0; ^~~~~~~~~~~~~ huawei-ups2000.c:949:11: warning: 'val' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint16_t val[27]; ~~~~~~~~~^~~~~~~ huawei-ups2000.c:978:17: note: used in buffer access here if (CHECK_BIT(val[idx], ups2000_alarm[i].bit)) { ^~~ huawei-ups2000.c:66:30: note: expanded from macro 'CHECK_BIT' #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) ^~~ huawei-ups2000.c:1155:3: warning: 'ups2000_rw_var' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_rw_var[] = ~~^~~~~~~~~~~~~~~~~~ huawei-ups2000.c:1198:32: note: used in buffer access here r = ups2000_rw_var[i].getter(ups2000_rw_var[i].reg); ^~~~~~~~~~~~~~ huawei-ups2000.c:1197:14: note: used in buffer access here for (i = 0; ups2000_rw_var[i].name != NULL; i++) { ^~~~~~~~~~~~~~ huawei-ups2000.c:1198:7: note: used in buffer access here r = ups2000_rw_var[i].getter(ups2000_rw_var[i].reg); ^~~~~~~~~~~~~~ huawei-ups2000.c:1155:3: warning: 'ups2000_rw_var' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_rw_var[] = ~~^~~~~~~~~~~~~~~~~~ huawei-ups2000.c:1216:33: note: used in buffer access here r = ups2000_rw_var[i].setter(ups2000_rw_var[i].reg, val); ^~~~~~~~~~~~~~ huawei-ups2000.c:1223:33: note: used in buffer access here r = ups2000_rw_var[i].setter(ups2000_rw_var[i].reg, val); ^~~~~~~~~~~~~~ huawei-ups2000.c:1223:8: note: used in buffer access here r = ups2000_rw_var[i].setter(ups2000_rw_var[i].reg, val); ^~~~~~~~~~~~~~ huawei-ups2000.c:1215:19: note: used in buffer access here if (!strcasecmp(ups2000_rw_var[i].name, name)) { ^~~~~~~~~~~~~~ huawei-ups2000.c:1214:14: note: used in buffer access here for (i = 0; ups2000_rw_var[i].name != NULL; i++) { ^~~~~~~~~~~~~~ huawei-ups2000.c:1216:8: note: used in buffer access here r = ups2000_rw_var[i].setter(ups2000_rw_var[i].reg, val); ^~~~~~~~~~~~~~ huawei-ups2000.c:1175:3: warning: 'ups2000_rw_delay' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_rw_delay[] = ~~^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:1221:14: note: used in buffer access here for (i = 0; ups2000_rw_delay[i].name != NULL; i++) { ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1222:19: note: used in buffer access here if (!strcasecmp(ups2000_rw_delay[i].name, name)) { ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1175:3: warning: 'ups2000_rw_delay' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_rw_delay[] = ~~^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:1356:12: note: used in buffer access here delay = &ups2000_rw_delay[i]; ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1353:14: note: used in buffer access here for (i = 0; ups2000_rw_delay[i].name != NULL; i++) { ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1175:3: warning: 'ups2000_rw_delay' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_rw_delay[] = ~~^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:1397:20: note: used in buffer access here delay_schema = &ups2000_rw_delay[i]; ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1396:15: note: used in buffer access here if (!strcmp(ups2000_rw_delay[i].name, var)) { ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1395:14: note: used in buffer access here for (i = 0; ups2000_rw_delay[i].name != NULL; i++) { ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1450:3: warning: 'ups2000_cmd' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_cmd[] = ~~^~~~~~~~~~~~~~~ huawei-ups2000.c:1474:14: note: used in buffer access here for (i = 0; ups2000_cmd[i].cmd != NULL; i++) { ^~~~~~~~~~~ huawei-ups2000.c:1475:17: note: used in buffer access here dstate_addcmd(ups2000_cmd[i].cmd); ^~~~~~~~~~~ huawei-ups2000.c:1450:3: warning: 'ups2000_cmd' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_cmd[] = ~~^~~~~~~~~~~~~~~ huawei-ups2000.c:1489:18: note: used in buffer access here cmd_action = &ups2000_cmd[i]; ^~~~~~~~~~~ huawei-ups2000.c:1487:14: note: used in buffer access here for (i = 0; ups2000_cmd[i].cmd != NULL; i++) { ^~~~~~~~~~~ huawei-ups2000.c:1488:24: note: used in buffer access here if (!strcasecmp(cmd, ups2000_cmd[i].cmd)) { ^~~~~~~~~~~ huawei-ups2000.c:1692:11: warning: 'val' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint16_t val[2]; ~~~~~~~~~^~~~~~ huawei-ups2000.c:1699:2: note: used in buffer access here val[1] = ondelay / 60; ^~~ huawei-ups2000.c:1175:3: warning: 'ups2000_rw_delay' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_rw_delay[] = ~~^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:1743:37: note: used in buffer access here reboot_at = time_seek(time(NULL), ups2000_rw_delay[REBOOT].min); ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1740:41: note: used in buffer access here r = ups2000_shutdown_guaranteed_return(ups2000_rw_delay[REBOOT].min, ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1781:3: warning: 'ups2000_timers' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_timers[] = { ~~^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:1798:8: note: used in buffer access here if (*ups2000_timers[i].at_time) { ^~~~~~~~~~~~~~ huawei-ups2000.c:1802:19: note: used in buffer access here dstate_setinfo(ups2000_timers[i].name, "%d", eta); ^~~~~~~~~~~~~~ huawei-ups2000.c:1799:20: note: used in buffer access here eta = difftime(*ups2000_timers[i].at_time, now); ^~~~~~~~~~~~~~ huawei-ups2000.c:1797:14: note: used in buffer access here for (i = 0; ups2000_timers[i].name != NULL; i++) { ^~~~~~~~~~~~~~ huawei-ups2000.c:1805:19: note: used in buffer access here dstate_setinfo(ups2000_timers[i].name, "%d", -1); ^~~~~~~~~~~~~~ huawei-ups2000.c:1175:3: warning: 'ups2000_rw_delay' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } ups2000_rw_delay[] = ~~^~~~~~~~~~~~~~~~~~~~ huawei-ups2000.c:1837:24: note: used in buffer access here " (default=%d).", ups2000_rw_delay[REBOOT].dfault); ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1841:24: note: used in buffer access here " (default=%d).", ups2000_rw_delay[START].dfault); ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1833:23: note: used in buffer access here " (default=%d)", ups2000_rw_delay[SHUTDOWN].dfault); ^~~~~~~~~~~~~~~~ huawei-ups2000.c:1896:44: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static size_t ups2000_read_serial(uint8_t *buf, size_t buf_len) ~~~~~~~~~^~~ huawei-ups2000.c:1912:3: note: used in pointer arithmetic here buf += bytes; /* advance buffer position */ ^~~ huawei-ups2000.c:2108:33: warning: 'buffer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static uint16_t crc16(uint8_t * buffer, uint16_t buffer_length) ~~~~~~~~~~^~~~~~ huawei-ups2000.c:2116:17: note: used in pointer arithmetic here i = crc_hi ^ *buffer++; /* calculate the CRC */ ^~~~~~ huawei-ups2000.c:2048:22: warning: 'table_crc_hi' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const uint8_t table_crc_hi[] = { ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ huawei-ups2000.c:2117:21: note: used in buffer access here crc_hi = crc_lo ^ table_crc_hi[i]; ^~~~~~~~~~~~ huawei-ups2000.c:2078:22: warning: 'table_crc_lo' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const uint8_t table_crc_lo[] = { ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ huawei-ups2000.c:2118:12: note: used in buffer access here crc_lo = table_crc_lo[i]; ^~~~~~~~~~~~ 37 warnings generated. libtool: link: /usr/bin/ar cr .libs/libdummy.a main.o dstate.o libtool: link: ranlib .libs/libdummy.a libtool: link: ( cd ".libs" && rm -f "libdummy.la" && ln -s "../libdummy.la" "libdummy.la" ) /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o skel skel.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lpthread libtool: link: /usr/bin/ar cr .libs/libdummy_serial.a serial.o /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o apcupsd-ups apcupsd_ups-apcupsd-ups.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I../clients -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o dummy-ups dummy_ups-dummy-ups.o libdummy.la ../common/libcommon.la ../common/libparseconf.la ../clients/libupsclient.la -lssl -lcrypto -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o snmp-ups snmp_ups-snmp-ups.o snmp_ups-snmp-ups-helpers.o snmp_ups-apc-mib.o snmp_ups-apc-pdu-mib.o snmp_ups-baytech-mib.o snmp_ups-bestpower-mib.o snmp_ups-compaq-mib.o snmp_ups-cyberpower-mib.o snmp_ups-delta_ups-mib.o snmp_ups-eaton-pdu-genesis2-mib.o snmp_ups-eaton-pdu-marlin-mib.o libtool: link: ranlib .libs/libdummy_serial.a snmp_ups-eaton-pdu-marlin-helpers.o snmp_ups-eaton-pdu-pulizzi-mib.o snmp_ups-eaton-pdu-revelation-mib.o snmp_ups-eaton-ats16-nmc-mib.o snmp_ups-eaton-ats16-nm2-mib.o snmp_ups-apc-ats-mib.o snmp_ups-eaton-ats30-mib.o snmp_ups-emerson-avocent-pdu-mib.o snmp_ups-hpe-pdu-mib.o snmp_ups-huawei-mib.o snmp_ups-ietf-mib.o snmp_ups-mge-mib.o snmp_ups-netvision-mib.o snmp_ups-powerware-mib.o snmp_ups-raritan-pdu-mib.o snmp_ups-raritan-px2-mib.o snmp_ups-xppc-mib.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -L/usr/local/lib -lnetsnmp -lm -lpthread libtool: link: ( cd ".libs" && rm -f "libdummy_serial.la" && ln -s "../libdummy_serial.la" "libdummy_serial.la" ) /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o usbhid-ups usbhid-ups.o libhid.o libusb1.o hidparser.o usb-common.o apc-hid.o arduino-hid.o belkin-hid.o cps-hid.o explore-hid.o liebert-hid.o mge-hid.o powercom-hid.o tripplite-hid.o idowell-hid.o openups-hid.o powervar-hid.o delta_ups-hid.o ever-hid.o legrand-hid.o salicru-hid.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lusb -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsdrvctl upsdrvctl.o -L/usr/local/lib ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bcmxcp_usb bcmxcp_usb.o bcmxcp.o usb-common.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lusb -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o usbhid-ups usbhid-ups.o libhid.o libusb1.o hidparser.o usb-common.o apc-hid.o arduino-hid.o belkin-hid.o cps-hid.o explore-hid.o liebert-hid.o mge-hid.o powercom-hid.o tripplite-hid.o idowell-hid.o openups-hid.o powervar-hid.o delta_ups-hid.o ever-hid.o legrand-hid.o salicru-hid.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lusb -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o tripplite_usb tripplite_usb.o libusb1.o usb-common.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lusb -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I/usr/local/include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o snmp-ups snmp_ups-snmp-ups.o snmp_ups-snmp-ups-helpers.o snmp_ups-apc-mib.o snmp_ups-apc-pdu-mib.o snmp_ups-baytech-mib.o snmp_ups-bestpower-mib.o snmp_ups-compaq-mib.o snmp_ups-cyberpower-mib.o snmp_ups-delta_ups-mib.o snmp_ups-eaton-pdu-genesis2-mib.o snmp_ups-eaton-pdu-marlin-mib.o snmp_ups-eaton-pdu-marlin-helpers.o snmp_ups-eaton-pdu-pulizzi-mib.o snmp_ups-eaton-pdu-revelation-mib.o snmp_ups-eaton-ats16-nmc-mib.o snmp_ups-eaton-ats16-nm2-mib.o snmp_ups-apc-ats-mib.o snmp_ups-eaton-ats30-mib.o snmp_ups-emerson-avocent-pdu-mib.o snmp_ups-hpe-pdu-mib.o snmp_ups-huawei-mib.o snmp_ups-ietf-mib.o snmp_ups-mge-mib.o snmp_ups-netvision-mib.o snmp_ups-powerware-mib.o snmp_ups-raritan-pdu-mib.o snmp_ups-raritan-px2-mib.o snmp_ups-xppc-mib.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lnetsnmp -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o apcupsd-ups apcupsd_ups-apcupsd-ups.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o blazer_usb blazer.o blazer_usb.o libusb1.o usb-common.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lusb -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -I../clients -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/dummy-ups dummy_ups-dummy-ups.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a ../clients/.libs/libupsclient.so -lssl -lcrypto -lpthread -Wl,-rpath -Wl,/usr/local/lib /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o richcomm_usb richcomm_usb.o usb-common.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lusb -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o skel skel.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o riello_usb riello.o riello_usb.o libusb1.o usb-common.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lusb -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bcmxcp_usb bcmxcp_usb.o bcmxcp.o usb-common.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lusb -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o nutdrv_atcl_usb nutdrv_atcl_usb.o usb-common.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lusb -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o netxml-ups netxml-ups.o mge-xml.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -L/usr/local/lib -lneon -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o tripplite_usb tripplite_usb.o libusb1.o usb-common.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lusb -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o powerman-pdu powerman-pdu.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -L/usr/local/lib -lpowerman -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o blazer_usb blazer.o blazer_usb.o libusb1.o usb-common.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lusb -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o phoenixcontact_modbus phoenixcontact_modbus.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -L/usr/local/lib -lmodbus -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o riello_usb riello.o riello_usb.o libusb1.o usb-common.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lusb -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o nutdrv_atcl_usb nutdrv_atcl_usb.o usb-common.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lusb -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o generic_modbus generic_modbus.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -L/usr/local/lib -lmodbus -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o netxml-ups netxml-ups.o mge-xml.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lneon -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o richcomm_usb richcomm_usb.o usb-common.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lusb -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o huawei-ups2000 huawei-ups2000.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -L/usr/local/lib -lmodbus -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o socomec_jbus socomec_jbus.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -L/usr/local/lib -lmodbus -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o adelsystem_cbi adelsystem_cbi.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -L/usr/local/lib -lmodbus -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o powerman-pdu powerman-pdu.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpowerman -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o al175 al175.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o phoenixcontact_modbus phoenixcontact_modbus.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lmodbus -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bcmxcp bcmxcp.o bcmxcp_ser.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o generic_modbus generic_modbus.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lmodbus -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o belkin belkin.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o huawei-ups2000 huawei-ups2000.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lmodbus -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o socomec_jbus socomec_jbus.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lmodbus -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o belkinunv belkinunv.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bestfcom bestfcom.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o adelsystem_cbi adelsystem_cbi.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lmodbus -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bestfortress bestfortress.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o belkin belkin.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o al175 al175.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o belkinunv belkinunv.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bestuferrups bestuferrups.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bcmxcp bcmxcp.o bcmxcp_ser.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o etapro etapro.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bestups bestups.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o everups everups.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bestfcom bestfcom.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o gamatronic gamatronic.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bestfortress bestfortress.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o genericups genericups.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o etapro etapro.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o everups everups.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o isbmex isbmex.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bestuferrups bestuferrups.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o bestups bestups.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o liebert liebert.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o liebert-esp2 liebert-esp2.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o masterguard masterguard.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o gamatronic gamatronic.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o metasys metasys.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o isbmex isbmex.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o mge-utalk mge-utalk.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o masterguard masterguard.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o microdowell microdowell.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o genericups genericups.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o liebert-esp2 liebert-esp2.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o microsol-apc microsol-apc.o microsol-common.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o liebert liebert.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DSHUT_MODE=1 -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o mge-shut mge_shut-usbhid-ups.o mge_shut-libshut.o mge_shut-libhid.o mge_shut-hidparser.o mge_shut-mge-hid.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o oneac oneac.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o metasys metasys.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o optiups optiups.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o mge-utalk mge-utalk.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o microdowell microdowell.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o powercom powercom.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o rhino rhino.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o oneac oneac.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o safenet safenet.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DSHUT_MODE=1 -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o mge-shut mge_shut-usbhid-ups.o mge_shut-libshut.o mge_shut-libhid.o mge_shut-hidparser.o mge_shut-mge-hid.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o nutdrv_siemens-sitop nutdrv_siemens_sitop.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o microsol-apc microsol-apc.o microsol-common.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o optiups optiups.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o solis solis.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o tripplite tripplite.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o rhino rhino.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o powercom powercom.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o tripplitesu tripplitesu.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upscode2 upscode2.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o tripplite tripplite.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o nutdrv_siemens-sitop nutdrv_siemens_sitop.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o safenet safenet.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o victronups victronups.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o solis solis.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o powerpanel powerpanel.o powerp-bin.o powerp-txt.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o blazer_ser blazer.o blazer_ser.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o clone clone.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upscode2 upscode2.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o clone-outlet clone-outlet.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o powerpanel powerpanel.o powerp-bin.o powerp-txt.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o ivtscd ivtscd.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o victronups victronups.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o clone clone.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o apcsmart apcsmart.o apcsmart_tabs.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o blazer_ser blazer.o blazer_ser.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o apcsmart-old apcsmart-old.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o tripplitesu tripplitesu.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o riello_ser riello.o riello_ser.o libdummy_serial.la libdummy.la ../common/libcommon.la ../common/libparseconf.la -lutil -lm -lpthread /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o nutdrv_qx nutdrv_qx-nutdrv_qx.o nutdrv_qx-libusb1.o nutdrv_qx-usb-common.o nutdrv_qx-nutdrv_qx_bestups.o nutdrv_qx-nutdrv_qx_blazer-common.o nutdrv_qx-nutdrv_qx_masterguard.o nutdrv_qx-nutdrv_qx_mecer.o nutdrv_qx-nutdrv_qx_megatec.o nutdrv_qx-nutdrv_qx_megatec-old.o nutdrv_qx-nutdrv_qx_mustek.o nutdrv_qx-nutdrv_qx_q1.o nutdrv_qx-nutdrv_qx_voltronic.o nutdrv_qx-nutdrv_qx_voltronic-qs.o nutdrv_qx-nutdrv_qx_voltronic-qs-hex.o nutdrv_qx-nutdrv_qx_zinto.o nutdrv_qx-nutdrv_qx_hunnox.o nutdrv_qx-nutdrv_qx_ablerex.o libdummy.la ../common/libcommon.la ../common/libparseconf.la -lm libdummy_serial.la -lutil -lusb -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o clone-outlet clone-outlet.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -DQX_SERIAL -DQX_USB -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o nutdrv_qx nutdrv_qx-nutdrv_qx.o nutdrv_qx-libusb1.o nutdrv_qx-usb-common.o nutdrv_qx-nutdrv_qx_bestups.o nutdrv_qx-nutdrv_qx_blazer-common.o nutdrv_qx-nutdrv_qx_masterguard.o nutdrv_qx-nutdrv_qx_mecer.o nutdrv_qx-nutdrv_qx_megatec.o nutdrv_qx-nutdrv_qx_megatec-old.o nutdrv_qx-nutdrv_qx_mustek.o nutdrv_qx-nutdrv_qx_q1.o nutdrv_qx-nutdrv_qx_voltronic.o nutdrv_qx-nutdrv_qx_voltronic-qs.o nutdrv_qx-nutdrv_qx_voltronic-qs-hex.o nutdrv_qx-nutdrv_qx_zinto.o nutdrv_qx-nutdrv_qx_hunnox.o nutdrv_qx-nutdrv_qx_ablerex.o -L/usr/local/lib ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lm ./.libs/libdummy_serial.a -lutil -lusb -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o apcsmart apcsmart.o apcsmart_tabs.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o riello_ser riello.o riello_ser.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lm -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o ivtscd ivtscd.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread libtool: link: cc -I../include -I/usr/local/include/neon -I/usr/local/include -I/usr/local/include/modbus -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o apcsmart-old apcsmart-old.o -L/usr/local/lib ./.libs/libdummy_serial.a ./.libs/libdummy.a ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lutil -lpthread gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/drivers' Making all in tools gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' Making all in . gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[3]: Nothing to be done for 'all-am'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' Making all in nut-scanner gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[4]: Nothing to be done for 'nut-scanner-deps'. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' test -s "serial.c" || ln -s -f "../../drivers/serial.c" "serial.c" gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[4]: Nothing to be done for 'nut-scanner-deps'. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' test -s "bcmxcp_ser.c" || ln -s -f "../../drivers/bcmxcp_ser.c" "bcmxcp_ser.c" gmake all-am gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nut_scanner-nut-scanner.o -MD -MP -MF .deps/nut_scanner-nut-scanner.Tpo -c -o nut_scanner-nut-scanner.o `test -f 'nut-scanner.c' || echo './'`nut-scanner.c /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_nut.lo -MD -MP -MF .deps/libnutscan_la-scan_nut.Tpo -c -o libnutscan_la-scan_nut.lo `test -f 'scan_nut.c' || echo './'`scan_nut.c /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_ipmi.lo -MD -MP -MF .deps/libnutscan_la-scan_ipmi.Tpo -c -o libnutscan_la-scan_ipmi.lo `test -f 'scan_ipmi.c' || echo './'`scan_ipmi.c /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-device.lo -MD -MP -MF .deps/libnutscan_la-nutscan-device.Tpo -c -o libnutscan_la-nutscan-device.lo `test -f 'nutscan-device.c' || echo './'`nutscan-device.c /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-ip.lo -MD -MP -MF .deps/libnutscan_la-nutscan-ip.Tpo -c -o libnutscan_la-nutscan-ip.lo `test -f 'nutscan-ip.c' || echo './'`nutscan-ip.c /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-display.lo -MD -MP -MF .deps/libnutscan_la-nutscan-display.Tpo -c -o libnutscan_la-nutscan-display.lo `test -f 'nutscan-display.c' || echo './'`nutscan-display.c libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_nut.lo -MD -MP -MF .deps/libnutscan_la-scan_nut.Tpo -c scan_nut.c -fPIC -DPIC -o .libs/libnutscan_la-scan_nut.o libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-display.lo -MD -MP -MF .deps/libnutscan_la-nutscan-display.Tpo -c nutscan-display.c -fPIC -DPIC -o .libs/libnutscan_la-nutscan-display.o nut-scanner.c:106:26: warning: 'dev' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static nutscan_device_t *dev[TYPE_END]; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ nut-scanner.c:121:2: note: used in buffer access here dev[TYPE_USB] = nutscan_scan_usb(); ^~~ nut-scanner.c:106:26: warning: 'dev' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static nutscan_device_t *dev[TYPE_END]; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ nut-scanner.c:129:2: note: used in buffer access here dev[TYPE_SNMP] = nutscan_scan_snmp(start_ip, end_ip, timeout, sec); ^~~ nut-scanner.c:106:26: warning: 'dev' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static nutscan_device_t *dev[TYPE_END]; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ nut-scanner.c:137:2: note: used in buffer access here dev[TYPE_XML] = nutscan_scan_xml_http_range(start_ip, end_ip, timeout, sec); ^~~ nut-scanner.c:106:26: warning: 'dev' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static nutscan_device_t *dev[TYPE_END]; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ nut-scanner.c:145:2: note: used in buffer access here dev[TYPE_NUT] = nutscan_scan_nut(start_ip, end_ip, port, timeout); ^~~ nut-scanner.c:106:26: warning: 'dev' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static nutscan_device_t *dev[TYPE_END]; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ nut-scanner.c:153:2: note: used in buffer access here dev[TYPE_AVAHI] = nutscan_scan_avahi(timeout); ^~~ nut-scanner.c:106:26: warning: 'dev' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static nutscan_device_t *dev[TYPE_END]; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ nut-scanner.c:161:2: note: used in buffer access here dev[TYPE_IPMI] = nutscan_scan_ipmi(start_ip, end_ip, sec); ^~~ nut-scanner.c:106:26: warning: 'dev' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static nutscan_device_t *dev[TYPE_END]; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ nut-scanner.c:169:2: note: used in buffer access here dev[TYPE_EATON_SERIAL] = nutscan_scan_eaton_serial(serial_ports); ^~~ nut-scanner.c:175:23: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] static void show_usage() ^ void nut-scanner.c:686:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] sem_t *current_sem = nutscan_semaphore(); ^ nut-scanner.c:106:26: warning: 'dev' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static nutscan_device_t *dev[TYPE_END]; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ nut-scanner.c:898:15: note: used in buffer access here display_func(dev[TYPE_USB]); ^~~ nut-scanner.c:900:22: note: used in buffer access here nutscan_free_device(dev[TYPE_USB]); ^~~ nut-scanner.c:903:15: note: used in buffer access here display_func(dev[TYPE_SNMP]); ^~~ nut-scanner.c:905:22: note: used in buffer access here nutscan_free_device(dev[TYPE_SNMP]); ^~~ nut-scanner.c:908:15: note: used in buffer access here display_func(dev[TYPE_XML]); ^~~ nut-scanner.c:910:22: note: used in buffer access here nutscan_free_device(dev[TYPE_XML]); ^~~ nut-scanner.c:913:15: note: used in buffer access here display_func(dev[TYPE_NUT]); ^~~ nut-scanner.c:915:22: note: used in buffer access here nutscan_free_device(dev[TYPE_NUT]); ^~~ nut-scanner.c:918:15: note: used in buffer access here display_func(dev[TYPE_AVAHI]); ^~~ nut-scanner.c:920:22: note: used in buffer access here nutscan_free_device(dev[TYPE_AVAHI]); ^~~ nut-scanner.c:923:15: note: used in buffer access here display_func(dev[TYPE_IPMI]); ^~~ nut-scanner.c:925:22: note: used in buffer access here nutscan_free_device(dev[TYPE_IPMI]); ^~~ nut-scanner.c:928:15: note: used in buffer access here display_func(dev[TYPE_EATON_SERIAL]); ^~~ nut-scanner.c:930:22: note: used in buffer access here nutscan_free_device(dev[TYPE_EATON_SERIAL]); ^~~ nut-scanner.c:115:18: warning: 'thread' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static pthread_t thread[TYPE_END]; ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ nut-scanner.c:763:24: note: used in buffer access here if (pthread_create(&thread[TYPE_SNMP], NULL, run_snmp, &snmp_sec)) { ^~~~~~ nut-scanner.c:742:23: note: used in buffer access here if (pthread_create(&thread[TYPE_USB], NULL, run_usb, NULL)) { ^~~~~~ nut-scanner.c:781:23: note: used in buffer access here if (pthread_create(&thread[TYPE_XML], NULL, run_xml, &xml_sec)) { ^~~~~~ nut-scanner.c:835:23: note: used in buffer access here if (pthread_create(&thread[TYPE_IPMI], NULL, run_ipmi, &ipmi_sec)) { ^~~~~~ nut-scanner.c:802:24: note: used in buffer access here if (pthread_create(&thread[TYPE_NUT], NULL, run_nut_old, NULL)) { ^~~~~~ nut-scanner.c:819:23: note: used in buffer access here if (pthread_create(&thread[TYPE_AVAHI], NULL, run_avahi, NULL)) { ^~~~~~ nut-scanner.c:852:19: note: used in buffer access here pthread_create(&thread[TYPE_EATON_SERIAL], NULL, run_eaton_serial, serial_ports); ^~~~~~ nut-scanner.c:865:40: note: used in buffer access here if (allow_usb && nutscan_avail_usb && thread[TYPE_USB]) { ^~~~~~ nut-scanner.c:867:16: note: used in buffer access here pthread_join(thread[TYPE_USB], NULL); ^~~~~~ nut-scanner.c:869:42: note: used in buffer access here if (allow_snmp && nutscan_avail_snmp && thread[TYPE_SNMP]) { ^~~~~~ nut-scanner.c:871:16: note: used in buffer access here pthread_join(thread[TYPE_SNMP], NULL); ^~~~~~ nut-scanner.c:873:45: note: used in buffer access here if (allow_xml && nutscan_avail_xml_http && thread[TYPE_XML]) { ^~~~~~ nut-scanner.c:875:16: note: used in buffer access here pthread_join(thread[TYPE_XML], NULL); ^~~~~~ nut-scanner.c:877:43: note: used in buffer access here if (allow_oldnut && nutscan_avail_nut && thread[TYPE_NUT]) { ^~~~~~ nut-scanner.c:879:16: note: used in buffer access here pthread_join(thread[TYPE_NUT], NULL); ^~~~~~ nut-scanner.c:881:44: note: used in buffer access here if (allow_avahi && nutscan_avail_avahi && thread[TYPE_AVAHI]) { ^~~~~~ nut-scanner.c:883:16: note: used in buffer access here pthread_join(thread[TYPE_AVAHI], NULL); ^~~~~~ nut-scanner.c:885:42: note: used in buffer access here if (allow_ipmi && nutscan_avail_ipmi && thread[TYPE_IPMI]) { ^~~~~~ nut-scanner.c:887:16: note: used in buffer access here pthread_join(thread[TYPE_IPMI], NULL); ^~~~~~ nut-scanner.c:889:28: note: used in buffer access here if (allow_eaton_serial && thread[TYPE_EATON_SERIAL]) { ^~~~~~ nut-scanner.c:891:16: note: used in buffer access here pthread_join(thread[TYPE_EATON_SERIAL], NULL); ^~~~~~ 11 warnings generated. mv -f .deps/nut_scanner-nut-scanner.Tpo .deps/nut_scanner-nut-scanner.Po /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-init.lo -MD -MP -MF .deps/libnutscan_la-nutscan-init.Tpo -c -o libnutscan_la-nutscan-init.lo `test -f 'nutscan-init.c' || echo './'`nutscan-init.c nutscan-display.c:29:15: warning: 'nutscan_device_type_string' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static char * nutscan_device_type_string[TYPE_END] = { ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nutscan-display.c:99:4: note: used in buffer access here nutscan_device_type_string[current_dev->type], ^~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-display.lo -MD -MP -MF .deps/libnutscan_la-nutscan-display.Tpo -c nutscan-display.c -o libnutscan_la-nutscan-display.o >/dev/null 2>&1 libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-device.lo -MD -MP -MF .deps/libnutscan_la-nutscan-device.Tpo -c nutscan-device.c -fPIC -DPIC -o .libs/libnutscan_la-nutscan-device.o nutscan-device.c:40:38: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] nutscan_device_t * nutscan_new_device() ^ void 1 warning generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-device.lo -MD -MP -MF .deps/libnutscan_la-nutscan-device.Tpo -c nutscan-device.c -o libnutscan_la-nutscan-device.o >/dev/null 2>&1 libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_ipmi.lo -MD -MP -MF .deps/libnutscan_la-scan_ipmi.Tpo -c scan_ipmi.c -fPIC -DPIC -o .libs/libnutscan_la-scan_ipmi.o libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-init.lo -MD -MP -MF .deps/libnutscan_la-nutscan-init.Tpo -c nutscan-init.c -fPIC -DPIC -o .libs/libnutscan_la-nutscan-init.o scan_nut.c:198:4: warning: acquiring mutex 'dev_mutex' requires negative capability '!dev_mutex' [-Wthread-safety-negative] pthread_mutex_lock(&dev_mutex); ^ scan_nut.c:132:1: note: thread warning in function 'list_nut_devices' { ^ scan_nut.c:139:9: warning: 'answer' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **answer; ~~~~~~~^~~~~~ scan_nut.c:191:21: note: used in buffer access here buf_size = strlen(answer[1]) + strlen(hostname) + 1 + 1; ^~~~~~ scan_nut.c:195:43: note: used in buffer access here snprintf(dev->port, buf_size, "%s@%s", answer[1], ^~~~~~ scan_nut.c:422:23: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] nutscan_thread_t *new_thread_array = realloc(thread_array, ^ scan_nut.c:232:21: warning: 'thread_array' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] nutscan_thread_t * thread_array = NULL; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ scan_nut.c:431:5: note: used in buffer access here thread_array[thread_count - 1].thread = thread; ^~~~~~~~~~~~ scan_nut.c:432:5: note: used in buffer access here thread_array[thread_count - 1].active = TRUE; ^~~~~~~~~~~~ scan_nut.c:453:11: note: used in buffer access here if (!thread_array[i].active) { ^~~~~~~~~~~~ scan_nut.c:492:9: note: used in buffer access here if (!thread_array[i].active) continue; ^~~~~~~~~~~~ scan_nut.c:463:6: note: used in buffer access here thread_array[i].active = FALSE; ^~~~~~~~~~~~ scan_nut.c:464:25: note: used in buffer access here ret = pthread_join(thread_array[i].thread, NULL); ^~~~~~~~~~~~ scan_nut.c:494:23: note: used in buffer access here ret = pthread_join(thread_array[i].thread, NULL); ^~~~~~~~~~~~ scan_nut.c:499:4: note: used in buffer access here thread_array[i].active = FALSE; ^~~~~~~~~~~~ 4 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_nut.lo -MD -MP -MF .deps/libnutscan_la-scan_nut.Tpo -c scan_nut.c -o libnutscan_la-scan_nut.o >/dev/null 2>&1 libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-ip.lo -MD -MP -MF .deps/libnutscan_la-nutscan-ip.Tpo -c nutscan-ip.c -fPIC -DPIC -o .libs/libnutscan_la-nutscan-ip.o mv -f .deps/libnutscan_la-nutscan-display.Tpo .deps/libnutscan_la-nutscan-display.Plo /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_usb.lo -MD -MP -MF .deps/libnutscan_la-scan_usb.Tpo -c -o libnutscan_la-scan_usb.lo `test -f 'scan_usb.c' || echo './'`scan_usb.c libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_ipmi.lo -MD -MP -MF .deps/libnutscan_la-scan_ipmi.Tpo -c scan_ipmi.c -o libnutscan_la-scan_ipmi.o >/dev/null 2>&1 nutscan-init.c:133:8: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] char *libname = NULL; ^ 1 warning generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-init.lo -MD -MP -MF .deps/libnutscan_la-nutscan-init.Tpo -c nutscan-init.c -o libnutscan_la-nutscan-init.o >/dev/null 2>&1 mv -f .deps/libnutscan_la-nutscan-device.Tpo .deps/libnutscan_la-nutscan-device.Plo /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_snmp.lo -MD -MP -MF .deps/libnutscan_la-scan_snmp.Tpo -c -o libnutscan_la-scan_snmp.lo `test -f 'scan_snmp.c' || echo './'`scan_snmp.c libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_usb.lo -MD -MP -MF .deps/libnutscan_la-scan_usb.Tpo -c scan_usb.c -fPIC -DPIC -o .libs/libnutscan_la-scan_usb.o mv -f .deps/libnutscan_la-scan_ipmi.Tpo .deps/libnutscan_la-scan_ipmi.Plo /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_xml_http.lo -MD -MP -MF .deps/libnutscan_la-scan_xml_http.Tpo -c -o libnutscan_la-scan_xml_http.lo `test -f 'scan_xml_http.c' || echo './'`scan_xml_http.c mv -f .deps/libnutscan_la-scan_nut.Tpo .deps/libnutscan_la-scan_nut.Plo /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_avahi.lo -MD -MP -MF .deps/libnutscan_la-scan_avahi.Tpo -c -o libnutscan_la-scan_avahi.lo `test -f 'scan_avahi.c' || echo './'`scan_avahi.c nutscan-ip.c:38:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] addr->s6_addr[i]++; ^~~~~~~~~~~~~ nutscan-ip.c:39:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (addr->s6_addr[i] != 0) { ^~~~~~~~~~~~~ nutscan-ip.c:196:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ip->start6.s6_addr[i] !=ip->stop6.s6_addr[i]) { ^~~~~~~~~~~~~~~~~~ nutscan-ip.c:196:32: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ip->start6.s6_addr[i] !=ip->stop6.s6_addr[i]) { ^~~~~~~~~~~~~~~~~ nutscan-ip.c:197:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ip->start6.s6_addr[i] > ip->stop6.s6_addr[i]) { ^~~~~~~~~~~~~~~~~~ nutscan-ip.c:197:33: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (ip->start6.s6_addr[i] > ip->stop6.s6_addr[i]) { ^~~~~~~~~~~~~~~~~ nutscan-ip.c:315:7: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int ret; ^ nutscan-ip.c:400:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] memset(&(ip.stop6.s6_addr[mask_byte + 1]), 0xFF, 15 - (uint8_t)mask_byte); ^~~~~~~~~~~~~~~~ nutscan-ip.c:401:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] memset(&(ip.start6.s6_addr[mask_byte + 1]), 0x00, 15 - (uint8_t)mask_byte); ^~~~~~~~~~~~~~~~~ nutscan-ip.c:404:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] ip.stop6.s6_addr[mask_byte] |= mask_bit; ^~~~~~~~~~~~~~~~ nutscan-ip.c:405:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] ip.start6.s6_addr[mask_byte] &= (~mask_bit); ^~~~~~~~~~~~~~~~~ 11 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-ip.lo -MD -MP -MF .deps/libnutscan_la-nutscan-ip.Tpo -c nutscan-ip.c -o libnutscan_la-nutscan-ip.o >/dev/null 2>&1 mv -f .deps/libnutscan_la-nutscan-init.Tpo .deps/libnutscan_la-nutscan-init.Plo /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_eaton_serial.lo -MD -MP -MF .deps/libnutscan_la-scan_eaton_serial.Tpo -c -o libnutscan_la-scan_eaton_serial.lo `test -f 'scan_eaton_serial.c' || echo './'`scan_eaton_serial.c libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_snmp.lo -MD -MP -MF .deps/libnutscan_la-scan_snmp.Tpo -c scan_snmp.c -fPIC -DPIC -o .libs/libnutscan_la-scan_snmp.o libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_avahi.lo -MD -MP -MF .deps/libnutscan_la-scan_avahi.Tpo -c scan_avahi.c -fPIC -DPIC -o .libs/libnutscan_la-scan_avahi.o libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_xml_http.lo -MD -MP -MF .deps/libnutscan_la-scan_xml_http.Tpo -c scan_xml_http.c -fPIC -DPIC -o .libs/libnutscan_la-scan_xml_http.o mv -f .deps/libnutscan_la-nutscan-ip.Tpo .deps/libnutscan_la-nutscan-ip.Plo /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-serial.lo -MD -MP -MF .deps/libnutscan_la-nutscan-serial.Tpo -c -o libnutscan_la-nutscan-serial.lo `test -f 'nutscan-serial.c' || echo './'`nutscan-serial.c scan_usb.c:188:19: warning: 'usbdev' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] usb_device_id_t *usbdev; ~~~~~~~~~~~~~~~~~^~~~~~ scan_usb.c:190:65: note: used in pointer arithmetic here for (usbdev = usb_device_id_list; usbdev->driver_name != NULL; usbdev++) { ^~~~~~ scan_usb.c:202:36: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] nutscan_device_t * nutscan_scan_usb() ^ void scan_usb.c:245:10: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] ssize_t devcount = 0; ^ scan_usb.c:216:18: warning: 'devlist' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] libusb_device **devlist; ~~~~~~~~~~~~~~~~^~~~~~~ scan_usb.c:257:9: note: used in buffer access here dev = devlist[i]; ^~~~~~~ 4 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_usb.lo -MD -MP -MF .deps/libnutscan_la-scan_usb.Tpo -c scan_usb.c -o libnutscan_la-scan_usb.o >/dev/null 2>&1 libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_avahi.lo -MD -MP -MF .deps/libnutscan_la-scan_avahi.Tpo -c scan_avahi.c -o libnutscan_la-scan_avahi.o >/dev/null 2>&1 libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_eaton_serial.lo -MD -MP -MF .deps/libnutscan_la-scan_eaton_serial.Tpo -c scan_eaton_serial.c -fPIC -DPIC -o .libs/libnutscan_la-scan_eaton_serial.o scan_snmp.c:417:2: warning: acquiring mutex 'dev_mutex' requires negative capability '!dev_mutex' [-Wthread-safety-negative] pthread_mutex_lock(&dev_mutex); ^ scan_snmp.c:351:1: note: thread warning in function 'scan_snmp_add_device' { ^ scan_snmp.c:354:9: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char * buf; ~~~~~~~^~~ scan_snmp.c:370:4: note: used in buffer access here buf[response->variables->val_len] = 0; ^~~ scan_snmp.c:410:4: note: used in buffer access here buf[session->community_len] = 0; ^~~ scan_snmp.c:432:6: warning: variable 'index' set but not used [-Wunused-but-set-variable] int index = 0; ^ In file included from scan_snmp.c:61: ./nutscan-snmp.h:31:25: warning: 'snmp_device_table' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static snmp_device_id_t snmp_device_table[] = { ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ scan_snmp.c:481:9: note: used in buffer access here while (snmp_device_table[index].mib != NULL) { ^~~~~~~~~~~~~~~~~ scan_snmp.c:483:7: note: used in buffer access here if (snmp_device_table[index].oid == NULL ^~~~~~~~~~~~~~~~~ scan_snmp.c:484:7: note: used in buffer access here || snmp_device_table[index].oid[0] == '\0' ^~~~~~~~~~~~~~~~~ scan_snmp.c:498:40: note: used in buffer access here scan_snmp_add_device(sec, response, snmp_device_table[index].mib); ^~~~~~~~~~~~~~~~~ scan_snmp.c:490:32: note: used in buffer access here response = scan_snmp_get_oid(snmp_device_table[index].oid, sec->handle); ^~~~~~~~~~~~~~~~~ scan_snmp.c:497:47: note: used in buffer access here if (mib_found == NULL || (strcmp(mib_found, snmp_device_table[index].mib) != 0)) { ^~~~~~~~~~~~~~~~~ scan_snmp.c:500:5: note: used in buffer access here snmp_device_table[index].mib); ^~~~~~~~~~~~~~~~~ ../../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ scan_snmp.c:503:46: note: used in buffer access here upsdebugx(3, "Skip duplicated device %s", snmp_device_table[index].mib); ^~~~~~~~~~~~~~~~~ ../../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ In file included from scan_snmp.c:61: ./nutscan-snmp.h:31:25: warning: 'snmp_device_table' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static snmp_device_id_t snmp_device_table[] = { ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ scan_snmp.c:863:10: note: used in buffer access here || snmp_device_table[index].oid[0] == '\0' ^~~~~~~~~~~~~~~~~ scan_snmp.c:866:19: note: used in buffer access here mib_found = snmp_device_table[index].sysoid; ^~~~~~~~~~~~~~~~~ scan_snmp.c:871:8: note: used in buffer access here snmp_device_table[index].oid, ^~~~~~~~~~~~~~~~~ scan_snmp.c:865:39: note: used in buffer access here scan_snmp_add_device(sec, NULL, snmp_device_table[index].mib); ^~~~~~~~~~~~~~~~~ scan_snmp.c:862:10: note: used in buffer access here if (snmp_device_table[index].oid == NULL ^~~~~~~~~~~~~~~~~ scan_snmp.c:846:6: note: used in buffer access here snmp_device_table[index].sysoid, ^~~~~~~~~~~~~~~~~ scan_snmp.c:838:11: note: used in buffer access here while (snmp_device_table[index].mib != NULL) { ^~~~~~~~~~~~~~~~~ scan_snmp.c:839:9: note: used in buffer access here if (snmp_device_table[index].sysoid == NULL) { ^~~~~~~~~~~~~~~~~ scan_snmp.c:874:40: note: used in buffer access here scan_snmp_add_device(sec, resp, snmp_device_table[index].mib); ^~~~~~~~~~~~~~~~~ scan_snmp.c:875:20: note: used in buffer access here mib_found = snmp_device_table[index].mib; ^~~~~~~~~~~~~~~~~ scan_snmp.c:1068:23: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] nutscan_thread_t *new_thread_array = realloc(thread_array, ^ scan_snmp.c:1177:21: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] nutscan_device_t * result = nutscan_rewind_device(dev_ret); ^ scan_snmp.c:917:21: warning: 'thread_array' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] nutscan_thread_t * thread_array = NULL; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ scan_snmp.c:1146:4: note: used in buffer access here thread_array[i].active = FALSE; ^~~~~~~~~~~~ scan_snmp.c:1110:6: note: used in buffer access here thread_array[i].active = FALSE; ^~~~~~~~~~~~ scan_snmp.c:1141:23: note: used in buffer access here ret = pthread_join(thread_array[i].thread, NULL); ^~~~~~~~~~~~ scan_snmp.c:1111:25: note: used in buffer access here ret = pthread_join(thread_array[i].thread, NULL); ^~~~~~~~~~~~ scan_snmp.c:1139:9: note: used in buffer access here if (!thread_array[i].active) continue; ^~~~~~~~~~~~ scan_snmp.c:1100:11: note: used in buffer access here if (!thread_array[i].active) { ^~~~~~~~~~~~ scan_snmp.c:1077:5: note: used in buffer access here thread_array[thread_count - 1].thread = thread; ^~~~~~~~~~~~ scan_snmp.c:1078:5: note: used in buffer access here thread_array[thread_count - 1].active = TRUE; ^~~~~~~~~~~~ 8 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_snmp.lo -MD -MP -MF .deps/libnutscan_la-scan_snmp.Tpo -c scan_snmp.c -o libnutscan_la-scan_snmp.o >/dev/null 2>&1 scan_xml_http.c:136:103: warning: 'atts' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int startelm_cb(void *userdata, int parent, const char *nspace, const char *name, const char **atts) { ~~~~~~~~~~~~~^~~~ scan_xml_http.c:141:9: note: used in buffer access here while (atts[i] != NULL) { ^~~~ scan_xml_http.c:143:29: note: used in buffer access here parent, nspace, name, i, atts[i], (i + 1), atts[i + 1]); ^~~~ ../../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ scan_xml_http.c:143:47: note: used in buffer access here parent, nspace, name, i, atts[i], (i + 1), atts[i + 1]); ^~~~ ../../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ scan_xml_http.c:156:14: note: used in buffer access here if (strcmp(atts[i], "type") == 0) { ^~~~ scan_xml_http.c:150:14: note: used in buffer access here if (strcmp(atts[i], "class") == 0 && strcmp(atts[i + 1], "DEV.PDU") == 0) { ^~~~ scan_xml_http.c:150:47: note: used in buffer access here if (strcmp(atts[i], "class") == 0 && strcmp(atts[i + 1], "DEV.PDU") == 0) { ^~~~ scan_xml_http.c:157:37: note: used in buffer access here snprintf(buf, sizeof(buf), "%s", atts[i + 1]); ^~~~ scan_xml_http.c:318:20: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] ne_xml_parser *parser = (*nut_ne_xml_create)(); ^ scan_xml_http.c:181:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] fd_set fds; ^ scan_xml_http.c:310:5: warning: acquiring mutex 'dev_mutex' requires negative capability '!dev_mutex' [-Wthread-safety-negative] pthread_mutex_lock(&dev_mutex); ^ scan_xml_http.c:167:1: note: thread warning in function 'nutscan_scan_xml_http_generic' { ^ scan_xml_http.c:249:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_ZERO(&fds); ^~~~~~~~~~~~~ /usr/include/sys/select.h:92:3: note: expanded from macro 'FD_ZERO' _p->__fds_bits[--_n] = 0; \ ^~~~~~~~~~~~~~ scan_xml_http.c:250:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] FD_SET(peerSocket, &fds); ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/select.h:84:23: note: expanded from macro 'FD_SET' #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) ^~~~~~~~~~~~~~~ scan_xml_http.c:564:25: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] nutscan_thread_t *new_thread_array = realloc(thread_array, ^ scan_xml_http.c:420:23: warning: 'thread_array' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] nutscan_thread_t * thread_array = NULL; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ scan_xml_http.c:608:27: note: used in buffer access here ret = pthread_join(thread_array[i].thread, NULL); ^~~~~~~~~~~~ scan_xml_http.c:573:7: note: used in buffer access here thread_array[thread_count - 1].thread = thread; ^~~~~~~~~~~~ scan_xml_http.c:638:25: note: used in buffer access here ret = pthread_join(thread_array[i].thread, NULL); ^~~~~~~~~~~~ scan_xml_http.c:607:8: note: used in buffer access here thread_array[i].active = FALSE; ^~~~~~~~~~~~ scan_xml_http.c:597:13: note: used in buffer access here if (!thread_array[i].active) { ^~~~~~~~~~~~ scan_xml_http.c:636:11: note: used in buffer access here if (!thread_array[i].active) continue; ^~~~~~~~~~~~ scan_xml_http.c:574:7: note: used in buffer access here thread_array[thread_count - 1].active = TRUE; ^~~~~~~~~~~~ scan_xml_http.c:643:6: note: used in buffer access here thread_array[i].active = FALSE; ^~~~~~~~~~~~ 8 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_xml_http.lo -MD -MP -MF .deps/libnutscan_la-scan_xml_http.Tpo -c scan_xml_http.c -o libnutscan_la-scan_xml_http.o >/dev/null 2>&1 scan_eaton_serial.c:100:40: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int checksum_test(const unsigned char *buf) ~~~~~~~~~~~~~~~~~~~~~^~~ scan_eaton_serial.c:105:17: note: used in buffer access here length = (int)(buf[2]) + 5; ^~~ scan_eaton_serial.c:108:15: note: used in buffer access here checksum += buf[i]; ^~~ scan_eaton_serial.c:116:50: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] unsigned char calc_checksum(const unsigned char *buf) ~~~~~~~~~~~~~~~~~~~~~^~~ scan_eaton_serial.c:122:22: note: used in buffer access here for (i = 0; i < 2 + buf[1]; i++) ^~~ scan_eaton_serial.c:123:8: note: used in buffer access here c -= buf[i]; ^~~ scan_eaton_serial.c:182:5: warning: acquiring mutex 'dev_mutex' requires negative capability '!dev_mutex' [-Wthread-safety-negative] pthread_mutex_lock(&dev_mutex); ^ scan_eaton_serial.c:162:1: note: thread warning in function 'nutscan_scan_eaton_serial_shut' { ^ scan_eaton_serial.c:222:3: warning: acquiring mutex 'dev_mutex' requires negative capability '!dev_mutex' [-Wthread-safety-negative] pthread_mutex_lock(&dev_mutex); ^ scan_eaton_serial.c:211:1: note: thread warning in function 'nutscan_scan_eaton_serial_xcp' { ^ In file included from scan_eaton_serial.c:54: ../../drivers/bcmxcp_ser.h:20:23: warning: 'pw_baud_rates' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] extern pw_baud_rate_t pw_baud_rates[]; ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ scan_eaton_serial.c:229:16: note: used in buffer access here for (i = 0; (pw_baud_rates[i].rate != 0) && (dev == NULL); i++) ^~~~~~~~~~~~~ scan_eaton_serial.c:233:43: note: used in buffer access here if (ser_set_speed_nf(devfd, port_name, pw_baud_rates[i].rate) == -1) ^~~~~~~~~~~~~ scan_eaton_serial.c:216:16: warning: 'sbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char sbuf[128]; ~~~~~~~~~~~~~~~~^~~~~~~~~ scan_eaton_serial.c:248:4: note: used in buffer access here sbuf[1] = (unsigned char)1; ^~~~ scan_eaton_serial.c:249:4: note: used in buffer access here sbuf[2] = PW_SET_REQ_ONLY_MODE; ^~~~ scan_eaton_serial.c:250:4: note: used in buffer access here sbuf[3] = calc_checksum(sbuf); ^~~~ scan_eaton_serial.c:359:11: warning: acquiring mutex 'dev_mutex' requires negative capability '!dev_mutex' [-Wthread-safety-negative] pthread_mutex_lock(&dev_mutex); ^ scan_eaton_serial.c:301:1: note: thread warning in function 'nutscan_scan_eaton_serial_q1' { ^ scan_eaton_serial.c:318:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VEOL] = '\r'; ^~~~~~~~ scan_eaton_serial.c:319:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VERASE] = _POSIX_VDISABLE; ^~~~~~~~ scan_eaton_serial.c:320:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VINTR] = _POSIX_VDISABLE; ^~~~~~~~ scan_eaton_serial.c:321:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VKILL] = _POSIX_VDISABLE; ^~~~~~~~ scan_eaton_serial.c:322:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VQUIT] = _POSIX_VDISABLE; ^~~~~~~~ scan_eaton_serial.c:323:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSUSP] = _POSIX_VDISABLE; ^~~~~~~~ scan_eaton_serial.c:324:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTART] = _POSIX_VDISABLE; ^~~~~~~~ scan_eaton_serial.c:325:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VSTOP] = _POSIX_VDISABLE; ^~~~~~~~ scan_eaton_serial.c:542:23: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] nutscan_thread_t *new_thread_array = realloc(thread_array, ^ scan_eaton_serial.c:405:9: warning: 'serial_ports_list' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char **serial_ports_list; ~~~~~~~^~~~~~~~~~~~~~~~~ scan_eaton_serial.c:532:24: note: used in buffer access here current_port_name = serial_ports_list[current_port_nb]; ^~~~~~~~~~~~~~~~~ scan_eaton_serial.c:441:9: note: used in buffer access here while (serial_ports_list[current_port_nb] != NULL) { ^~~~~~~~~~~~~~~~~ scan_eaton_serial.c:651:9: note: used in buffer access here while (serial_ports_list[i] != NULL) { ^~~~~~~~~~~~~~~~~ scan_eaton_serial.c:652:9: note: used in buffer access here free(serial_ports_list[i]); ^~~~~~~~~~~~~~~~~ scan_eaton_serial.c:412:21: warning: 'thread_array' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] nutscan_thread_t * thread_array = NULL; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ scan_eaton_serial.c:580:6: note: used in buffer access here thread_array[i].active = FALSE; ^~~~~~~~~~~~ scan_eaton_serial.c:581:25: note: used in buffer access here ret = pthread_join(thread_array[i].thread, NULL); ^~~~~~~~~~~~ scan_eaton_serial.c:607:9: note: used in buffer access here if (!thread_array[i].active) continue; ^~~~~~~~~~~~ scan_eaton_serial.c:551:5: note: used in buffer access here thread_array[thread_count - 1].thread = thread; ^~~~~~~~~~~~ scan_eaton_serial.c:552:5: note: used in buffer access here thread_array[thread_count - 1].active = TRUE; ^~~~~~~~~~~~ scan_eaton_serial.c:572:11: note: used in buffer access here if (!thread_array[i].active) { ^~~~~~~~~~~~ scan_eaton_serial.c:609:23: note: used in buffer access here ret = pthread_join(thread_array[i].thread, NULL); ^~~~~~~~~~~~ scan_eaton_serial.c:614:4: note: used in buffer access here thread_array[i].active = FALSE; ^~~~~~~~~~~~ 18 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-scan_eaton_serial.lo -MD -MP -MF .deps/libnutscan_la-scan_eaton_serial.Tpo -c scan_eaton_serial.c -o libnutscan_la-scan_eaton_serial.o >/dev/null 2>&1 mv -f .deps/libnutscan_la-scan_usb.Tpo .deps/libnutscan_la-scan_usb.Plo libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-serial.lo -MD -MP -MF .deps/libnutscan_la-nutscan-serial.Tpo -c nutscan-serial.c -fPIC -DPIC -o .libs/libnutscan_la-nutscan-serial.o /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-serial.lo -MD -MP -MF .deps/libnutscan_la-serial.Tpo -c -o libnutscan_la-serial.lo `test -f 'serial.c' || echo './'`serial.c mv -f .deps/libnutscan_la-scan_avahi.Tpo .deps/libnutscan_la-scan_avahi.Plo mv -f .deps/libnutscan_la-scan_xml_http.Tpo .deps/libnutscan_la-scan_xml_http.Plo /bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-bcmxcp_ser.lo -MD -MP -MF .deps/libnutscan_la-bcmxcp_ser.Tpo -c -o libnutscan_la-bcmxcp_ser.lo `test -f 'bcmxcp_ser.c' || echo './'`bcmxcp_ser.c libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-serial.lo -MD -MP -MF .deps/libnutscan_la-serial.Tpo -c serial.c -fPIC -DPIC -o .libs/libnutscan_la-serial.o gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[5]: Nothing to be done for 'nut-scanner-deps'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' mv -f .deps/libnutscan_la-scan_snmp.Tpo .deps/libnutscan_la-scan_snmp.Plo gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[5]: Nothing to be done for 'nut-scanner-deps'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' mv -f .deps/libnutscan_la-scan_eaton_serial.Tpo .deps/libnutscan_la-scan_eaton_serial.Plo nutscan-serial.c:90:33: warning: 'list' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static char ** add_port(char ** list, char * port) ~~~~~~~~^~~~ nutscan-serial.c:99:10: note: used in buffer access here while (list[count] != NULL) { ^~~~ nutscan-serial.c:92:10: warning: 'res' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char ** res; ~~~~~~~~^~~ nutscan-serial.c:111:2: note: used in buffer access here res[count] = strdup(port); ^~~ nutscan-serial.c:112:2: note: used in buffer access here res[count + 1] = NULL; ^~~ nutscan-serial.c:119:51: warning: 'ports_range' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char ** nutscan_get_serial_ports_list(const char *ports_range) ~~~~~~~~~~~~^~~~~~~~~~~ nutscan-serial.c:176:8: note: used in buffer access here if (ports_range[1] != 0) { ^~~~~~~~~~~ nutscan-serial.c:127:9: warning: 'tok' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char * tok; ~~~~~~~^~~ nutscan-serial.c:145:8: note: used in buffer access here if (tok[1] != 0) { ^~~ nutscan-serial.c:153:9: note: used in buffer access here if (tok[1] != 0) { ^~~ nutscan-serial.c:128:21: warning: 'cur_device' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] device_portname_t *cur_device = NULL; ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ nutscan-serial.c:191:63: note: used in pointer arithmetic here for (cur_device = device_portname; cur_device->name != NULL; cur_device++) { ^~~~~~~~~~ 5 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-nutscan-serial.lo -MD -MP -MF .deps/libnutscan_la-nutscan-serial.Tpo -c nutscan-serial.c -o libnutscan_la-nutscan-serial.o >/dev/null 2>&1 serial.c:173:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VMIN] = 1; ^~~~~~~~ serial.c:174:2: warning: unsafe buffer access [-Wunsafe-buffer-usage] tio.c_cc[VTIME] = 0; ^~~~~~~~ serial.c:362:14: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char *data = buf; ~~~~~~~~~~~~~~~~~^~~~~~~~~~ serial.c:367:20: note: used in buffer access here ret = write(fd, &data[sent], (d_usec == 0) ? (size_t)((ssize_t)buflen - sent) : 1); ^~~~ serial.c:400:8: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *data = buf; ~~~~~~~~~^~~~~~~~~~ serial.c:407:26: note: used in buffer access here ret = select_read(fd, &data[recv], ^~~~ serial.c:426:7: warning: 'tmp' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char tmp[64]; ~~~~~~~~^~~~~~~ serial.c:444:32: note: used in buffer access here if ((count == maxcount) || (tmp[i] == endchar)) { ^~~ serial.c:448:23: note: used in buffer access here if (strchr(ignset, tmp[i])) ^~~ serial.c:451:25: note: used in buffer access here if (strchr(alertset, tmp[i])) { ^~~ serial.c:458:20: note: used in buffer access here data[count++] = tmp[i]; ^~~ serial.c:453:14: note: used in buffer access here handler(tmp[i]); ^~~ serial.c:427:8: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *data = buf; ~~~~~~~~~^~~~~~~~~~ serial.c:458:4: note: used in buffer access here data[count++] = tmp[i]; ^~~~ 6 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-serial.lo -MD -MP -MF .deps/libnutscan_la-serial.Tpo -c serial.c -o libnutscan_la-serial.o >/dev/null 2>&1 mv -f .deps/libnutscan_la-nutscan-serial.Tpo .deps/libnutscan_la-nutscan-serial.Plo libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-bcmxcp_ser.lo -MD -MP -MF .deps/libnutscan_la-bcmxcp_ser.Tpo -c bcmxcp_ser.c -fPIC -DPIC -o .libs/libnutscan_la-bcmxcp_ser.o mv -f .deps/libnutscan_la-serial.Tpo .deps/libnutscan_la-serial.Plo bcmxcp_ser.c:40:16: warning: 'sbuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char sbuf[1024]; ~~~~~~~~~~~~~~^~~~~~~~~~ bcmxcp_ser.c:49:2: note: used in buffer access here sbuf[1] = (unsigned char)(command_length); ^~~~ bcmxcp_ser.c:50:9: note: used in pointer arithmetic here memcpy(sbuf+2, command, command_length); ^~~~ bcmxcp_ser.c:54:2: note: used in buffer access here sbuf[command_length] = calc_checksum(sbuf); ^~~~ bcmxcp_ser.c:90:35: warning: 'data' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] ssize_t get_answer(unsigned char *data, unsigned char command) ~~~~~~~~~~~~~~~^~~~ bcmxcp_ser.c:210:10: note: used in pointer arithmetic here memcpy(data+end_length, my_buf + 4, length); ^~~~ bcmxcp_ser.c:92:16: warning: 'my_buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char my_buf[128]; /* packet has a maximum length of 121+5 bytes */ ~~~~~~~~~~~~~~~~^~~~~~~~~~~ bcmxcp_ser.c:127:33: note: used in buffer access here block_number = (unsigned char)my_buf[1]; ^~~~~~ bcmxcp_ser.c:120:29: note: used in pointer arithmetic here res = ser_get_char(upsfd, my_buf + 1, 1, 0); ^~~~~~ bcmxcp_ser.c:149:29: note: used in pointer arithmetic here res = ser_get_char(upsfd, my_buf + 2, 1, 0); ^~~~~~ bcmxcp_ser.c:171:29: note: used in buffer access here sequence = (unsigned char)my_buf[3]; ^~~~~~ bcmxcp_ser.c:156:27: note: used in buffer access here length = (unsigned char)my_buf[2]; ^~~~~~ bcmxcp_ser.c:164:29: note: used in pointer arithmetic here res = ser_get_char(upsfd, my_buf + 3, 1, 0); ^~~~~~ bcmxcp_ser.c:185:32: note: used in pointer arithmetic here res = ser_get_buf_len(upsfd, my_buf + 4, length, 1, 0); ^~~~~~ bcmxcp_ser.c:197:29: note: used in pointer arithmetic here res = ser_get_char(upsfd, my_buf + (4 + length), 1, 0); ^~~~~~ bcmxcp_ser.c:210:27: note: used in pointer arithmetic here memcpy(data+end_length, my_buf + 4, length); ^~~~~~ bcmxcp_ser.c:273:22: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] void upsdrv_comm_good() ^ void bcmxcp_ser.c:23:16: warning: 'pw_baud_rates' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] pw_baud_rate_t pw_baud_rates[] = { ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ bcmxcp_ser.c:352:16: note: used in buffer access here if (baud == pw_baud_rates[i].name) { ^~~~~~~~~~~~~ bcmxcp_ser.c:353:14: note: used in buffer access here mybaud = pw_baud_rates[i].rate; ^~~~~~~~~~~~~ bcmxcp_ser.c:388:37: note: used in buffer access here ser_set_speed(upsfd, device_path, pw_baud_rates[i].rate); ^~~~~~~~~~~~~ bcmxcp_ser.c:400:72: note: used in buffer access here upslogx(LOG_INFO, "Connected to UPS on %s with baudrate %zu", port, pw_baud_rates[i].name); ^~~~~~~~~~~~~ bcmxcp_ser.c:404:70: note: used in buffer access here upsdebugx(2, "No response from UPS on %s with baudrate %zu", port, pw_baud_rates[i].name); ^~~~~~~~~~~~~ ../../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ 5 warnings generated. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../../include -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT libnutscan_la-bcmxcp_ser.lo -MD -MP -MF .deps/libnutscan_la-bcmxcp_ser.Tpo -c bcmxcp_ser.c -o libnutscan_la-bcmxcp_ser.o >/dev/null 2>&1 mv -f .deps/libnutscan_la-bcmxcp_ser.Tpo .deps/libnutscan_la-bcmxcp_ser.Plo /bin/sh ../../libtool --tag=CC --mode=link cc -I../../clients -I../../include -I../../drivers -I/usr/local/include -I/usr/local/include/neon -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -pthread -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -lutil -version-info 2:0:0 -export-symbols-regex '^(nutscan_|nut_debug_level|s_upsdebugx|max_threads|curr_threads)' -fstack-protector-strong -o libnutscan.la -rpath /usr/local/lib libnutscan_la-scan_nut.lo libnutscan_la-scan_ipmi.lo libnutscan_la-nutscan-device.lo libnutscan_la-nutscan-ip.lo libnutscan_la-nutscan-display.lo libnutscan_la-nutscan-init.lo libnutscan_la-scan_usb.lo libnutscan_la-scan_snmp.lo libnutscan_la-scan_xml_http.lo libnutscan_la-scan_avahi.lo libnutscan_la-scan_eaton_serial.lo libnutscan_la-nutscan-serial.lo libnutscan_la-serial.lo libnutscan_la-bcmxcp_ser.lo -lltdl ../../common/libcommonclient.la -lssl -lcrypto -lpthread libtool: link: /usr/bin/nm .libs/libnutscan_la-scan_nut.o .libs/libnutscan_la-scan_ipmi.o .libs/libnutscan_la-nutscan-device.o .libs/libnutscan_la-nutscan-ip.o .libs/libnutscan_la-nutscan-display.o .libs/libnutscan_la-nutscan-init.o .libs/libnutscan_la-scan_usb.o .libs/libnutscan_la-scan_snmp.o .libs/libnutscan_la-scan_xml_http.o .libs/libnutscan_la-scan_avahi.o .libs/libnutscan_la-scan_eaton_serial.o .libs/libnutscan_la-nutscan-serial.o .libs/libnutscan_la-serial.o .libs/libnutscan_la-bcmxcp_ser.o ../../common/.libs/libcommonclient.a | sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libnutscan.exp libtool: link: /usr/bin/egrep -e "^(nutscan_|nut_debug_level|s_upsdebugx|max_threads|curr_threads)" ".libs/libnutscan.exp" > ".libs/libnutscan.expT" libtool: link: mv -f ".libs/libnutscan.expT" ".libs/libnutscan.exp" libtool: link: echo "{ global:" > .libs/libnutscan.so.2.0.0-ver libtool: link: sed -e "s|$|;|" < .libs/libnutscan.exp >> .libs/libnutscan.so.2.0.0-ver libtool: link: echo "local: *; };" >> .libs/libnutscan.so.2.0.0-ver libtool: link: cc -shared -fPIC -DPIC .libs/libnutscan_la-scan_nut.o .libs/libnutscan_la-scan_ipmi.o .libs/libnutscan_la-nutscan-device.o .libs/libnutscan_la-nutscan-ip.o .libs/libnutscan_la-nutscan-display.o .libs/libnutscan_la-nutscan-init.o .libs/libnutscan_la-scan_usb.o .libs/libnutscan_la-scan_snmp.o .libs/libnutscan_la-scan_xml_http.o .libs/libnutscan_la-scan_avahi.o .libs/libnutscan_la-scan_eaton_serial.o .libs/libnutscan_la-nutscan-serial.o .libs/libnutscan_la-serial.o .libs/libnutscan_la-bcmxcp_ser.o -Wl,--whole-archive ../../common/.libs/libcommonclient.a -Wl,--no-whole-archive -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -L/usr/local/lib -lutil /usr/local/lib/libltdl.so -lssl -lcrypto -lpthread -pthread -O2 -fstack-protector-strong -fstack-protector-strong -pthread -Wl,-soname -Wl,libnutscan.so.2 -Wl,-version-script -Wl,.libs/libnutscan.so.2.0.0-ver -o .libs/libnutscan.so.2.0.0 libtool: link: (cd ".libs" && rm -f "libnutscan.so.2" && ln -s "libnutscan.so.2.0.0" "libnutscan.so.2") libtool: link: (cd ".libs" && rm -f "libnutscan.so" && ln -s "libnutscan.so.2.0.0" "libnutscan.so") libtool: link: (cd .libs/libnutscan.lax/libcommonclient.a && /usr/bin/ar x "/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner/../../common/.libs/libcommonclient.a") libtool: link: /usr/bin/ar cr .libs/libnutscan.a libnutscan_la-scan_nut.o libnutscan_la-scan_ipmi.o libnutscan_la-nutscan-device.o libnutscan_la-nutscan-ip.o libnutscan_la-nutscan-display.o libnutscan_la-nutscan-init.o libnutscan_la-scan_usb.o libnutscan_la-scan_snmp.o libnutscan_la-scan_xml_http.o libnutscan_la-scan_avahi.o libnutscan_la-scan_eaton_serial.o libnutscan_la-nutscan-serial.o libnutscan_la-serial.o libnutscan_la-bcmxcp_ser.o .libs/libnutscan.lax/libcommonclient.a/common.o .libs/libnutscan.lax/libcommonclient.a/parseconf.o .libs/libnutscan.lax/libcommonclient.a/state.o .libs/libnutscan.lax/libcommonclient.a/str.o libtool: link: ranlib .libs/libnutscan.a libtool: link: rm -fr .libs/libnutscan.lax libtool: link: ( cd ".libs" && rm -f "libnutscan.la" && ln -s "../libnutscan.la" "libnutscan.la" ) /bin/sh ../../libtool --tag=CC --mode=link cc -I../../clients -I../../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o nut-scanner nut_scanner-nut-scanner.o libnutscan.la -lpthread libtool: link: cc -I../../clients -I../../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o .libs/nut-scanner nut_scanner-nut-scanner.o -L/usr/local/lib ./.libs/libnutscan.so -lpthread -pthread -Wl,-rpath -Wl,/usr/local/lib gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' Making all in lib gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/lib' gmake[2]: Nothing to be done for 'all'. gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/lib' Making all in scripts gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' Making all in augeas gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/augeas' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/augeas' Making all in devd gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/devd' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/devd' Making all in hotplug gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/hotplug' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/hotplug' Making all in python gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/python' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/python' Making all in systemd gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/systemd' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/systemd' Making all in udev gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/udev' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/udev' Making all in ufw gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/ufw' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/ufw' Making all in Solaris gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/Solaris' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/Solaris' Making all in upsdrvsvcctl gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/upsdrvsvcctl' gmake[3]: Nothing to be done for 'all'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/upsdrvsvcctl' gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' gmake[3]: Nothing to be done for 'all-am'. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' Making all in server gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/server' depbase=`echo upsd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT upsd.o -MD -MP -MF $depbase.Tpo -c -o upsd.o upsd.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo user.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT user.o -MD -MP -MF $depbase.Tpo -c -o user.o user.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo conf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT conf.o -MD -MP -MF $depbase.Tpo -c -o conf.o conf.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo netssl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT netssl.o -MD -MP -MF $depbase.Tpo -c -o netssl.o netssl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo sstate.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT sstate.o -MD -MP -MF $depbase.Tpo -c -o sstate.o sstate.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo desc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT desc.o -MD -MP -MF $depbase.Tpo -c -o desc.o desc.c &&\ mv -f $depbase.Tpo $depbase.Po user.c:376:54: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void parse_rest(char *var, char *fval, char **arg, size_t next, size_t left) ~~~~~~~^~~ user.c:392:18: note: used in buffer access here parse_var(var, arg[next + i]); ^~~ user.c:425:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] if ((arg[0][0] == '[') && (arg[0][strlen(arg[0])-1] == ']')) { ^~~~~~ user.c:427:3: warning: unsafe buffer access [-Wunsafe-buffer-usage] arg[0][strlen(arg[0])-1] = '\0'; ^~~~~~ user.c:428:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] user_add(&arg[0][1]); ^~~~~~ user.c:396:51: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void user_parse_arg(size_t numargs, char **arg) ~~~~~~~^~~ user.c:447:14: note: used in buffer access here if (!strcmp(arg[1], "=")) { ^~~ user.c:438:19: note: used in buffer access here set_upsmon_type(arg[1]); ^~~ user.c:454:22: note: used in buffer access here parse_rest(arg[0], arg[2], arg, 3, (numargs < 4) ? 0 : (numargs - 3)); ^~~ user.c:398:8: warning: 'ep' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] char *ep; ~~~~~~~~~^~ user.c:420:22: note: used in pointer arithmetic here parse_rest(arg[0], ep+1, arg, 1, (numargs < 2) ? 0 : (numargs - 1)); ^~ 6 warnings generated. depbase=`echo netget.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT netget.o -MD -MP -MF $depbase.Tpo -c -o netget.o netget.c &&\ mv -f $depbase.Tpo $depbase.Po desc.c:123:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] desc_add(&cmd_list, ctx.arglist[1], ctx.arglist[2]); ^~~~~~~~~~~ desc.c:123:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] desc_add(&cmd_list, ctx.arglist[1], ctx.arglist[2]); ^~~~~~~~~~~ desc.c:128:24: warning: unsafe buffer access [-Wunsafe-buffer-usage] desc_add(&var_list, ctx.arglist[1], ctx.arglist[2]); ^~~~~~~~~~~ desc.c:128:40: warning: unsafe buffer access [-Wunsafe-buffer-usage] desc_add(&var_list, ctx.arglist[1], ctx.arglist[2]); ^~~~~~~~~~~ 4 warnings generated. depbase=`echo netmisc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT netmisc.o -MD -MP -MF $depbase.Tpo -c -o netmisc.o netmisc.c &&\ mv -f $depbase.Tpo $depbase.Po netssl.c:649:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int iret = SSL_read(client->ssl, buf, (int)buflen); ^ netssl.c:682:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int iret = SSL_write(client->ssl, buf, (int)buflen); ^ 2 warnings generated. depbase=`echo netlist.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT netlist.o -MD -MP -MF $depbase.Tpo -c -o netlist.o netlist.c &&\ mv -f $depbase.Tpo $depbase.Po sstate.c:40:62: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int parse_args(upstype_t *ups, size_t numargs, char **arg) ~~~~~~~^~~ sstate.c:72:31: note: used in buffer access here state_addcmd(&ups->cmdlist, arg[1]); ^~~ sstate.c:78:31: note: used in buffer access here state_delcmd(&ups->cmdlist, arg[1]); ^~~ sstate.c:84:33: note: used in buffer access here state_delinfo(&ups->inforoot, arg[1]); ^~~ sstate.c:99:33: note: used in buffer access here state_setinfo(&ups->inforoot, arg[1], arg[2]); ^~~ sstate.c:93:33: note: used in buffer access here state_setflags(ups->inforoot, arg[1], numargs - 2, &arg[2]); ^~~ sstate.c:93:55: note: used in buffer access here state_setflags(ups->inforoot, arg[1], numargs - 2, &arg[2]); ^~~ sstate.c:99:41: note: used in buffer access here state_setinfo(&ups->inforoot, arg[1], arg[2]); ^~~ sstate.c:105:32: note: used in buffer access here state_addenum(ups->inforoot, arg[1], arg[2]); ^~~ sstate.c:105:40: note: used in buffer access here state_addenum(ups->inforoot, arg[1], arg[2]); ^~~ sstate.c:111:32: note: used in buffer access here state_delenum(ups->inforoot, arg[1], arg[2]); ^~~ sstate.c:111:40: note: used in buffer access here state_delenum(ups->inforoot, arg[1], arg[2]); ^~~ sstate.c:117:31: note: used in buffer access here state_setaux(ups->inforoot, arg[1], arg[2]); ^~~ sstate.c:117:39: note: used in buffer access here state_setaux(ups->inforoot, arg[1], arg[2]); ^~~ sstate.c:123:16: note: used in buffer access here tracking_set(arg[1], arg[2]); ^~~ sstate.c:123:24: note: used in buffer access here tracking_set(arg[1], arg[2]); ^~~ sstate.c:124:45: note: used in buffer access here upsdebugx(1, "TRACKING: ID %s status %s", arg[1], arg[2]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ sstate.c:124:53: note: used in buffer access here upsdebugx(1, "TRACKING: ID %s status %s", arg[1], arg[2]); ^~~ ../include/common.h:189:62: note: expanded from macro 'upsdebugx' do { if (nut_debug_level >= (level)) { s_upsdebugx((level), __VA_ARGS__); } } while(0) ^~~~~~~~~~~ sstate.c:127:15: note: used in buffer access here if (strncmp(arg[2], "PENDING", 7) != 0) { ^~~ sstate.c:128:53: note: used in buffer access here upslogx(LOG_INFO, "tracking ID: %s\tresult: %s", arg[1], tracking_get(arg[1])); ^~~ sstate.c:128:74: note: used in buffer access here upslogx(LOG_INFO, "tracking ID: %s\tresult: %s", arg[1], tracking_get(arg[1])); ^~~ sstate.c:138:33: note: used in buffer access here state_addrange(ups->inforoot, arg[1], atoi(arg[2]), atoi(arg[3])); ^~~ sstate.c:138:46: note: used in buffer access here state_addrange(ups->inforoot, arg[1], atoi(arg[2]), atoi(arg[3])); ^~~ sstate.c:138:60: note: used in buffer access here state_addrange(ups->inforoot, arg[1], atoi(arg[2]), atoi(arg[3])); ^~~ sstate.c:144:33: note: used in buffer access here state_delrange(ups->inforoot, arg[1], atoi(arg[2]), atoi(arg[3])); ^~~ sstate.c:144:46: note: used in buffer access here state_delrange(ups->inforoot, arg[1], atoi(arg[2]), atoi(arg[3])); ^~~ sstate.c:144:60: note: used in buffer access here state_delrange(ups->inforoot, arg[1], atoi(arg[2]), atoi(arg[3])); ^~~ sstate.c:275:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ sstate.c:299:38: note: used in buffer access here switch (pconf_char(&ups->sock_ctx, buf[i])) ^~~ 2 warnings generated. conf.c:142:56: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int parse_upsd_conf_args(size_t numargs, char **arg) ~~~~~~~^~~ conf.c:152:20: note: used in buffer access here if ( str_to_int (arg[1], &lvl, 10) && lvl >= 0 ) { ^~~ conf.c:162:23: note: used in buffer access here if (isdigit((size_t)arg[1][0])) { ^~~ /usr/include/ctype.h:92:32: note: expanded from macro 'isdigit' #define isdigit(c) __sbistype((c), _CTYPE_D) ^ conf.c:163:18: note: used in buffer access here maxage = atoi(arg[1]); ^~~ conf.c:175:26: note: used in buffer access here tracking_delay = atoi(arg[1]); ^~~ conf.c:167:59: note: used in buffer access here upslogx(LOG_ERR, "MAXAGE has non numeric value (%s)!", arg[1]); ^~~ conf.c:174:23: note: used in buffer access here if (isdigit((size_t)arg[1][0])) { ^~~ /usr/include/ctype.h:92:32: note: expanded from macro 'isdigit' #define isdigit(c) __sbistype((c), _CTYPE_D) ^ conf.c:179:66: note: used in buffer access here upslogx(LOG_ERR, "TRACKINGDELAY has non numeric value (%s)!", arg[1]); ^~~ conf.c:186:23: note: used in buffer access here if (isdigit((size_t)arg[1][0])) { ^~~ /usr/include/ctype.h:92:32: note: expanded from macro 'isdigit' #define isdigit(c) __sbistype((c), _CTYPE_D) ^ conf.c:187:28: note: used in buffer access here allow_no_device = (atoi(arg[1]) != 0); /* non-zero arg is true here */ ^~~ conf.c:190:21: note: used in buffer access here if (parse_boolean(arg[1], &allow_no_device)) ^~~ conf.c:193:83: note: used in buffer access here upslogx(LOG_ERR, "ALLOW_NO_DEVICE has non numeric and non boolean value (%s)!", arg[1]); ^~~ conf.c:199:23: note: used in buffer access here if (isdigit((size_t)arg[1][0])) { ^~~ /usr/include/ctype.h:92:32: note: expanded from macro 'isdigit' #define isdigit(c) __sbistype((c), _CTYPE_D) ^ conf.c:201:27: note: used in buffer access here maxconn = (nfds_t)atol(arg[1]); ^~~ conf.c:205:60: note: used in buffer access here upslogx(LOG_ERR, "MAXCONN has non numeric value (%s)!", arg[1]); ^~~ conf.c:213:23: note: used in buffer access here statepath = xstrdup(arg[1]); ^~~ conf.c:220:22: note: used in buffer access here datapath = xstrdup(arg[1]); ^~~ conf.c:228:22: note: used in buffer access here certfile = xstrdup(arg[1]); ^~~ conf.c:256:21: note: used in buffer access here if (parse_boolean(arg[1], &disable_weak_ssl)) ^~~ conf.c:259:68: note: used in buffer access here upslogx(LOG_ERR, "DISABLE_WEAK_SSL has non boolean value (%s)!", arg[1]); ^~~ conf.c:279:15: note: used in buffer access here listen_add(arg[1], string_const(PORT)); ^~~ conf.c:281:15: note: used in buffer access here listen_add(arg[1], arg[2]); ^~~ conf.c:281:23: note: used in buffer access here listen_add(arg[1], arg[2]); ^~~ conf.c:363:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] ctx.arglist[i]); ^~~~~~~~~~~ 2 warnings generated. depbase=`echo netuser.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT netuser.o -MD -MP -MF $depbase.Tpo -c -o netuser.o netuser.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo netset.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT netset.o -MD -MP -MF $depbase.Tpo -c -o netset.o netset.c &&\ mv -f $depbase.Tpo $depbase.Po In file included from upsd.c:30: ./netcmds.h:50:3: warning: 'netcmds' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } netcmds[] = { ~~^~~~~~~~~~~~~ upsd.c:458:6: note: used in buffer access here if (netcmds[cmdnum].flags & FLAG_USER) { ^~~~~~~ upsd.c:494:2: note: used in buffer access here netcmds[cmdnum].func(client, (numarg < 2) ? 0 : (numarg - 1), (numarg > 1) ? &arg[1] : NULL); ^~~~~~~ upsd.c:454:15: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] const char **arg) ~~~~~~~~~~~~~^~~ upsd.c:494:80: note: used in buffer access here netcmds[cmdnum].func(client, (numarg < 2) ? 0 : (numarg - 1), (numarg > 1) ? &arg[1] : NULL); ^~~ In file included from upsd.c:30: ./netcmds.h:50:3: warning: 'netcmds' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } netcmds[] = { ~~^~~~~~~~~~~~~ upsd.c:508:14: note: used in buffer access here for (i = 0; netcmds[i].name; i++) { ^~~~~~~ upsd.c:509:19: note: used in buffer access here if (!strcasecmp(netcmds[i].name, client->ctx.arglist[0])) { ^~~~~~~ upsd.c:572:7: warning: 'buf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] char buf[SMALLBUF]; ~~~~~~~~^~~~~~~~~~~~~ upsd.c:601:36: note: used in buffer access here switch (pconf_char(&client->ctx, buf[i])) ^~~ upsd.c:749:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] size_t maxalloc = SIZE_MAX / sizeof(void *); ^ upsd.c:954:10: warning: 'nut_uuid' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint8_t nut_uuid[UUID4_BYTESIZE]; ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ upsd.c:960:3: note: used in buffer access here nut_uuid[i] = (uint8_t)rand() + (uint8_t)rand(); ^~~~~~~~ upsd.c:963:2: note: used in buffer access here nut_uuid[6] = (nut_uuid[6] & 0x0F) | 0x40; ^~~~~~~~ upsd.c:963:17: note: used in buffer access here nut_uuid[6] = (nut_uuid[6] & 0x0F) | 0x40; ^~~~~~~~ upsd.c:968:16: note: used in buffer access here nut_uuid[0], nut_uuid[1], nut_uuid[2], nut_uuid[3], ^~~~~~~~ upsd.c:964:2: note: used in buffer access here nut_uuid[8] = (nut_uuid[8] & 0x3F) | 0x80; ^~~~~~~~ upsd.c:964:17: note: used in buffer access here nut_uuid[8] = (nut_uuid[8] & 0x3F) | 0x80; ^~~~~~~~ upsd.c:968:29: note: used in buffer access here nut_uuid[0], nut_uuid[1], nut_uuid[2], nut_uuid[3], ^~~~~~~~ upsd.c:968:42: note: used in buffer access here nut_uuid[0], nut_uuid[1], nut_uuid[2], nut_uuid[3], ^~~~~~~~ upsd.c:969:3: note: used in buffer access here nut_uuid[4], nut_uuid[5], nut_uuid[6], nut_uuid[7], ^~~~~~~~ upsd.c:969:16: note: used in buffer access here nut_uuid[4], nut_uuid[5], nut_uuid[6], nut_uuid[7], ^~~~~~~~ upsd.c:969:29: note: used in buffer access here nut_uuid[4], nut_uuid[5], nut_uuid[6], nut_uuid[7], ^~~~~~~~ upsd.c:969:42: note: used in buffer access here nut_uuid[4], nut_uuid[5], nut_uuid[6], nut_uuid[7], ^~~~~~~~ upsd.c:970:3: note: used in buffer access here nut_uuid[8], nut_uuid[9], nut_uuid[10], nut_uuid[11], ^~~~~~~~ upsd.c:970:16: note: used in buffer access here nut_uuid[8], nut_uuid[9], nut_uuid[10], nut_uuid[11], ^~~~~~~~ upsd.c:970:29: note: used in buffer access here nut_uuid[8], nut_uuid[9], nut_uuid[10], nut_uuid[11], ^~~~~~~~ upsd.c:970:43: note: used in buffer access here nut_uuid[8], nut_uuid[9], nut_uuid[10], nut_uuid[11], ^~~~~~~~ upsd.c:971:3: note: used in buffer access here nut_uuid[12], nut_uuid[13], nut_uuid[14], nut_uuid[15]); ^~~~~~~~ upsd.c:971:17: note: used in buffer access here nut_uuid[12], nut_uuid[13], nut_uuid[14], nut_uuid[15]); ^~~~~~~~ upsd.c:971:31: note: used in buffer access here nut_uuid[12], nut_uuid[13], nut_uuid[14], nut_uuid[15]); ^~~~~~~~ upsd.c:971:45: note: used in buffer access here nut_uuid[12], nut_uuid[13], nut_uuid[14], nut_uuid[15]); ^~~~~~~~ upsd.c:129:23: warning: 'fds' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static struct pollfd *fds = NULL; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ upsd.c:1083:7: note: used in buffer access here if (fds[i].revents & (POLLHUP|POLLERR|POLLNVAL)) { ^~~ upsd.c:1059:3: note: used in buffer access here fds[nfds].events = POLLIN; ^~~ upsd.c:1058:3: note: used in buffer access here fds[nfds].fd = server->sock_fd; ^~~ upsd.c:1042:3: note: used in buffer access here fds[nfds].fd = client->sock_fd; ^~~ upsd.c:1043:3: note: used in buffer access here fds[nfds].events = POLLIN; ^~~ upsd.c:1017:3: note: used in buffer access here fds[nfds].events = POLLIN; ^~~ upsd.c:1016:3: note: used in buffer access here fds[nfds].fd = ups->sock_fd; ^~~ upsd.c:1131:7: note: used in buffer access here if (fds[i].revents & POLLIN) { ^~~ upsd.c:130:19: warning: 'handler' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static handler_t *handler = NULL; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ upsd.c:1088:36: note: used in buffer access here sstate_disconnect((upstype_t *)handler[i].data); ^~~~~~~ upsd.c:1085:11: note: used in buffer access here switch(handler[i].type) ^~~~~~~ upsd.c:1091:38: note: used in buffer access here client_disconnect((nut_ctype_t *)handler[i].data); ^~~~~~~ upsd.c:1061:3: note: used in buffer access here handler[nfds].type = SERVER; ^~~~~~~ upsd.c:1062:3: note: used in buffer access here handler[nfds].data = server; ^~~~~~~ upsd.c:1045:3: note: used in buffer access here handler[nfds].type = CLIENT; ^~~~~~~ upsd.c:1046:3: note: used in buffer access here handler[nfds].data = client; ^~~~~~~ upsd.c:1020:3: note: used in buffer access here handler[nfds].data = ups; ^~~~~~~ upsd.c:1019:3: note: used in buffer access here handler[nfds].type = DRIVER; ^~~~~~~ upsd.c:1133:11: note: used in buffer access here switch(handler[i].type) ^~~~~~~ upsd.c:1136:34: note: used in buffer access here sstate_readline((upstype_t *)handler[i].data); ^~~~~~~ upsd.c:1139:36: note: used in buffer access here client_readline((nut_ctype_t *)handler[i].data); ^~~~~~~ upsd.c:1142:31: note: used in buffer access here client_connect((stype_t *)handler[i].data); ^~~~~~~ upsd.c:1267:27: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] int main(int argc, char **argv) ~~~~~~~^~~~ upsd.c:1405:2: note: used in pointer arithmetic here argv += optind; ^~~~ 9 warnings generated. netget.c:217:63: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void net_get(nut_ctype_t *client, size_t numarg, const char **arg) ~~~~~~~~~~~~~^~~ netget.c:231:43: note: used in buffer access here sendback(client, "%s\n", tracking_get(arg[1])); ^~~ netget.c:245:25: note: used in buffer access here get_numlogins(client, arg[1]); ^~~ netget.c:251:23: note: used in buffer access here get_upsdesc(client, arg[1]); ^~~ netget.c:268:20: note: used in buffer access here get_type(client, arg[1], arg[2]); ^~~ netget.c:262:19: note: used in buffer access here get_var(client, arg[1], arg[2]); ^~~ netget.c:262:27: note: used in buffer access here get_var(client, arg[1], arg[2]); ^~~ netget.c:268:28: note: used in buffer access here get_type(client, arg[1], arg[2]); ^~~ netget.c:274:20: note: used in buffer access here get_desc(client, arg[1], arg[2]); ^~~ netget.c:274:28: note: used in buffer access here get_desc(client, arg[1], arg[2]); ^~~ netget.c:280:23: note: used in buffer access here get_cmddesc(client, arg[1], arg[2]); ^~~ netget.c:280:31: note: used in buffer access here get_cmddesc(client, arg[1], arg[2]); ^~~ 1 warning generated. depbase=`echo netinstcmd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT netinstcmd.o -MD -MP -MF $depbase.Tpo -c -o netinstcmd.o netinstcmd.c &&\ mv -f $depbase.Tpo $depbase.Po netlist.c:288:64: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void net_list(nut_ctype_t *client, size_t numarg, const char **arg) ~~~~~~~~~~~~~^~~ netlist.c:308:20: note: used in buffer access here list_var(client, arg[1]); ^~~ netlist.c:314:19: note: used in buffer access here list_rw(client, arg[1]); ^~~ netlist.c:320:20: note: used in buffer access here list_cmd(client, arg[1]); ^~~ netlist.c:337:29: note: used in buffer access here list_enum(client, arg[1], arg[2]); ^~~ netlist.c:326:24: note: used in buffer access here list_clients(client, arg[1]); ^~~ netlist.c:337:21: note: used in buffer access here list_enum(client, arg[1], arg[2]); ^~~ netlist.c:343:22: note: used in buffer access here list_range(client, arg[1], arg[2]); ^~~ netlist.c:343:30: note: used in buffer access here list_range(client, arg[1], arg[2]); ^~~ 1 warning generated. gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: 'libcommon.la' is up to date. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: 'libparseconf.la' is up to date. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' netset.c:173:63: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void net_set(nut_ctype_t *client, size_t numarg, const char **arg) ~~~~~~~~~~~~~^~~ netset.c:195:19: note: used in buffer access here set_var(client, arg[1], arg[2], arg[3], tracking_id); ^~~ netset.c:195:27: note: used in buffer access here set_var(client, arg[1], arg[2], arg[3], tracking_id); ^~~ netset.c:195:35: note: used in buffer access here set_var(client, arg[1], arg[2], arg[3], tracking_id); ^~~ netset.c:202:19: note: used in buffer access here if (!strcasecmp(arg[1], "ON")) { ^~~ netset.c:206:24: note: used in buffer access here else if (!strcasecmp(arg[1], "OFF")) { ^~~ 1 warning generated. netinstcmd.c:111:67: warning: 'arg' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void net_instcmd(nut_ctype_t *client, size_t numarg, const char **arg) ~~~~~~~~~~~~~^~~ netinstcmd.c:126:12: note: used in buffer access here cmdname = arg[1]; ^~~ netinstcmd.c:128:14: note: used in buffer access here cmdparam = arg[2]; ^~~ 1 warning generated. /bin/sh ../libtool --tag=CC --mode=link cc -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsd upsd.o user.o conf.o netssl.o sstate.o desc.o netget.o netmisc.o netlist.o netuser.o netset.o netinstcmd.o ../common/libcommon.la ../common/libparseconf.la -lwrap -lssl -lcrypto -lpthread libtool: link: cc -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o upsd upsd.o user.o conf.o netssl.o sstate.o desc.o netget.o netmisc.o netlist.o netuser.o netset.o netinstcmd.o -L/usr/local/lib ../common/.libs/libcommon.a ../common/.libs/libparseconf.a -lwrap -lssl -lcrypto -lpthread gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/server' Making all in tests gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' test -s "hidparser.c" || ln -s -f "../drivers/hidparser.c" "hidparser.c" depbase=`echo nutlogtest.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ cc -DHAVE_CONFIG_H -I. -I../include -I../include -I../drivers -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT nutlogtest.o -MD -MP -MF $depbase.Tpo -c -o nutlogtest.o nutlogtest.c &&\ mv -f $depbase.Tpo $depbase.Po cc -DHAVE_CONFIG_H -I. -I../include -I../include -I../drivers -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT getvaluetest-getvaluetest.o -MD -MP -MF .deps/getvaluetest-getvaluetest.Tpo -c -o getvaluetest-getvaluetest.o `test -f 'getvaluetest.c' || echo './'`getvaluetest.c gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: 'libcommon.la' is up to date. gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' cc -DHAVE_CONFIG_H -I. -I../include -I../include -I../drivers -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -MT getvaluetest-hidparser.o -MD -MP -MF .deps/getvaluetest-hidparser.Tpo -c -o getvaluetest-hidparser.o `test -f 'hidparser.c' || echo './'`hidparser.c /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I../drivers -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o nutlogtest nutlogtest.o ../common/libcommon.la -lpthread getvaluetest.c:56:38: warning: 'buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static void PrintBufAndData(uint8_t *buf, size_t bufSize, HIDData_t *pData) { ~~~~~~~~~^~~ getvaluetest.c:61:19: note: used in buffer access here printf("%02x ", buf[i]); ^~~ getvaluetest.c:63:19: note: used in buffer access here printf("%02x\"", buf[bufSize - 1]); ^~~ getvaluetest.c:71:6: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] int exitStatus = 0; ^ getvaluetest.c:74:10: warning: 'reportBuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint8_t reportBuf[64]; ~~~~~~~~^~~~~~~~~~~~~ getvaluetest.c:111:4: note: used in buffer access here reportBuf[bufSize] = (uint8_t) strtol(next, (char **)&next, 16); ^~~~~~~~~ getvaluetest.c:85:4: warning: 'testData' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] } testData[] = { ~~^~~~~~~~~~~~~~ getvaluetest.c:109:10: note: used in buffer access here next = testData[i].buf; ^~~~~~~~ getvaluetest.c:114:17: note: used in buffer access here data.Offset = testData[i].Offset; ^~~~~~~~ getvaluetest.c:117:17: note: used in buffer access here data.LogMax = testData[i].LogMax; ^~~~~~~~ getvaluetest.c:115:15: note: used in buffer access here data.Size = testData[i].Size; ^~~~~~~~ getvaluetest.c:116:17: note: used in buffer access here data.LogMin = testData[i].LogMin; ^~~~~~~~ getvaluetest.c:123:16: note: used in buffer access here if (value == testData[i].expectedValue) { ^~~~~~~~ getvaluetest.c:126:52: note: used in buffer access here printf(" value %ld FAIL expected %ld\n", value, testData[i].expectedValue); ^~~~~~~~ getvaluetest.c:138:16: warning: 'bufC' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] usb_ctrl_char bufC[2]; ~~~~~~~~~~~~~~~~^~~~~~~ getvaluetest.c:146:2: note: used in buffer access here bufC[1] = (usb_ctrl_char)0x01; ^~~~ getvaluetest.c:165:21: note: used in buffer access here rdlen = bufC[0] | (bufC[1] << 8); ^~~~ getvaluetest.c:178:39: note: used in buffer access here rdlen = (uint8_t)bufC[0] | ((uint8_t)bufC[1] << 8); ^~~~ getvaluetest.c:191:42: note: used in buffer access here rdlen = ((uint8_t)bufC[0]) | (((uint8_t)bufC[1]) << 8); ^~~~ getvaluetest.c:204:56: note: used in buffer access here rdlen = ((uint16_t)(bufC[0]) & 0x00FF) | (((uint16_t)(bufC[1]) & 0x00FF) << 8); ^~~~ getvaluetest.c:217:26: note: used in buffer access here rdlen = 256 * (uint8_t)(bufC[1]) + (uint8_t)(bufC[0]); ^~~~ getvaluetest.c:139:14: warning: 'bufS' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] signed char bufS[2]; ~~~~~~~~~~~~~~~~^~~~~~~ getvaluetest.c:149:2: note: used in buffer access here bufS[1] = (signed char)0x01; ^~~~ getvaluetest.c:169:21: note: used in buffer access here rdlen = bufS[0] | (bufS[1] << 8); ^~~~ getvaluetest.c:182:39: note: used in buffer access here rdlen = (uint8_t)bufS[0] | ((uint8_t)bufS[1] << 8); ^~~~ getvaluetest.c:195:42: note: used in buffer access here rdlen = ((uint8_t)bufS[0]) | (((uint8_t)bufS[1]) << 8); ^~~~ getvaluetest.c:208:56: note: used in buffer access here rdlen = ((uint16_t)(bufS[0]) & 0x00FF) | (((uint16_t)(bufS[1]) & 0x00FF) << 8); ^~~~ getvaluetest.c:221:26: note: used in buffer access here rdlen = 256 * (uint8_t)(bufS[1]) + (uint8_t)(bufS[0]); ^~~~ getvaluetest.c:140:16: warning: 'bufU' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] unsigned char bufU[2]; ~~~~~~~~~~~~~~~~^~~~~~~ getvaluetest.c:152:2: note: used in buffer access here bufU[1] = (unsigned char)0x01; ^~~~ getvaluetest.c:173:21: note: used in buffer access here rdlen = bufU[0] | (bufU[1] << 8); ^~~~ getvaluetest.c:186:39: note: used in buffer access here rdlen = (uint8_t)bufU[0] | ((uint8_t)bufU[1] << 8); ^~~~ getvaluetest.c:199:42: note: used in buffer access here rdlen = ((uint8_t)bufU[0]) | (((uint8_t)bufU[1]) << 8); ^~~~ getvaluetest.c:212:56: note: used in buffer access here rdlen = ((uint16_t)(bufU[0]) & 0x00FF) | (((uint16_t)(bufU[1]) & 0x00FF) << 8); ^~~~ getvaluetest.c:225:26: note: used in buffer access here rdlen = 256 * (uint8_t)(bufU[1]) + (uint8_t)(bufU[0]); ^~~~ getvaluetest.c:233:37: warning: 'argv' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] static int RunCommandLineTest(char *argv[]) { ~~~~~~^~~~~~ getvaluetest.c:249:29: note: used in buffer access here data.Size = (uint8_t) atoi(argv[3]); ^~~~ getvaluetest.c:251:23: note: used in buffer access here data.LogMax = strtol(argv[5], 0, 0); ^~~~ getvaluetest.c:248:31: note: used in buffer access here data.Offset = (uint8_t) atoi(argv[2]); ^~~~ getvaluetest.c:240:10: note: used in buffer access here start = argv[1]; ^~~~ getvaluetest.c:250:23: note: used in buffer access here data.LogMin = strtol(argv[4], 0, 0); ^~~~ getvaluetest.c:252:25: note: used in buffer access here expectedValue = strtol(argv[6], 0, 0); ^~~~ getvaluetest.c:234:10: warning: 'reportBuf' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] uint8_t reportBuf[64]; ~~~~~~~~^~~~~~~~~~~~~ getvaluetest.c:243:3: note: used in buffer access here reportBuf[bufSize] = (uint8_t) strtol(start, (char **)&end, 16); ^~~~~~~~~ 9 warnings generated. mv -f .deps/getvaluetest-getvaluetest.Tpo .deps/getvaluetest-getvaluetest.Po hidparser.c:107:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][0] == 0) { ^~~~~~~~~~~~~~~~~~ hidparser.c:108:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][0] = ReportID; ^~~~~~~~~~~~~~~~~~ hidparser.c:109:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][1] = ReportType; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:109:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][1] = ReportType; ^~~~~~~~~~~~~~~~~~ hidparser.c:110:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][2] = 0; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:110:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->OffsetTab[Pos][2] = 0; ^~~~~~~~~~~~~~~~~~ hidparser.c:113:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][0] != ReportID) { ^~~~~~~~~~~~~~~~~~ hidparser.c:117:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][1] != ReportType) { ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:117:7: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (pParser->OffsetTab[Pos][1] != ReportType) { ^~~~~~~~~~~~~~~~~~ hidparser.c:121:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] return &pParser->OffsetTab[Pos][2]; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:121:11: warning: unsafe buffer access [-Wunsafe-buffer-usage] return &pParser->OffsetTab[Pos][2]; ^~~~~~~~~~~~~~~~~~ hidparser.c:162:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Item = pParser->ReportDesc[pParser->Pos++]; ^~~~~~~~~~~~~~~~~~~ hidparser.c:165:34: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Value += (uint32_t)(pParser->ReportDesc[(pParser->Pos)+i]) << (8*i); ^~~~~~~~~~~~~~~~~~~ hidparser.c:181:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[pParser->UsageSize] = pParser->Value; ^~~~~~~~~~~~~~~~~ hidparser.c:183:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[pParser->UsageSize] = ((HIDNode_t)(pParser->UPage) << 16) | (pParser->Value & 0xFFFF); ^~~~~~~~~~~~~~~~~ hidparser.c:192:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Data.Path.Node[pParser->Data.Path.Size] = pParser->UsageTab[0]; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:200:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:200:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:209:5: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Data.Path.Node[pParser->Data.Path.Size] = 0x00ff0000 | (pParser->Value & 0x7F); ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:220:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] if((pParser->Data.Path.Node[pParser->Data.Path.Size] & 0xffff0000) == 0x00ff0000) { ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:244:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->Data.Path.Node[pParser->Data.Path.Size] = pParser->UsageTab[0]; ^~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:252:6: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:252:29: warning: unsafe buffer access [-Wunsafe-buffer-usage] pParser->UsageTab[j] = pParser->UsageTab[j+1]; ^~~~~~~~~~~~~~~~~ hidparser.c:34:22: warning: 'ItemSize' is an unsafe buffer that does not perform bounds checks [-Wunsafe-buffer-usage] static const uint8_t ItemSize[4] = { 0, 1, 2, 4 }; ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ hidparser.c:164:20: note: used in buffer access here for (i = 0; i < ItemSize[pParser->Item & SIZE_MASK]; i++) { ^~~~~~~~ hidparser.c:168:20: note: used in buffer access here pParser->Pos += ItemSize[pParser->Item & SIZE_MASK]; ^~~~~~~~ hidparser.c:314:55: note: used in buffer access here pParser->Data.LogMin = FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:318:55: note: used in buffer access here pParser->Data.LogMax = FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:340:53: note: used in buffer access here pParser->Data.PhyMin=FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:345:53: note: used in buffer access here pParser->Data.PhyMax=FormatValue(pParser->Value, ItemSize[pParser->Item & SIZE_MASK]); ^~~~~~~~ hidparser.c:399:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc_arg->item[i]; ^~~~~~~~~~~~~~~ hidparser.c:425:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc_arg->item[i]; ^~~~~~~~~~~~~~~ hidparser.c:460:15: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] HIDPath_t * pPath = &pData->Path; ^ hidparser.c:454:23: warning: unsafe buffer access [-Wunsafe-buffer-usage] HIDData_t *pData = &pDesc_arg->item[i]; ^~~~~~~~~~~~~~~ hidparser.c:462:20: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (size == 0 || pPath->Node[size-1] != Node) { ^~~~~~~~~~~ hidparser.c:478:36: warning: 'Buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void GetValue(const unsigned char *Buf, HIDData_t *pData, long *pValue) ~~~~~~~~~~~~~~~~~~~~~^~~ hidparser.c:495:15: note: used in buffer access here int State = Buf[Bit >> 3] & (1 << (Bit & 7)); ^~~ hidparser.c:558:54: warning: 'Buf' is an unsafe pointer used for buffer access [-Wunsafe-buffer-usage] void SetValue(const HIDData_t *pData, unsigned char *Buf, long Value) ~~~~~~~~~~~~~~~^~~ hidparser.c:568:4: note: used in buffer access here Buf[Bit >> 3] |= (1 << (Bit & 7)); ^~~ hidparser.c:570:4: note: used in buffer access here Buf[Bit >> 3] &= ~(1 << (Bit & 7)); ^~~ hidparser.c:641:27: warning: unsafe buffer access [-Wunsafe-buffer-usage] ret = HIDParse(parser, &pDesc_var->item[pDesc_var->nitems]); ^~~~~~~~~~~~~~~ hidparser.c:646:8: warning: unsafe buffer access [-Wunsafe-buffer-usage] id = pDesc_var->item[pDesc_var->nitems].ReportID; ^~~~~~~~~~~~~~~ hidparser.c:649:9: warning: unsafe buffer access [-Wunsafe-buffer-usage] max = pDesc_var->item[pDesc_var->nitems].Offset + pDesc_var->item[pDesc_var->nitems].Size; ^~~~~~~~~~~~~~~ hidparser.c:649:53: warning: unsafe buffer access [-Wunsafe-buffer-usage] max = pDesc_var->item[pDesc_var->nitems].Offset + pDesc_var->item[pDesc_var->nitems].Size; ^~~~~~~~~~~~~~~ hidparser.c:655:13: warning: unsafe buffer access [-Wunsafe-buffer-usage] if (max > pDesc_var->replen[id]) { ^~~~~~~~~~~~~~~~~ hidparser.c:656:4: warning: unsafe buffer access [-Wunsafe-buffer-usage] pDesc_var->replen[id] = max; ^~~~~~~~~~~~~~~~~ 37 warnings generated. mv -f .deps/getvaluetest-hidparser.Tpo .deps/getvaluetest-hidparser.Po /bin/sh ../libtool --tag=CC --mode=link cc -I../include -I../drivers -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o getvaluetest getvaluetest-getvaluetest.o getvaluetest-hidparser.o ../common/libcommon.la -lpthread libtool: link: cc -I../include -I../drivers -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o getvaluetest getvaluetest-getvaluetest.o getvaluetest-hidparser.o -L/usr/local/lib ../common/.libs/libcommon.a -lpthread libtool: link: cc -I../include -I../drivers -isystem /usr/local/include -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu99 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -pedantic -Wno-float-conversion -Wno-double-promotion -Wno-implicit-float-conversion -Wno-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-error -fstack-protector-strong -o nutlogtest nutlogtest.o -L/usr/local/lib ../common/.libs/libcommon.a -lpthread gmake all-recursive gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' Making all in . gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' gmake[4]: Nothing to be done for 'all-am'. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' Making all in NIT gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests/NIT' gmake[4]: Nothing to be done for 'all'. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests/NIT' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' gmake[2]: Nothing to be done for 'all-am'. gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' gmake[1]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> nut-2.8.0_24 depends on executable: avahi-daemon - found =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Staging for nut-2.8.0_24 ===> Generating temporary packing list ===> Creating groups. ===> Creating users gmake[1]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' if test -z 'strip'; then \ gmake INSTALL_PROGRAM="/bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s" \ install_sh_PROGRAM="/bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s" INSTALL_STRIP_FLAG=-s \ install; \ else \ gmake INSTALL_PROGRAM="/bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s" \ install_sh_PROGRAM="/bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='strip'" install; \ fi gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' Making install in include gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' NUT_VERSION: "2.8.0" test -f "nut_version.h" || cp "nut_version.h.tmp" "nut_version.h" cmp -s "nut_version.h.tmp" "nut_version.h" || cp "nut_version.h.tmp" "nut_version.h" rm -f "nut_version.h.tmp" gmake install-am gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Nothing to be done for 'install-data-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/include' Making install in common gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake install-am gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Nothing to be done for 'install-data-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' Making install in clients gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: 'libcommon.la' is up to date. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: 'libcommonclient.la' is up to date. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: 'libparseconf.la' is up to date. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: 'libcommon.la' is up to date. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: 'libcommonclient.la' is up to date. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib' /bin/sh ../libtool --mode=install /usr/bin/install -c -s libupsclient.la libnutclient.la libnutclientstub.la '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib' libtool: install: /usr/bin/install -c .libs/libupsclient.so.6.0.0 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libupsclient.so.6.0.0 libtool: install: strip --strip-unneeded /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libupsclient.so.6.0.0 libtool: install: (cd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib && { ln -s -f libupsclient.so.6.0.0 libupsclient.so.6 || { rm -f libupsclient.so.6 && ln -s libupsclient.so.6.0.0 libupsclient.so.6; }; }) libtool: install: (cd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib && { ln -s -f libupsclient.so.6.0.0 libupsclient.so || { rm -f libupsclient.so && ln -s libupsclient.so.6.0.0 libupsclient.so; }; }) libtool: install: /usr/bin/install -c .libs/libupsclient.lai /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libupsclient.la libtool: install: /usr/bin/install -c .libs/libnutclient.so.2.0.0 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclient.so.2.0.0 libtool: install: strip --strip-unneeded /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclient.so.2.0.0 libtool: install: (cd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib && { ln -s -f libnutclient.so.2.0.0 libnutclient.so.2 || { rm -f libnutclient.so.2 && ln -s libnutclient.so.2.0.0 libnutclient.so.2; }; }) libtool: install: (cd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib && { ln -s -f libnutclient.so.2.0.0 libnutclient.so || { rm -f libnutclient.so && ln -s libnutclient.so.2.0.0 libnutclient.so; }; }) libtool: install: /usr/bin/install -c .libs/libnutclient.lai /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclient.la libtool: warning: relinking 'libnutclientstub.la' libtool: install: (cd /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients; /bin/sh "/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/libtool" --tag CXX --mode=relink c++ -DHAVE_NUTCOMMON=1 -I../include -isystem /usr/local/include -O2 -pipe -I/usr/local/include -L/usr/local/lib -fstack-protector-strong -fno-strict-aliasing -Qunused-arguments -Wno-reserved-identifier -Wno-unknown-warning-option -std=gnu++11 -ferror-limit=0 -Wno-system-headers -Wall -Wextra -Weverything -Wno-disabled-macro-expansion -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -Wno-documentation -Wno-cast-qual -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-error -version-info 1:0:0 -fstack-protector-strong -o libnutclientstub.la -rpath /usr/local/lib nutclientmem.lo libnutclient.la -lpthread -inst-prefix-dir /wrkdirs/usr/ports/sysutils/nut/work/stage) libtool: relink: c++ -fPIC -DPIC -shared -nostdlib /usr/lib/crti.o /usr/lib/crtbeginS.o .libs/nutclientmem.o -Wl,-rpath -Wl,/usr/local/lib -L/usr/local/lib ./.libs/libnutclient.so -lpthread -L/usr/lib -lc++ -lm -lc -lgcc -lgcc_s /usr/lib/crtendS.o /usr/lib/crtn.o -O2 -fstack-protector-strong -fstack-protector-strong -Wl,-soname -Wl,libnutclientstub.so.1 -o .libs/libnutclientstub.so.1.0.0 libtool: install: /usr/bin/install -c .libs/libnutclientstub.so.1.0.0T /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclientstub.so.1.0.0 libtool: install: strip --strip-unneeded /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclientstub.so.1.0.0 libtool: install: (cd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib && { ln -s -f libnutclientstub.so.1.0.0 libnutclientstub.so.1 || { rm -f libnutclientstub.so.1 && ln -s libnutclientstub.so.1.0.0 libnutclientstub.so.1; }; }) libtool: install: (cd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib && { ln -s -f libnutclientstub.so.1.0.0 libnutclientstub.so || { rm -f libnutclientstub.so && ln -s libnutclientstub.so.1.0.0 libnutclientstub.so; }; }) libtool: install: /usr/bin/install -c .libs/libnutclientstub.lai /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclientstub.la libtool: install: /usr/bin/install -c .libs/libupsclient.a /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libupsclient.a libtool: install: strip --strip-debug /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libupsclient.a libtool: install: chmod 644 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libupsclient.a libtool: install: ranlib /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libupsclient.a libtool: install: /usr/bin/install -c .libs/libnutclient.a /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclient.a libtool: install: strip --strip-debug /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclient.a libtool: install: chmod 644 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclient.a libtool: install: ranlib /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclient.a libtool: install: /usr/bin/install -c .libs/libnutclientstub.a /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclientstub.a libtool: install: strip --strip-debug /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclientstub.a libtool: install: chmod 644 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclientstub.a libtool: install: ranlib /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutclientstub.a libtool: warning: remember to run 'libtool --finish /usr/local/lib' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin' STRIPPROG='strip' /bin/sh ../libtool --mode=install /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s upsc upslog upsrw upscmd '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin' libtool: warning: 'libupsclient.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/upsc /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin/upsc libtool: warning: 'libupsclient.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/upslog /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin/upslog libtool: warning: 'libupsclient.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/upsrw /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin/upsrw libtool: warning: 'libupsclient.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/upscmd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin/upscmd /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/www/cgi-bin/nut' STRIPPROG='strip' /bin/sh ../libtool --mode=install /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s upsstats.cgi upsimage.cgi upsset.cgi '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/www/cgi-bin/nut' libtool: warning: 'libupsclient.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/upsstats.cgi /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/www/cgi-bin/nut/upsstats.cgi libtool: warning: 'libupsclient.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/upsimage.cgi /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/www/cgi-bin/nut/upsimage.cgi libtool: warning: 'libupsclient.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/upsset.cgi /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/www/cgi-bin/nut/upsset.cgi /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin' install -m 555 upssched-cmd '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: 'libparseconf.la' is up to date. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin' STRIPPROG='strip' /bin/sh ../libtool --mode=install /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s upsmon upssched '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin' libtool: warning: 'libupsclient.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/upsmon /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin/upsmon libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s upssched /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin/upssched gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' Making install in conf gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/conf' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/conf' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut' install -m 0644 upsd.conf.sample upsd.users.sample nut.conf.sample ups.conf.sample hosts.conf.sample upsset.conf.sample upsstats.html.sample upsstats-single.html.sample '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut' install -m 0644 upssched.conf.sample upsmon.conf.sample '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut' gmake[4]: Nothing to be done for 'install-data-am'. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/conf' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/conf' Making install in data gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' Making install in html gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data/html' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data/html' gmake[5]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/www/nut' install -m 0644 index.html bottom.html nut-banner.png '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/www/nut' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/www/nut' install -m 0644 header.html '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/www/nut' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data/html' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data/html' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' gmake[5]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut' install -m 0644 cmdvartab '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut' install -m 0644 driver.list '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/data' Making install in docs gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' Making install in man gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/man' Not (re)building upsd.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsd.users.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsmon.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upssched.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building hosts.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nutupsdrv.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nut-driver-enumerator.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsd.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsdrvsvcctl.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upslog.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upssched.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nut-scanner.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nut-recorder.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsset.cgi.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building al175.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building apcsmart.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building apcsmart-old.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building bcmxcp.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building belkin.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building bestups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building clone.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building dummy-ups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building gamatronic.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building ivtscd.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building masterguard.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building metasys.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building mge-utalk.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building microsol-apc.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building optiups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building powercom.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building powerpanel.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building rhino.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building riello_ser.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building tripplite.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upscode2.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building victronups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building apcupsd-ups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building bcmxcp_usb.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building blazer_usb.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building riello_usb.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nutdrv_qx.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building generic_modbus.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building huawei-ups2000.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building socomec_jbus.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building adelsystem_cbi.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/man' gmake[5]: Nothing to be done for 'install-exec-am'. Not (re)building upsd.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsd.users.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsmon.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upssched.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building hosts.conf.5 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/man/man5' install -m 0644 nut.conf.5 ups.conf.5 upsd.conf.5 upsd.users.5 upsmon.conf.5 upssched.conf.5 hosts.conf.5 upsset.conf.5 upsstats.html.5 '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/man/man5' Not (re)building nutupsdrv.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nut-driver-enumerator.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsd.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsdrvsvcctl.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upslog.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upssched.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nut-scanner.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nut-recorder.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upsset.cgi.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building al175.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building apcsmart.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building apcsmart-old.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building bcmxcp.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building belkin.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building bestups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building clone.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building dummy-ups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building gamatronic.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building ivtscd.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building masterguard.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building metasys.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building mge-utalk.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building microsol-apc.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building optiups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building powercom.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building powerpanel.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building rhino.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building riello_ser.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building tripplite.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building upscode2.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building victronups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building apcupsd-ups.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building bcmxcp_usb.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building blazer_usb.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building riello_usb.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building nutdrv_qx.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building generic_modbus.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building huawei-ups2000.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building socomec_jbus.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. Not (re)building adelsystem_cbi.8 manual page, since 'asciidoc', 'xmllint' or 'xsltproc' were not found. /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/man/man8' install -m 0644 nutupsdrv.8 nut-driver-enumerator.8 upsc.8 upscmd.8 upsd.8 upsdrvctl.8 upsdrvsvcctl.8 upslog.8 upsmon.8 upsrw.8 upssched.8 nut-scanner.8 nut-recorder.8 upsset.cgi.8 upsstats.cgi.8 upsimage.cgi.8 al175.8 apcsmart.8 apcsmart-old.8 bcmxcp.8 belkin.8 belkinunv.8 bestfortress.8 bestuferrups.8 bestups.8 bestfcom.8 blazer_ser.8 clone.8 dummy-ups.8 etapro.8 everups.8 gamatronic.8 genericups.8 isbmex.8 ivtscd.8 liebert.8 liebert-esp2.8 masterguard.8 metasys.8 mge-shut.8 '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/man/man8' install -m 0644 mge-utalk.8 oneac.8 microdowell.8 microsol-apc.8 nutdrv_siemens_sitop.8 optiups.8 powercom.8 powerpanel.8 rhino.8 riello_ser.8 safenet.8 solis.8 tripplite.8 tripplitesu.8 upscode2.8 victronups.8 apcupsd-ups.8 snmp-ups.8 bcmxcp_usb.8 blazer_usb.8 nutdrv_atcl_usb.8 richcomm_usb.8 riello_usb.8 tripplite_usb.8 usbhid-ups.8 nutdrv_qx.8 netxml-ups.8 powerman-pdu.8 phoenixcontact_modbus.8 generic_modbus.8 huawei-ups2000.8 socomec_jbus.8 adelsystem_cbi.8 '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/man/man8' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/man' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/man' Making install in cables gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/cables' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/cables' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Nothing to be done for 'install-data-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/cables' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/cables' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Nothing to be done for 'install-data-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs' Making install in drivers gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/drivers' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: 'libcommon.la' is up to date. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: 'libparseconf.la' is up to date. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: 'libcommonclient.la' is up to date. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/drivers' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: 'libcommon.la' is up to date. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: 'libparseconf.la' is up to date. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' gmake[6]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[6]: 'libcommonclient.la' is up to date. gmake[6]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/clients' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut' STRIPPROG='strip' /bin/sh ../libtool --mode=install /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s al175 bcmxcp belkin belkinunv bestfcom bestfortress bestuferrups bestups dummy-ups etapro everups gamatronic genericups isbmex liebert liebert-esp2 masterguard metasys mge-utalk microdowell microsol-apc mge-shut oneac optiups powercom rhino safenet nutdrv_siemens-sitop skel solis tripplite tripplitesu upscode2 victronups powerpanel blazer_ser clone clone-outlet ivtscd apcsmart apcsmart-old apcupsd-ups riello_ser nutdrv_qx snmp-ups usbhid-ups bcmxcp_usb tripplite_usb blazer_usb richcomm_usb riello_usb nutdrv_atcl_usb netxml-ups powerman-pdu phoenixcontact_modbus generic_modbus huawei-ups2000 socomec_jbus adelsystem_cbi '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s al175 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/al175 libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s bcmxcp /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/bcmxcp libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s belkin /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/belkin libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s belkinunv /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/belkinunv libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s bestfcom /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/bestfcom libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s bestfortress /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/bestfortress libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s bestuferrups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/bestuferrups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s bestups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/bestups libtool: warning: '../clients/libupsclient.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/dummy-ups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/dummy-ups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s etapro /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/etapro libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s everups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/everups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s gamatronic /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/gamatronic libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s genericups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/genericups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s isbmex /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/isbmex libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s liebert /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/liebert libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s liebert-esp2 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/liebert-esp2 libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s masterguard /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/masterguard libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s metasys /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/metasys libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s mge-utalk /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/mge-utalk libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s microdowell /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/microdowell libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s microsol-apc /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/microsol-apc libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s mge-shut /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/mge-shut libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s oneac /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/oneac libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s optiups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/optiups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s powercom /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/powercom libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s rhino /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/rhino libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s safenet /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/safenet libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s nutdrv_siemens-sitop /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/nutdrv_siemens-sitop libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s skel /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/skel libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s solis /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/solis libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s tripplite /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/tripplite libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s tripplitesu /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/tripplitesu libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s upscode2 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/upscode2 libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s victronups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/victronups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s powerpanel /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/powerpanel libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s blazer_ser /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/blazer_ser libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s clone /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/clone libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s clone-outlet /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/clone-outlet libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s ivtscd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/ivtscd libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s apcsmart /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/apcsmart libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s apcsmart-old /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/apcsmart-old libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s apcupsd-ups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/apcupsd-ups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s riello_ser /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/riello_ser libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s nutdrv_qx /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/nutdrv_qx libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s snmp-ups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/snmp-ups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s usbhid-ups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/usbhid-ups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s bcmxcp_usb /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/bcmxcp_usb libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s tripplite_usb /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/tripplite_usb libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s blazer_usb /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/blazer_usb libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s richcomm_usb /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/richcomm_usb libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s riello_usb /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/riello_usb libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s nutdrv_atcl_usb /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/nutdrv_atcl_usb libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s netxml-ups /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/netxml-ups libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s powerman-pdu /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/powerman-pdu libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s phoenixcontact_modbus /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/phoenixcontact_modbus libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s generic_modbus /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/generic_modbus libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s huawei-ups2000 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/huawei-ups2000 libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s socomec_jbus /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/socomec_jbus libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s adelsystem_cbi /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/libexec/nut/adelsystem_cbi /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin' STRIPPROG='strip' /bin/sh ../libtool --mode=install /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s upsdrvctl '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s upsdrvctl /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin/upsdrvctl gmake[4]: Nothing to be done for 'install-data-am'. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/drivers' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/drivers' Making install in tools gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' Making install in . gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Nothing to be done for 'install-data-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' Making install in nut-scanner gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[5]: Nothing to be done for 'nut-scanner-deps'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[5]: Nothing to be done for 'nut-scanner-deps'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake install-am gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' gmake[6]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[6]: Nothing to be done for 'nut-scanner-deps'. gmake[6]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[6]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[6]: Nothing to be done for 'nut-scanner-deps'. gmake[6]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[6]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' gmake[7]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[7]: Nothing to be done for 'nut-scanner-deps'. gmake[7]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[7]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' gmake[7]: Nothing to be done for 'nut-scanner-deps'. gmake[7]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib' /bin/sh ../../libtool --mode=install /usr/bin/install -c -s libnutscan.la '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib' libtool: install: /usr/bin/install -c .libs/libnutscan.so.2.0.0 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutscan.so.2.0.0 libtool: install: strip --strip-unneeded /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutscan.so.2.0.0 libtool: install: (cd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib && { ln -s -f libnutscan.so.2.0.0 libnutscan.so.2 || { rm -f libnutscan.so.2 && ln -s libnutscan.so.2.0.0 libnutscan.so.2; }; }) libtool: install: (cd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib && { ln -s -f libnutscan.so.2.0.0 libnutscan.so || { rm -f libnutscan.so && ln -s libnutscan.so.2.0.0 libnutscan.so; }; }) libtool: install: /usr/bin/install -c .libs/libnutscan.lai /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutscan.la libtool: install: /usr/bin/install -c .libs/libnutscan.a /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutscan.a libtool: install: strip --strip-debug /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutscan.a libtool: install: chmod 644 /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutscan.a libtool: install: ranlib /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/lib/libnutscan.a libtool: warning: remember to run 'libtool --finish /usr/local/lib' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin' STRIPPROG='strip' /bin/sh ../../libtool --mode=install /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s nut-scanner '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin' libtool: warning: 'libnutscan.la' has not been installed in '/usr/local/lib' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s .libs/nut-scanner /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/bin/nut-scanner gmake[6]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools/nut-scanner' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tools' Making install in lib gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/lib' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/lib' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/lib' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/lib' Making install in scripts gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' Making install in augeas gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/augeas' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/augeas' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/augeas' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/augeas' Making install in devd gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/devd' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/devd' gmake[5]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/devd' install -m 0644 nut-usb.conf '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/devd' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/devd' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/devd' Making install in hotplug gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/hotplug' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/hotplug' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/hotplug' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/hotplug' Making install in python gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/python' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/python' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Nothing to be done for 'install-data-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/python' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/python' Making install in systemd gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/systemd' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/systemd' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/systemd' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/systemd' Making install in udev gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/udev' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/udev' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/udev' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/udev' Making install in ufw gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/ufw' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/ufw' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Nothing to be done for 'install-data-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/ufw' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/ufw' Making install in Solaris gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/Solaris' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/Solaris' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut/solaris-init' install -m 555 nut '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/nut/solaris-init' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/Solaris' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/Solaris' Making install in upsdrvsvcctl gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/upsdrvsvcctl' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/upsdrvsvcctl' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Nothing to be done for 'install-data-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/upsdrvsvcctl' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/upsdrvsvcctl' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' gmake[5]: Nothing to be done for 'install-exec-am'. gmake[5]: Nothing to be done for 'install-data-am'. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts' Making install in server gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/server' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: 'libcommon.la' is up to date. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: 'libparseconf.la' is up to date. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/server' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: 'libcommon.la' is up to date. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' gmake[5]: 'libparseconf.la' is up to date. gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/common' /bin/mkdir -p '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin' STRIPPROG='strip' /bin/sh ../libtool --mode=install /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s upsd '/wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin' libtool: install: /bin/sh /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/install-sh -c -s upsd /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/sbin/upsd gmake[4]: Nothing to be done for 'install-data-am'. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/server' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/server' Making install in tests gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' gmake install-recursive gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' Making install in . gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' gmake[6]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' gmake[6]: Nothing to be done for 'install-exec-am'. gmake[6]: Nothing to be done for 'install-data-am'. gmake[6]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' Making install in NIT gmake[5]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests/NIT' gmake[6]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests/NIT' gmake[6]: Nothing to be done for 'install-exec-am'. gmake[6]: Nothing to be done for 'install-data-am'. gmake[6]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests/NIT' gmake[5]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests/NIT' gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/tests' gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' gmake[4]: Entering directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' gmake[4]: Nothing to be done for 'install-exec-am'. gmake[4]: Nothing to be done for 'install-data-am'. gmake[4]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' gmake[1]: Leaving directory '/wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0' install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/scripts/misc/nut.bash_completion /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/etc/bash_completion.d/ install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/cables/*.txt /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut/cables install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/*.txt /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/docs/FAQ.txt /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/AUTHORS /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/COPYING /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/ChangeLog /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/INSTALL /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/MAINTAINERS /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/NEWS /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/README /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /wrkdirs/usr/ports/sysutils/nut/work/nut-2.8.0/UPGRADING /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/doc/nut install -m 0644 /usr/ports/sysutils/nut/files/nut.syslog /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/examples/nut/syslog.sample install -m 0644 /usr/ports/sysutils/nut/files/nut.newsyslog /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/examples/nut/newsyslog.sample install -m 0644 /usr/ports/sysutils/nut/files/nut_upslog.sample /wrkdirs/usr/ports/sysutils/nut/work/stage/usr/local/share/examples/nut/nut_upslog.sample /bin/mkdir -p /wrkdirs/usr/ports/sysutils/nut/work/stage/var/log/nut ====> Compressing man pages (compress-man) ===> Staging rc.d startup script(s) =========================================================================== =================================================== ===== env: 'PKG_NOTES=build_timestamp ports_top_git_hash ports_top_checkout_unclean port_git_hash port_checkout_unclean built_by' 'PKG_NOTE_build_timestamp=2024-01-08T06:47:34+0000' 'PKG_NOTE_ports_top_git_hash=294d1b3c41db' 'PKG_NOTE_ports_top_checkout_unclean=no' 'PKG_NOTE_port_git_hash=183848087d29' 'PKG_NOTE_port_checkout_unclean=no' 'PKG_NOTE_built_by=poudriere-git-3.4.99.20240105' NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Building package for nut-2.8.0_24 =========================================================================== =>> Cleaning up wrkdir ===> Cleaning for nut-2.8.0_24 build of sysutils/nut | nut-2.8.0_24 ended at Mon Jan 8 00:54:46 CST 2024 build time: 00:07:16