=>> Building mail/panda-cclient build started at Tue Apr 9 04:13:13 CEST 2024 port directory: /usr/ports/mail/panda-cclient package name: panda-cclient-20130621_3 building for: FreeBSD 14amd64-default-php81-job-09 14.0-RELEASE-p6 FreeBSD 14.0-RELEASE-p6 amd64 maintained by: thierry@FreeBSD.org Makefile datestamp: -rw-r--r-- 1 root wheel 3455 May 21 2023 /usr/ports/mail/panda-cclient/Makefile Ports top last git commit: 3d100fcffcd Ports top unclean checkout: yes Port dir last git commit: 7c711691b37 Port dir unclean checkout: no Poudriere version: poudriere-git-3.4.99.20240122_1 Host OSVERSION: 1500018 Jail OSVERSION: 1400097 Job Id: 09 ---Begin Environment--- SHELL=/bin/sh OSVERSION=1400097 UNAME_v=FreeBSD 14.0-RELEASE-p6 UNAME_r=14.0-RELEASE-p6 BLOCKSIZE=K MAIL=/var/mail/root MM_CHARSET=UTF-8 LANG=C.UTF-8 STATUS=1 HOME=/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin MAKE_OBJDIR_CHECK_WRITABLE=0 LOCALBASE=/usr/local USER=root POUDRIERE_NAME=poudriere-git LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.4.99.20240122_1 MASTERMNT=/usr/local/poudriere/data/.m/14amd64-default-php81/ref LC_COLLATE=C POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM=tmux-256color GID=0 OUTPUT_REDIRECTED_STDERR=4 OUTPUT_REDIRECTED=1 UID=0 PWD=/usr/local/poudriere/data/.m/14amd64-default-php81/09/.p OUTPUT_REDIRECTED_STDOUT=3 P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS MASTERNAME=14amd64-default-php81 SCRIPTPREFIX=/usr/local/share/poudriere SCRIPTNAME=bulk.sh OLDPWD=/usr/local/poudriere/data/.m/14amd64-default-php81/ref/.p/pool POUDRIERE_PKGNAME=poudriere-git-3.4.99.20240122_1 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 panda-cclient-20130621_3: IPV6=on: IPv6 protocol support MBX_DEFAULT=off: Use MBX as default mailbox format SSL=on: SSL protocol support SSL_AND_PLAINTEXT=off: Allow plain text passwords and SSL ===> Use 'make config' to modify these settings ---End OPTIONS List--- --MAINTAINER-- thierry@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/mail/panda-cclient/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/mail/panda-cclient/work XDG_CACHE_HOME=/wrkdirs/usr/ports/mail/panda-cclient/work/.cache HOME=/wrkdirs/usr/ports/mail/panda-cclient/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/mail/panda-cclient/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/mail/panda-cclient/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include OPENSSLLIB=/usr/lib XDG_DATA_HOME=/wrkdirs/usr/ports/mail/panda-cclient/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/mail/panda-cclient/work XDG_CACHE_HOME=/wrkdirs/usr/ports/mail/panda-cclient/work/.cache HOME=/wrkdirs/usr/ports/mail/panda-cclient/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/mail/panda-cclient/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/mail/panda-cclient/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- SHLIBNAME=libc-client.so.2010 SHLIBBASE=c-client OSREL=14.0 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/cclient" EXAMPLESDIR="share/examples/cclient" DATADIR="share/cclient" WWWDIR="www/cclient" ETCDIR="etc/cclient" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/cclient DOCSDIR=/usr/local/share/doc/cclient EXAMPLESDIR=/usr/local/share/examples/cclient WWWDIR=/usr/local/www/cclient ETCDIR=/usr/local/etc/cclient --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 #### #### DISABLE_LICENSES="YES" multimedia_liba-utils_UNSET=WAYLAND net-mgmt_icingaweb2-module-reporting_UNSET=PDF lang_gcc12_UNSET=LTO_BOOTSTRAP lang_gcc13_UNSET=LTO_BOOTSTRAP lang_gcc_UNSET=LTO_BOOTSTRAP www_nginx_SET+=HEADERS_MORE www_nginx_SET+=LUA www_nginx_SET+=SET_MISC #### #### /usr/local/etc/poudriere.d/14amd64-php81-make.conf DISABLE_LICENSES="YES" WITHOUT_HAL="yes" DEFAULT_VERSIONS+=php=8.1 DEFAULT_VERSIONS+=bdb=5 DEFAULT_VERSIONS+=pgsql=15 DEFAULT_VERSIONS+=corosync=3 DEFAULT_VERSIONS+=mysql=10.11m DEFAULT_VERSIONS+=samba=4.16 DEFAULT_VERSIONS+=lua=5.1 OPTIONS_UNSET+=DOCS OPTIONS_SET+=SSL LINUX_BASE_PORT=c7 mail_postfix_SET+=SASL mail_postfix-current_SET+=SASL net-mgmt_monitoring-plugins_SET+=MYSQL net-mgmt_monitoring-plugins_UNSET+=DNS_BASE net-mgmt_monitoring-plugins_SET+=DNS_BINDTOOLS sysutils_bacula11-server_UNSET+=PGSQL sysutils_bacula11-server_SET+=SQLITE3 security_strongswan_SET+=UNITY security_strongswan_SET+=MYSQL graphics_pecl-imagick_SET+=X11 net-mgmt_nrpe_SET+=ARGS net-mgmt_nrpe_UNSET+=NAGPLUGINS net-mgmt_nrpe_SET+=MONPLUGINS net-mgmt_librenms_UNSET+=NAGPLUGINS www_nginx_SET+=HEADERS_MORE www_nginx_SET+=LUA www_nginx_SET+=SET_MISC mail_rspamd_UNSET+=LUAJIT www_nginx-devel_SET+=HEADERS_MORE www_nginx-devel_SET+=LUA www_nginx-devel_SET+=SET_MISC sysutils_iocage_UNSET+=GIT mail_postfix_SET+=MYSQL mail_postfix-current_SET+=MYSQL #graphics_zbar_UNSET+=X11 #### Misc Poudriere #### .include "/etc/make.conf.ports_env" ---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=nobody UID=65534 GID=65534 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> panda-cclient-20130621_3 depends on file: /usr/local/sbin/pkg - found =========================================================================== =================================================== ===== 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 panda-cclient-20130621_3 for building =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by panda-cclient-20130621_3 for building => SHA256 Checksum OK for jonabbey-panda-imap-20130621-3452f1598a8b4eeb44b38aead1c1598e379b05de_GH0.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> Fetching all distfiles required by panda-cclient-20130621_3 for building ===> Extracting for panda-cclient-20130621_3 => SHA256 Checksum OK for jonabbey-panda-imap-20130621-3452f1598a8b4eeb44b38aead1c1598e379b05de_GH0.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> Patching for panda-cclient-20130621_3 ===> Applying FreeBSD patches for panda-cclient-20130621_3 from /usr/ports/mail/panda-cclient/files =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> Configuring for panda-cclient-20130621_3 /usr/bin/sed -i.bak -e "s|/usr/local|/usr/local|g" /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/Makefile /usr/bin/sed -i.bak -e "s|/usr/local|/usr/local|g" /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/src/osdep/unix/Makefile /usr/bin/sed -i.bak -e "s|/usr/local|/usr/local|g" /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/src/osdep/unix/Makefile.gss /usr/bin/sed -i.bak -e "s:/etc/ssl/certs:/usr/local/certs:g; s:/etc/ssl/private:/usr/local/certs:g" /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/Makefile /usr/bin/sed -i.bak -e "s:/etc/c-client.cf:/usr/local/etc/c-client.cf:" /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/src/osdep/unix/env_unix.h /usr/bin/sed -i.bak -e " s:SSLINCLUDE=/usr/include/openssl SSLLIB=/usr/lib:SSLINCLUDE=/usr/include SSLLIB=/usr/lib: " /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/Makefile /usr/bin/sed -i.bak -e "s|^IP=4|IP=6|" /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/Makefile /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/src/osdep/unix/Makefile >> The c-client shared library will be named libc-client.so.2010 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> Building for panda-cclient-20130621_3 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Building in full compliance with RFC 3501 security + requirements: ++ TLS/SSL encryption is supported ++ Unencrypted plaintext passwords are prohibited +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Applying an process to sources... tools/an "ln -s" src/c-client c-client tools/an "ln -s" src/ansilib c-client tools/an "ln -s" src/charset c-client tools/an "ln -s" src/osdep/unix c-client tools/an "ln -s" src/mtest mtest tools/an "ln -s" src/ipopd ipopd tools/an "ln -s" src/imapd imapd tools/an "ln -s" src/mailutil mailutil tools/an "ln -s" src/mlock mlock tools/an "ln -s" src/dmail dmail tools/an "ln -s" src/tmail tmail ln -s tools/an . touch ip6 make build EXTRACFLAGS='-O2 -pipe -fstack-protector-strong -fno-strict-aliasing ' EXTRALDFLAGS='' EXTRADRIVERS='mbox' EXTRAAUTHENTICATORS='' PASSWDTYPE=std SSLTYPE=unix.nopwd IP=6 EXTRASPECIALS='' BUILDTYPE=bsf IP=6 PASSWDTYPE=pam SPECIALS="SSLINCLUDE=/usr/include SSLLIB=/usr/lib SSLCERTS=/usr/local/certs SSLKEYS=/usr/local/certs GSSINCLUDE=/usr/include GSSLIB=/usr/lib PAMLDFLAGS=-lpam" `ip6' is up to date. Building c-client for bsf... echo `cat SPECIALS` > c-client/SPECIALS cd c-client;make bsf EXTRACFLAGS='-O2 -pipe -fstack-protector-strong -fno-strict-aliasing ' EXTRALDFLAGS='' EXTRADRIVERS='mbox' EXTRAAUTHENTICATORS='' PASSWDTYPE=pam SSLTYPE=unix.nopwd IP=6 SSLINCLUDE=/usr/include SSLLIB=/usr/lib SSLCERTS=/usr/local/certs SSLKEYS=/usr/local/certs GSSINCLUDE=/usr/include GSSLIB=/usr/lib PAMLDFLAGS=-lpam make build EXTRACFLAGS='-O2 -pipe -fstack-protector-strong -fno-strict-aliasing ' EXTRALDFLAGS='' EXTRADRIVERS='mbox' EXTRAAUTHENTICATORS='' PASSWDTYPE=pam SSLTYPE=unix.nopwd IP=6 `cat SPECIALS` OS=bsf CHECKPW=pam SIGTYPE=psx CRXTYPE=nfs SPOOLDIR=/var ACTIVEFILE=/usr/local/news/lib/active RSHPATH=/usr/bin/rsh LOCKPGM=/usr/local/libexec/mlock BASECFLAGS="-g -O2 -pipe -fno-omit-frame-pointer" BASELDFLAGS="-lpam" sh -c 'rm -rf auths.c crexcl.c ip_unix.c linkage.[ch] siglocal.c osdep*.[ch] *.o ARCHIVE *FLAGS *TYPE c-client.a || true' Once-only environment setup... echo cc > CCTYPE echo -g -O2 -pipe -fno-omit-frame-pointer '-O2 -pipe -fstack-protector-strong -fno-strict-aliasing ' -DCHUNKSIZE=65536 > CFLAGS echo -DCREATEPROTO=unixproto -DEMPTYPROTO=unixproto -DMD5ENABLE=\"/etc/cram-md5.pwd\" -DMAILSPOOL=\"/var/mail\" -DANONYMOUSHOME=\"/var/mail/anonymous\" -DACTIVEFILE=\"/usr/local/news/lib/active\" -DNEWSSPOOL=\"/var/news\" -DRSHPATH=\"/usr/bin/rsh\" -DLOCKPGM=\"/usr/local/libexec/mlock\" -DLOCKPGM1=\"/usr/libexec/mlock\" -DLOCKPGM2=\"/usr/sbin/mlock\" -DLOCKPGM3=\"/etc/mlock\" > OSCFLAGS echo -lpam > LDFLAGS echo "ar rc c-client.a osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o dummy.o pseudo.o netmsg.o flstring.o fdstring.o rfc822.o nntp.o smtp.o imap4r1.o pop3.o unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o;ranlib c-client.a" > ARCHIVE echo bsf > OSTYPE ./drivers mbox imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile dummy ./mkauths ext md5 pla log echo " mail_versioncheck (CCLIENTVERSION);" >> linkage.c ln -s os_bsf.h osdep.h ln -s os_bsf.c osdepbas.c ln -s log_std.c osdeplog.c ln -s sig_psx.c siglocal.c ln -s crx_nfs.c crexcl.c ln -s ip6_unix.c ip_unix.c sh -c '(test bsf = sc5 -o bsf = sco -o ! -f /usr/include/sys/statvfs.h) && echo -DNOFSTATVFS >> OSCFLAGS || fgrep statvfs64 /usr/include/sys/statvfs.h > /dev/null || echo -DNOFSTATVFS64 >> OSCFLAGS' echo "libc-client.so.`grep CCLIENTVERSION mail.h | sed -e's/[^"]\{1,\}"\([0-9]\{1,\}\)"/\1/'`" > SHLIBNAME test -z && echo "-fPIC -DPIC -D_REENTRANT" > SHLIBFLAGS || echo "" > SHLIBFLAGS PAM password authentication echo -lpam >> LDFLAGS ln -s ckp_pam.c osdepckp.c Building with SSL ln -s ssl_unix.c osdepssl.c echo -I/usr/include -I/usr/include/openssl -DSSL_CERT_DIRECTORY=\"/usr/local/certs\" -DSSL_KEY_DIRECTORY=\"/usr/local/certs\" >> OSCFLAGS echo " ssl_onceonlyinit ();" >> linkage.c echo -L/usr/lib -lssl -lcrypto -lcrypt >> LDFLAGS Building with SSL and plaintext passwords disabled unless SSL/TLS echo " mail_parameters (NIL,SET_DISABLEPLAINTEXT,(void *) 2);" >> linkage.c cat osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c ======================================================================== Building OS-dependent module If you get No such file error messages for files x509.h, ssl.h, pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL is not installed on your system. Either install OpenSSL first or build with command: make bsf SSLTYPE=none ======================================================================== `cat CCTYPE` `cat SHLIBFLAGS` `cat CFLAGS` `cat OSCFLAGS` -c osdep.c In file included from osdep.c:45: ./nl_unix.c:49:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!*dst) *dst = (char *) fs_get ((*dstl = i) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from osdep.c:46: In file included from ./env_unix.c:258: ./pmatch.c:41:43: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!pat[1]) return (delim && strchr (s,delim)) ? NIL : T; ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:1: ./auth_ext.c:62:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) { ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_ext.c:62:17: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) { ^ ( ) ./auth_ext.c:62:17: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) { ^ == ./auth_ext.c:66:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_ext.c:66:21: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) ^ ( ) ./auth_ext.c:66:21: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) ^ == In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:103:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) { ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:103:17: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) { ^ ( ) ./auth_md5.c:103:17: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) { ^ == ./auth_md5.c:118:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:118:16: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) ^ ( ) ./auth_md5.c:118:16: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) ^ == ./auth_md5.c:153:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (user = (*responder) (chal,cl = strlen (chal),NIL)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:153:12: note: place parentheses around the assignment to silence this warning if (user = (*responder) (chal,cl = strlen (chal),NIL)) { ^ ( ) ./auth_md5.c:153:12: note: use '==' to turn this assignment into an equality comparison if (user = (*responder) (chal,cl = strlen (chal),NIL)) { ^ == ./auth_md5.c:155:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (hash = strrchr (user,' ')) { ~~~~~^~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:155:14: note: place parentheses around the assignment to silence this warning if (hash = strrchr (user,' ')) { ^ ( ) ./auth_md5.c:155:14: note: use '==' to turn this assignment into an equality comparison if (hash = strrchr (user,' ')) { ^ == ./auth_md5.c:158:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (authuser = strchr (user,'*')) *authuser++ = '\0'; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ./auth_md5.c:158:20: note: place parentheses around the assignment to silence this warning if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ ( ) ./auth_md5.c:158:20: note: use '==' to turn this assignment into an equality comparison if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ == ./auth_md5.c:160:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:160:13: note: place parentheses around the assignment to silence this warning if (p = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ ( ) ./auth_md5.c:160:13: note: use '==' to turn this assignment into an equality comparison if (p = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ == ./auth_md5.c:194:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (fd,buf = (char *) fs_get (sbuf.st_size + 1),sbuf.st_size); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:196:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = user; *s && ((*s < 'A') || (*s > 'Z')); s++); ^ ~~~~ ./auth_md5.c:198:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lusr = *s ? lcase (cpystr (user)) : NIL; ^~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:199:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = strtok_r ((char *) buf,"\015\012",&r),lret = NIL; s; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:200:5: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = ret ? NIL : strtok_r (NIL,"\015\012",&r)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:202:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (*s && (*s != '#') && (t = strchr (s,'\t')) && t[1]) { ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:202:35: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (*s && (*s != '#') && (t = strchr (s,'\t')) && t[1]) { ^ ~~~~~~~~~~~~~~~ ./auth_md5.c:204:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (s,user)) ret = cpystr (t); ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:204:38: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (s,user)) ret = cpystr (t); ^ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:205:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (lusr && !lret) if (!strcmp (s,lusr)) lret = t; ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:205:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (lusr && !lret) if (!strcmp (s,lusr)) lret = t; ^~~~ /usr/include/string.h:85:39: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:208:37: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!ret && lret) ret = cpystr (lret); ^~~~ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:237:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (authuser = strchr (user,'*')) *authuser++ = '\0'; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ./auth_md5.c:237:16: note: place parentheses around the assignment to silence this warning if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ ( ) ./auth_md5.c:237:16: note: use '==' to turn this assignment into an equality comparison if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ == ./auth_md5.c:239:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:239:9: note: place parentheses around the assignment to silence this warning if (s = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ ( ) ./auth_md5.c:239:9: note: use '==' to turn this assignment into an equality comparison if (s = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ == In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:3: ./auth_pla.c:66:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) { ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_pla.c:66:17: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) { ^ ( ) ./auth_pla.c:66:17: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) { ^ == ./auth_pla.c:94:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_pla.c:94:16: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) ^ ( ) ./auth_pla.c:94:16: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) ^ == ./auth_pla.c:123:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (aid = (*responder) ("",0,&len)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_pla.c:123:11: note: place parentheses around the assignment to silence this warning if (aid = (*responder) ("",0,&len)) { ^ ( ) ./auth_pla.c:123:11: note: use '==' to turn this assignment into an equality comparison if (aid = (*responder) ("",0,&len)) { ^ == In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:4: ./auth_log.c:66:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) { ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_log.c:66:17: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) { ^ ( ) ./auth_log.c:66:17: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) { ^ == ./auth_log.c:81:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_log.c:81:16: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) ^ ( ) ./auth_log.c:81:16: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) ^ == ./auth_log.c:107:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (user = (*responder) (PWD_USER,sizeof (PWD_USER),NIL)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_log.c:107:12: note: place parentheses around the assignment to silence this warning if (user = (*responder) (PWD_USER,sizeof (PWD_USER),NIL)) { ^ ( ) ./auth_log.c:107:12: note: use '==' to turn this assignment into an equality comparison if (user = (*responder) (PWD_USER,sizeof (PWD_USER),NIL)) { ^ == ./auth_log.c:108:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (pass = (*responder) (PWD_PWD,sizeof (PWD_PWD),NIL)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_log.c:108:14: note: place parentheses around the assignment to silence this warning if (pass = (*responder) (PWD_PWD,sizeof (PWD_PWD),NIL)) { ^ ( ) ./auth_log.c:108:14: note: use '==' to turn this assignment into an equality comparison if (pass = (*responder) (PWD_PWD,sizeof (PWD_PWD),NIL)) { ^ == ./auth_log.c:110:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (authuser = strchr (user,'*')) *authuser++ = '\0'; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ./auth_log.c:110:20: note: place parentheses around the assignment to silence this warning if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ ( ) ./auth_log.c:110:20: note: use '==' to turn this assignment into an equality comparison if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ == In file included from osdep.c:46: ./env_unix.c:541:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (julian = t->tm_yday -julian) ~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./env_unix.c:541:14: note: place parentheses around the assignment to silence this warning if (julian = t->tm_yday -julian) ^ ( ) ./env_unix.c:541:14: note: use '==' to turn this assignment into an equality comparison if (julian = t->tm_yday -julian) ^ == ./env_unix.c:671:33: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] struct passwd *pw = getpwnam (user); ^~~~ /usr/include/pwd.h:149:37: note: passing argument to parameter here struct passwd *getpwnam(const char *); ^ In file included from osdep.c:46: ./env_unix.c:675:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pw = getpwnam (s = lcase (cpystr (user))); ^~~~ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ In file included from osdep.c:46: ./env_unix.c:675:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pw = getpwnam (s = lcase (cpystr (user))); ^~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:46: ./env_unix.c:675:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pw = getpwnam (s = lcase (cpystr (user))); ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/pwd.h:149:37: note: passing argument to parameter here struct passwd *getpwnam(const char *); ^ In file included from osdep.c:46: ./env_unix.c:699:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = auth_md5_pwd (user)) { ~~^~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:699:11: note: place parentheses around the assignment to silence this warning if (s = auth_md5_pwd (user)) { ^ ( ) ./env_unix.c:699:11: note: use '==' to turn this assignment into an equality comparison if (s = auth_md5_pwd (user)) { ^ == ./env_unix.c:701:16: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = pwuser (user); /* validated, get passwd entry for user */ ^~~~ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:706:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pw = pwuser (user)) {/* can get user? */ ^~~~ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:706:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (pw = pwuser (user)) {/* can get user? */ ~~~^~~~~~~~~~~~~~~ ./env_unix.c:706:15: note: place parentheses around the assignment to silence this warning else if (pw = pwuser (user)) {/* can get user? */ ^ ( ) ./env_unix.c:706:15: note: use '==' to turn this assignment into an equality comparison else if (pw = pwuser (user)) {/* can get user? */ ^ == ./env_unix.c:709:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*pwd == ' ') && pwd[1] && (ret = pwuser (s))) ^ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:740:58: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (valpwd (authuser,pwd,argc,argv)) pw = pwuser (user); ^~~~ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:758:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] return pw_login (pwuser (user),authuser,user,NIL,argc,argv); ^~~~ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:797:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (user && auser && *auser && compare_cstring (auser,user)) { ^~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:797:59: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (user && auser && *auser && compare_cstring (auser,user)) { ^~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:800:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (auser,*t++)) ^~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:800:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (auser,*t++)) ^~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1096:47: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (dst,"%s/%s",s,compare_cstring (name+8,"INBOX") ? ^~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1096:54: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (dst,"%s/%s",s,compare_cstring (name+8,"INBOX") ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1106:63: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((s = strchr (name+1,'/')) && !compare_cstring (s+1,"INBOX")) { ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1106:67: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((s = strchr (name+1,'/')) && !compare_cstring (s+1,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1130:55: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((s = strchr (name,'/')) && compare_cstring (s+1,"INBOX")) { ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1130:59: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((s = strchr (name,'/')) && compare_cstring (s+1,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1144:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,"INBOX")) name = "INBOX"; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1144:29: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,"INBOX")) name = "INBOX"; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1158:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name+1,"NBOX")) { ^~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1158:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name+1,"NBOX")) { ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1294:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (base->lock,'/')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:1294:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (base->lock,'/')) { ^ ( ) ./env_unix.c:1294:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (base->lock,'/')) { ^ == ./env_unix.c:1608:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set keywords") && !userFlags[0]) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1608:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set keywords") && !userFlags[0]) { ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1622:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set new-mailbox-format") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1622:28: warning: passing 'char[23]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set new-mailbox-format") || ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1623:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"set new-folder-format")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1623:28: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"set new-folder-format")) { ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1624:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"same-as-inbox")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1624:30: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"same-as-inbox")) { ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1625:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (d = mail_valid (NIL,"INBOX",NIL)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:1625:14: note: place parentheses around the assignment to silence this warning if (d = mail_valid (NIL,"INBOX",NIL)) { ^ ( ) ./env_unix.c:1625:14: note: use '==' to turn this assignment into an equality comparison if (d = mail_valid (NIL,"INBOX",NIL)) { ^ == ./env_unix.c:1626:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (d->name,"mbox")) ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1626:33: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (d->name,"mbox")) ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1629:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (d->name,"dummy")) d = NIL; ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1629:38: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (d->name,"dummy")) d = NIL; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1633:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1633:35: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1636:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"mbox")) k = "unix"; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1636:32: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"mbox")) k = "unix"; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1638:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (d = (DRIVER *) mail_parameters (NIL,GET_DRIVER,(void *) k)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:1638:14: note: place parentheses around the assignment to silence this warning if (d = (DRIVER *) mail_parameters (NIL,GET_DRIVER,(void *) k)) ^ ( ) ./env_unix.c:1638:14: note: use '==' to turn this assignment into an equality comparison if (d = (DRIVER *) mail_parameters (NIL,GET_DRIVER,(void *) k)) ^ == ./env_unix.c:1647:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set empty-mailbox-format") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1647:28: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set empty-mailbox-format") || ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1648:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"set empty-folder-format")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1648:28: warning: passing 'char[24]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"set empty-folder-format")) { ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1649:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"invalid")) appendProto = NIL; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1649:30: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"invalid")) appendProto = NIL; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1650:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"same-as-inbox")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1650:35: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"same-as-inbox")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1652:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (d->name,"dummy")) ? ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1652:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (d->name,"dummy")) ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1654:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1654:35: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1658:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d && compare_cstring (d->name,k); d = d->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1658:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d && compare_cstring (d->name,k); d = d->next); ^ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1669:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set local-host")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1669:26: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set local-host")) { ^~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1673:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-active-file")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1673:31: warning: passing 'char[21]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-active-file")) { ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1677:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-spool-directory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1677:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-spool-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1681:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mh-path")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1681:31: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mh-path")) ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1683:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mh-allow-inbox")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1683:31: warning: passing 'char[19]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mh-allow-inbox")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1685:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-state-file")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1685:31: warning: passing 'char[20]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-state-file")) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1689:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-export-directory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1689:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-export-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1693:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-home-directory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1693:31: warning: passing 'char[26]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-home-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1697:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-home-directory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1697:31: warning: passing 'char[26]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-home-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1701:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set system-inbox")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1701:31: warning: passing 'char[17]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set system-inbox")) { ^~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1705:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mail-subdirectory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1705:31: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mail-subdirectory")) { ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1709:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set from-widget")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1709:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set from-widget")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1711:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (k,"header-only") ? ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1711:26: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (k,"header-only") ? ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1714:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-command")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1714:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-command")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1716:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-path")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1716:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-path")) ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1718:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-command")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1718:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-command")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1720:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-path")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1720:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-path")) ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1722:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-open-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1722:31: warning: passing 'char[21]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-open-timeout")) ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1724:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-read-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1724:31: warning: passing 'char[21]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-read-timeout")) ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1726:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-write-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1726:31: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-write-timeout")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1728:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1728:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-timeout")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1730:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1730:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-timeout")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1732:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set maximum-login-trials")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1732:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set maximum-login-trials")) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1734:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set lookahead")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1734:31: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set lookahead")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1736:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set prefetch")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1736:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set prefetch")) ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1738:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set close-on-error")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1738:31: warning: passing 'char[19]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set close-on-error")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1740:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set imap-port")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1740:31: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set imap-port")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1742:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set pop3-port")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1742:31: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set pop3-port")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1744:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set uid-lookahead")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1744:31: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set uid-lookahead")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1746:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set try-ssl-first")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1746:31: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set try-ssl-first")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1749:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mailbox-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1749:31: warning: passing 'char[23]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mailbox-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1751:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set directory-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1751:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1753:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set lock-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1753:31: warning: passing 'char[20]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set lock-protection")) ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1755:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1755:31: warning: passing 'char[19]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-protection")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1757:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1757:31: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-protection")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1759:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1759:31: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-protection")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1761:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-directory-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1761:31: warning: passing 'char[29]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1763:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-directory-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1763:31: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1765:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-directory-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1765:31: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1767:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set dot-lock-file-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1767:31: warning: passing 'char[26]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set dot-lock-file-timeout")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1769:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-fcntl-locking")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1769:31: warning: passing 'char[26]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-fcntl-locking")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1771:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-lock-warning")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1771:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-lock-warning")) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1773:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-unix-UIDs-and-keywords")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1773:31: warning: passing 'char[35]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-unix-UIDs-and-keywords")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1775:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set hide-dot-files")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1775:31: warning: passing 'char[19]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set hide-dot-files")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1777:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set list-maximum-level")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1777:31: warning: passing 'char[23]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set list-maximum-level")) ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1779:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set trust-dns")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1779:31: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set trust-dns")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1781:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set sasl-uses-ptr-name")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1781:31: warning: passing 'char[23]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set sasl-uses-ptr-name")) ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1783:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set network-filesystem-stat-bug")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1783:31: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set network-filesystem-stat-bug")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1785:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set nntp-range")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1785:31: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set nntp-range")) ^~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1789:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set black-box-directory") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1789:28: warning: passing 'char[24]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set black-box-directory") && ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1791:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring(s,"set black-box-default-home-directory")&& ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1791:32: warning: passing 'char[37]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring(s,"set black-box-default-home-directory")&& ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1794:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set anonymous-home-directory") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1794:33: warning: passing 'char[29]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set anonymous-home-directory") && ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1801:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set CA-certificate-path")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1801:33: warning: passing 'char[24]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set CA-certificate-path")) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1803:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-cipher-list")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1803:33: warning: passing 'char[20]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-cipher-list")) ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1805:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-protocols")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1805:33: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-protocols")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1807:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-dh-parameters")) /* same use as Sendmail */ ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1807:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-dh-parameters")) /* same use as Sendmail */ ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1809:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-plaintext")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1809:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-plaintext")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1811:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allowed-login-attempts")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1811:33: warning: passing 'char[27]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allowed-login-attempts")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1813:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set chroot-server")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1813:33: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set chroot-server")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1815:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set restrict-mailbox-access")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1815:33: warning: passing 'char[28]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set restrict-mailbox-access")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1817:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"root")) restrictBox |= RESTRICTROOT; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1817:32: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"root")) restrictBox |= RESTRICTROOT; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1818:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"otherusers")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1818:37: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"otherusers")) ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1820:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"all")) restrictBox = -1; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1820:37: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"all")) restrictBox = -1; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1822:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set advertise-the-world")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1822:33: warning: passing 'char[24]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set advertise-the-world")) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1824:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set limited-advertise")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1824:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set limited-advertise")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1827:7: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s,"set disable-automatic-shared-namespaces")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1827:9: warning: passing 'char[40]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s,"set disable-automatic-shared-namespaces")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1829:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allow-user-config")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1829:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allow-user-config")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1831:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allow-reverse-dns")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1831:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allow-reverse-dns")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1833:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set k5-cp-uses-service-name")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1833:33: warning: passing 'char[28]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set k5-cp-uses-service-name")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1837:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set plaintext-allowed-clients")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1837:33: warning: passing 'char[30]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set plaintext-allowed-clients")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:49: In file included from ./tcp_unix.c:26: ./ip_unix.c:130:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,text)),NIL,&hints,&ai))) { ^~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:49: In file included from ./tcp_unix.c:26: ./ip_unix.c:130:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,text)),NIL,&hints,&ai))) { ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/netdb.h:251:30: note: passing argument to parameter here int getaddrinfo(const char *, const char *, ^ In file included from osdep.c:49: In file included from ./tcp_unix.c:26: ./ip_unix.c:248:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,name)),NIL,&hints, ^~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:49: In file included from ./tcp_unix.c:26: ./ip_unix.c:248:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,name)),NIL,&hints, ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/netdb.h:251:30: note: passing argument to parameter here int getaddrinfo(const char *, const char *, ^ In file included from osdep.c:49: ./tcp_unix.c:179:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = ip_stringtoaddr (tmp,&adrlen,&family)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:179:13: note: place parentheses around the assignment to silence this warning if (adr = ip_stringtoaddr (tmp,&adrlen,&family)) { ^ ( ) ./tcp_unix.c:179:13: note: use '==' to turn this assignment into an equality comparison if (adr = ip_stringtoaddr (tmp,&adrlen,&family)) { ^ == ./tcp_unix.c:226:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream->ictr = ctr) *(stream->iptr = stream->ibuf) = tmp[0]; ~~~~~~~~~~~~~^~~~~ ./tcp_unix.c:226:22: note: place parentheses around the assignment to silence this warning if (stream->ictr = ctr) *(stream->iptr = stream->ibuf) = tmp[0]; ^ ( ) ./tcp_unix.c:226:22: note: use '==' to turn this assignment into an equality comparison if (stream->ictr = ctr) *(stream->iptr = stream->ibuf) = tmp[0]; ^ == ./tcp_unix.c:374:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = ip_stringtoaddr (host,&len,&i)) fs_give ((void **) &adr); ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:374:13: note: place parentheses around the assignment to silence this warning if (adr = ip_stringtoaddr (host,&len,&i)) fs_give ((void **) &adr); ^ ( ) ./tcp_unix.c:374:13: note: use '==' to turn this assignment into an equality comparison if (adr = ip_stringtoaddr (host,&len,&i)) fs_give ((void **) &adr); ^ == ./tcp_unix.c:477:43: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] char *ret = tcp_getline_work (stream,&n,&contd); ^~~~~~ ./tcp_unix.c:61:17: note: passing argument to parameter 'contd' here long *contd); ^ ./tcp_unix.c:485:41: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = tcp_getline_work (stream,&n,&contd); ^~~~~~ ./tcp_unix.c:61:17: note: passing argument to parameter 'contd' here long *contd); ^ ./tcp_unix.c:553:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = min (size,stream->ictr)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:553:9: note: place parentheses around the assignment to silence this warning if (n = min (size,stream->ictr)) { ^ ( ) ./tcp_unix.c:553:9: note: use '==' to turn this assignment into an equality comparison if (n = min (size,stream->ictr)) { ^ == ./tcp_unix.c:874:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (s,' ')) *v = '\0'; ~~^~~~~~~~~~~~~~~~ ./tcp_unix.c:874:8: note: place parentheses around the assignment to silence this warning if (v = strchr (s,' ')) *v = '\0'; ^ ( ) ./tcp_unix.c:874:8: note: use '==' to turn this assignment into an equality comparison if (v = strchr (s,' ')) *v = '\0'; ^ == ./tcp_unix.c:1003:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = tcp_name_valid (ip_sockaddrtoname (sadr,buf))) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:1003:11: note: place parentheses around the assignment to silence this warning if (t = tcp_name_valid (ip_sockaddrtoname (sadr,buf))) { ^ ( ) ./tcp_unix.c:1003:11: note: use '==' to turn this assignment into an equality comparison if (t = tcp_name_valid (ip_sockaddrtoname (sadr,buf))) { ^ == osdep.c:159:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (pw = ((pam_start ((char *) mail_parameters (NIL,GET_SERVICENAME,NIL), ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:159:10: note: place parentheses around the assignment to silence this warning if (pw = ((pam_start ((char *) mail_parameters (NIL,GET_SERVICENAME,NIL), ^ ( osdep.c:159:10: note: use '==' to turn this assignment into an equality comparison if (pw = ((pam_start ((char *) mail_parameters (NIL,GET_SERVICENAME,NIL), ^ == osdep.c:472:12: warning: 'TLSv1_client_method' is deprecated [-Wdeprecated-declarations] TLSv1_client_method () : ^ /usr/include/openssl/ssl.h:2017:1: note: 'TLSv1_client_method' has been explicitly marked deprecated here OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_client_method(void); ^ /usr/include/openssl/macros.h:204:49: note: expanded from macro 'OSSL_DEPRECATEDIN_1_1_0' # define OSSL_DEPRECATEDIN_1_1_0 OSSL_DEPRECATED(1.1.0) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:490:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:490:9: note: place parentheses around the assignment to silence this warning if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL)) ^ ( ) osdep.c:490:9: note: use '==' to turn this assignment into an equality comparison if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL)) ^ == osdep.c:494:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (cert = PEM_read_bio_X509 (bio = BIO_new_mem_buf (s,sl),NIL,NIL,NIL)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:494:14: note: place parentheses around the assignment to silence this warning if (cert = PEM_read_bio_X509 (bio = BIO_new_mem_buf (s,sl),NIL,NIL,NIL)) { ^ ( ) osdep.c:494:14: note: use '==' to turn this assignment into an equality comparison if (cert = PEM_read_bio_X509 (bio = BIO_new_mem_buf (s,sl),NIL,NIL,NIL)) { ^ == osdep.c:503:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (key = PEM_read_bio_PrivateKey (bio = BIO_new_mem_buf (t,tl), ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:503:15: note: place parentheses around the assignment to silence this warning if (key = PEM_read_bio_PrivateKey (bio = BIO_new_mem_buf (t,tl), ^ ( osdep.c:503:15: note: use '==' to turn this assignment into an equality comparison if (key = PEM_read_bio_PrivateKey (bio = BIO_new_mem_buf (t,tl), ^ == osdep.c:641:43: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] char *ret = ssl_getline_work (stream,&n,&contd); ^~~~~~ osdep.c:314:17: note: passing argument to parameter 'contd' here long *contd); ^ osdep.c:649:41: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = ssl_getline_work (stream,&n,&contd); ^~~~~~ osdep.c:314:17: note: passing argument to parameter 'contd' here long *contd); ^ osdep.c:1177:16: warning: 'SSL_CTX_use_RSAPrivateKey_file' is deprecated [-Wdeprecated-declarations] else if (!(SSL_CTX_use_RSAPrivateKey_file (stream->context,key, ^ /usr/include/openssl/ssl.h:1696:1: note: 'SSL_CTX_use_RSAPrivateKey_file' has been explicitly marked deprecated here OSSL_DEPRECATEDIN_3_0 ^ /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0' # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:1192:8: warning: 'PEM_read_bio_DHparams' is deprecated [-Wdeprecated-declarations] dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL); ^ /usr/include/openssl/pem.h:469:21: note: 'PEM_read_bio_DHparams' has been explicitly marked deprecated here DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH) ^ /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0' # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:1215:5: warning: 'DH_free' is deprecated [-Wdeprecated-declarations] DH_free(dh); ^ /usr/include/openssl/dh.h:204:1: note: 'DH_free' has been explicitly marked deprecated here OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh); ^ /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0' # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:1253:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (i = ERR_get_error ()) /* SSL failure */ ~~^~~~~~~~~~~~~~~~~~ osdep.c:1253:12: note: place parentheses around the assignment to silence this warning while (i = ERR_get_error ()) /* SSL failure */ ^ ( ) osdep.c:1253:12: note: use '==' to turn this assignment into an equality comparison while (i = ERR_get_error ()) /* SSL failure */ ^ == osdep.c:1272:17: warning: 'RSA_generate_key' is deprecated [-Wdeprecated-declarations] if (!(key = RSA_generate_key (export ? keylength : 1024,RSA_F4,NIL,NIL))) { ^ /usr/include/openssl/rsa.h:253:1: note: 'RSA_generate_key' has been explicitly marked deprecated here OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void ^ /usr/include/openssl/macros.h:248:49: note: expanded from macro 'OSSL_DEPRECATEDIN_0_9_8' # define OSSL_DEPRECATEDIN_0_9_8 OSSL_DEPRECATED(0.9.8) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:1275:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (i = ERR_get_error ()) ~~^~~~~~~~~~~~~~~~~~ osdep.c:1275:16: note: place parentheses around the assignment to silence this warning while (i = ERR_get_error ()) ^ ( ) osdep.c:1275:16: note: use '==' to turn this assignment into an equality comparison while (i = ERR_get_error ()) ^ == 256 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` mail.c mail.c:213:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream->cache[i] = stream->cache[msgno]) ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:213:28: note: place parentheses around the assignment to silence this warning if (stream->cache[i] = stream->cache[msgno]) ^ ( ) mail.c:213:28: note: use '==' to turn this assignment into an equality comparison if (stream->cache[i] = stream->cache[msgno]) ^ == mail.c:384:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:384:57: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:389:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:389:57: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:391:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) d) d->flags &= ~DR_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:391:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) d) d->flags &= ~DR_DISABLE; ^ ( ) mail.c:391:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) d) d->flags &= ~DR_DISABLE; ^ == mail.c:394:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:394:57: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:396:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) d) d->flags |= DR_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:396:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) d) d->flags |= DR_DISABLE; ^ ( ) mail.c:396:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) d) d->flags |= DR_DISABLE; ^ == mail.c:400:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:400:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:401:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags &= ~AU_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:401:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags &= ~AU_DISABLE; ^ ( ) mail.c:401:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags &= ~AU_DISABLE; ^ == mail.c:405:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:405:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:406:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags |= AU_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:406:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags |= AU_DISABLE; ^ ( ) mail.c:406:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags |= AU_DISABLE; ^ == mail.c:410:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:410:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:411:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags &= ~AU_HIDE; ~~~~^~~~~~~~~~~~ mail.c:411:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags &= ~AU_HIDE; ^ ( ) mail.c:411:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags &= ~AU_HIDE; ^ == mail.c:415:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:415:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:416:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags |= AU_HIDE; ~~~~^~~~~~~~~~~~ mail.c:416:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags |= AU_HIDE; ^ ( ) mail.c:416:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags |= AU_HIDE; ^ == mail.c:650:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = smtp_parameters (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:650:11: note: place parentheses around the assignment to silence this warning if (r = smtp_parameters (function,value)) ret = r; ^ ( ) mail.c:650:11: note: use '==' to turn this assignment into an equality comparison if (r = smtp_parameters (function,value)) ret = r; ^ == mail.c:651:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = env_parameters (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:651:11: note: place parentheses around the assignment to silence this warning if (r = env_parameters (function,value)) ret = r; ^ ( ) mail.c:651:11: note: use '==' to turn this assignment into an equality comparison if (r = env_parameters (function,value)) ret = r; ^ == mail.c:652:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = tcp_parameters (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:652:11: note: place parentheses around the assignment to silence this warning if (r = tcp_parameters (function,value)) ret = r; ^ ( ) mail.c:652:11: note: use '==' to turn this assignment into an equality comparison if (r = tcp_parameters (function,value)) ret = r; ^ == mail.c:654:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = (*stream->dtb->parameters) (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:654:13: note: place parentheses around the assignment to silence this warning if (r = (*stream->dtb->parameters) (function,value)) ret = r; ^ ( ) mail.c:654:13: note: use '==' to turn this assignment into an equality comparison if (r = (*stream->dtb->parameters) (function,value)) ret = r; ^ == mail.c:658:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = (d->parameters) (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:658:13: note: place parentheses around the assignment to silence this warning if (r = (d->parameters) (function,value)) ret = r; ^ ( ) mail.c:658:13: note: use '==' to turn this assignment into an equality comparison if (r = (d->parameters) (function,value)) ret = r; ^ == mail.c:772:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strpbrk (s = t,"/:=")) { ~~^~~~~~~~~~~~~~~~~~~~~~~ mail.c:772:13: note: place parentheses around the assignment to silence this warning if (t = strpbrk (s = t,"/:=")) { ^ ( ) mail.c:772:13: note: use '==' to turn this assignment into an equality comparison if (t = strpbrk (s = t,"/:=")) { ^ == mail.c:790:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strpbrk (v = t,"/:")) { ~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:790:10: note: place parentheses around the assignment to silence this warning if (t = strpbrk (v = t,"/:")) { ^ ( ) mail.c:790:10: note: use '==' to turn this assignment into an equality comparison if (t = strpbrk (v = t,"/:")) { ^ == mail.c:797:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"service") && (i < NETMAXSRV) && !*mb->service) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:797:26: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"service") && (i < NETMAXSRV) && !*mb->service) ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:798:11: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lcase (strcpy (mb->service,v)); ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ mail.c:799:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"user") && (i < NETMAXUSER) && !*mb->user) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:799:31: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"user") && (i < NETMAXUSER) && !*mb->user) ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:801:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"authuser") && (i < NETMAXUSER) && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:801:31: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"authuser") && (i < NETMAXUSER) && ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:807:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"anonymous")) mb->anoflag = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:807:26: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"anonymous")) mb->anoflag = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:808:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"debug")) mb->dbgflag = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:808:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"debug")) mb->dbgflag = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:809:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"readonly")) mb->readonlyflag = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:809:31: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"readonly")) mb->readonlyflag = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:810:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"secure")) mb->secflag = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:810:31: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"secure")) mb->secflag = T; ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:811:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"norsh")) mb->norsh = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:811:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"norsh")) mb->norsh = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:812:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"loser")) mb->loser = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:812:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"loser")) mb->loser = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:813:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tls") && !mb->notlsflag) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:813:31: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tls") && !mb->notlsflag) ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:815:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tls-sslv23") && !mb->notlsflag) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:815:31: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tls-sslv23") && !mb->notlsflag) ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:817:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"notls") && !mb->tlsflag) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:817:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"notls") && !mb->tlsflag) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:819:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tryssl")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:819:31: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tryssl")) ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:821:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"ssl") && !mb->tlsflag) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:821:48: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"ssl") && !mb->tlsflag) ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:823:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"novalidate-cert")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:823:48: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"novalidate-cert")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:826:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"validate-cert")); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:826:48: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"validate-cert")); ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:829:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"imap") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:829:31: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"imap") || ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:830:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"nntp") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:830:24: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"nntp") || ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:831:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"pop3") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:831:24: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"pop3") || ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:832:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"smtp") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:832:24: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"smtp") || ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:833:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"submit")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:833:24: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"submit")) ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:834:11: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lcase (strcpy (mb->service,s)); ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ mail.c:835:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"imap2") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:835:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"imap2") || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:836:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap2bis") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:836:24: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap2bis") || ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:837:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap4") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:837:24: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap4") || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:838:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap4rev1")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:838:24: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap4rev1")) ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:840:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"pop")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:840:31: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"pop")) ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:925:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = d->next); /* until at the end */ ~~^~~~~~~~~ mail.c:925:12: note: place parentheses around the assignment to silence this warning while (d = d->next); /* until at the end */ ^ ( ) mail.c:925:12: note: use '==' to turn this assignment into an equality comparison while (d = d->next); /* until at the end */ ^ == mail.c:958:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = d->next); /* until at the end */ ~~^~~~~~~~~ mail.c:958:12: note: place parentheses around the assignment to silence this warning while (d = d->next); /* until at the end */ ^ ( ) mail.c:958:12: note: use '==' to turn this assignment into an equality comparison while (d = d->next); /* until at the end */ ^ == mail.c:1002:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (mailbox,"\015\012")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1002:9: note: place parentheses around the assignment to silence this warning if (s = strpbrk (mailbox,"\015\012")) { ^ ( ) mail.c:1002:9: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (mailbox,"\015\012")) { ^ == mail.c:1013:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1013:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1018:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = mail_utf7_valid (mailbox)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1018:9: note: place parentheses around the assignment to silence this warning if (s = mail_utf7_valid (mailbox)) { ^ ( ) mail.c:1018:9: note: use '==' to turn this assignment into an equality comparison if (s = mail_utf7_valid (mailbox)) { ^ == mail.c:1098:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = mail_utf7_valid (newname)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1098:9: note: place parentheses around the assignment to silence this warning if (s = mail_utf7_valid (newname)) { ^ ( ) mail.c:1098:9: note: use '==' to turn this assignment into an equality comparison if (s = mail_utf7_valid (newname)) { ^ == mail.c:1205:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream = mail_open (stream,s+1,options)) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1205:18: note: place parentheses around the assignment to silence this warning if (stream = mail_open (stream,s+1,options)) { ^ ( ) mail.c:1205:18: note: use '==' to turn this assignment into an equality comparison if (stream = mail_open (stream,s+1,options)) { ^ == mail.c:1222:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream = mail_open (stream,mb.mailbox,options)) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1222:18: note: place parentheses around the assignment to silence this warning if (stream = mail_open (stream,mb.mailbox,options)) { ^ ( ) mail.c:1222:18: note: use '==' to turn this assignment into an equality comparison if (stream = mail_open (stream,mb.mailbox,options)) { ^ == mail.c:1249:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (tmp,"/\\:")) *s++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:1249:13: note: place parentheses around the assignment to silence this warning if (s = strpbrk (tmp,"/\\:")) *s++ = '\0'; ^ ( ) mail.c:1249:13: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (tmp,"/\\:")) *s++ = '\0'; ^ == mail.c:1255:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,tmp); d = d->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1255:59: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,tmp); d = d->next); ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1477:48: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->dtb && mail_uid_sequence (stream,sequence) && ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:1493:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->dtb && mail_sequence (stream,sequence) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:1518:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ov.date = env->date; ^ ~~~~~~~~~ mail.c:1549:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1549:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1549:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1661:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1661:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1661:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1731:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1731:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1731:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1736:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((b = mail_body (stream,msgno,section)) && ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:1784:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (rt.data = (unsigned char *) ~~~~~~~~^~~~~~~~~~~~~~~~~~~ mail.c:1784:19: note: place parentheses around the assignment to silence this warning if (rt.data = (unsigned char *) ^ ( mail.c:1784:19: note: use '==' to turn this assignment into an equality comparison if (rt.data = (unsigned char *) ^ == mail.c:1822:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1822:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1822:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1827:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((b = mail_body (stream,msgno,section)) && ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:1877:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1877:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1877:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1881:61: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(section && *section && (b = mail_body (stream,msgno,section)))) ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:1960:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1960:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1960:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1964:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(b = mail_body (stream,msgno,section))) return ""; ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:2018:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2018:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:2018:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:2024:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((b = mail_body (stream,msgno,section)) && ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:2088:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2088:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:2088:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:2092:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(b = mail_body (stream,msgno,section))) return NIL; ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:2238:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (delta = ((last - first) / 2)) { ~~~~~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:2238:12: note: place parentheses around the assignment to silence this warning if (delta = ((last - first) / 2)) { ^ ( ) mail.c:2238:12: note: use '==' to turn this assignment into an equality comparison if (delta = ((last - first) / 2)) { ^ == mail.c:2314:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & ST_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:2315:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:2392:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msg = utf8_badcharset (charset)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2392:11: note: place parentheses around the assignment to silence this warning if (msg = utf8_badcharset (charset)) { ^ ( ) mail.c:2392:11: note: use '==' to turn this assignment into an equality comparison if (msg = utf8_badcharset (charset)) { ^ == mail.c:2604:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strncmp (lcase (strcpy (tmp,mailbox)),"#driver.",8)) { ^~~~~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ mail.c:2604:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strncmp (lcase (strcpy (tmp,mailbox)),"#driver.",8)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:111:26: note: passing argument to parameter here int strncmp(const char *, const char *, size_t) __pure; ^ mail.c:2618:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (d = mail_valid (stream,mailbox,NIL)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2618:14: note: place parentheses around the assignment to silence this warning else if (d = mail_valid (stream,mailbox,NIL)) ^ ( ) mail.c:2618:14: note: use '==' to turn this assignment into an equality comparison else if (d = mail_valid (stream,mailbox,NIL)) ^ == mail.c:2656:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = (MESSAGECACHE *) (*mailcache) (stream,i,CH_ELT)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2656:13: note: place parentheses around the assignment to silence this warning if (elt = (MESSAGECACHE *) (*mailcache) (stream,i,CH_ELT)) ^ ( ) mail.c:2656:13: note: use '==' to turn this assignment into an equality comparison if (elt = (MESSAGECACHE *) (*mailcache) (stream,i,CH_ELT)) ^ == mail.c:2726:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(i = strtoul (section,(char **) §ion,10)) || ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2731:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (pt = b->nested.part) while (--i && (pt = pt->next)); ~~~^~~~~~~~~~~~~~~~ mail.c:2731:11: note: place parentheses around the assignment to silence this warning if (pt = b->nested.part) while (--i && (pt = pt->next)); ^ ( ) mail.c:2731:11: note: use '==' to turn this assignment into an equality comparison if (pt = b->nested.part) while (--i && (pt = pt->next)); ^ == mail.c:2858:27: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && *s && (strlen (s) < (size_t)MAILTMPLEN)) s = ucase (strcpy (tmp,s)); ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mail.c:2858:76: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && *s && (strlen (s) < (size_t)MAILTMPLEN)) s = ucase (strcpy (tmp,s)); ^ /usr/include/string.h:87:56: note: passing argument to parameter here char *strcpy(char * __restrict, const char * __restrict); ^ mail.c:2858:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && *s && (strlen (s) < (size_t)MAILTMPLEN)) s = ucase (strcpy (tmp,s)); ^~~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ mail.c:2864:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(m = strtoul (s,(char **) &s,10))) return NIL; ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2868:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (isdigit (*++s) && (d = strtoul (s,(char **) &s,10)) && ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2870:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] y = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2880:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((m = strtoul (s+1,(char **) &s,10)) && (*s++ == '-') && ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2881:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (d = strtoul (s,(char **) &s,10)) && !*s) break; ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2886:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (strlen (s) < (size_t) 5) return NIL; ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mail.c:2914:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] y = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2938:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d = strtoul (s+1,(char **) &s,10); ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2940:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] m = strtoul (++s,(char **) &s,10); ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2941:32: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] y = (*s == ':') ? strtoul (++s,(char **) &s,10) : 0; ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:3091:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = gmtime (&tn)) { /* minus UTC minutes since midnight */ ~~^~~~~~~~~~~~~~ mail.c:3091:11: note: place parentheses around the assignment to silence this warning if (t = gmtime (&tn)) { /* minus UTC minutes since midnight */ ^ ( ) mail.c:3091:11: note: use '==' to turn this assignment into an equality comparison if (t = gmtime (&tn)) { /* minus UTC minutes since midnight */ ^ == mail.c:3271:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(i = strtoul (sequence,(char **) &sequence,10))) { ^~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:3282:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(j = strtoul (sequence,(char **) &sequence,10))) { ^~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:3312:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (x = mail_msgno (stream,i)) mail_elt (stream,x)->sequence = T; ~~^~~~~~~~~~~~~~~~~~~~~~~ mail.c:3312:13: note: place parentheses around the assignment to silence this warning if (x = mail_msgno (stream,i)) mail_elt (stream,x)->sequence = T; ^ ( ) mail.c:3312:13: note: use '==' to turn this assignment into an equality comparison if (x = mail_msgno (stream,i)) mail_elt (stream,x)->sequence = T; ^ == mail.c:3345:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (lines = lines->next); ~~~~~~^~~~~~~~~~~~~ mail.c:3345:16: note: place parentheses around the assignment to silence this warning while (lines = lines->next); ^ ( ) mail.c:3345:16: note: use '==' to turn this assignment into an equality comparison while (lines = lines->next); ^ == mail.c:3377:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = t - tmp) /* see if found in header */ ~~^~~~~~~~~ mail.c:3377:11: note: place parentheses around the assignment to silence this warning if (i = t - tmp) /* see if found in header */ ^ ( ) mail.c:3377:11: note: use '==' to turn this assignment into an equality comparison if (i = t - tmp) /* see if found in header */ ^ == mail.c:3379:53: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((hdrs->text.size == i) && !compare_csizedtext (tmp,&hdrs->text)) ^~~ ./misc.h:107:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ mail.c:3523:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] BODY *body = mail_body (stream,msgno,section); ^~~~~~~ mail.c:2716:72: note: passing argument to parameter 'section' here BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,unsigned char *section) ^ mail.c:3629:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (h.data = (unsigned char *) s) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~ mail.c:3629:14: note: place parentheses around the assignment to silence this warning if (h.data = (unsigned char *) s) { ^ ( ) mail.c:3629:14: note: use '==' to turn this assignment into an equality comparison if (h.data = (unsigned char *) s) { ^ == mail.c:3680:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (st = st->next) s = s->next = mail_newstringlist (); ~~~^~~~~~~~~~ mail.c:3680:12: note: place parentheses around the assignment to silence this warning if (st = st->next) s = s->next = mail_newstringlist (); ^ ( ) mail.c:3680:12: note: use '==' to turn this assignment into an equality comparison if (st = st->next) s = s->next = mail_newstringlist (); ^ == mail.c:3695:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((body = mail_body (stream,msgno,section)) && ^~~~~~~ mail.c:2716:72: note: passing argument to parameter 'section' here BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,unsigned char *section) ^ mail.c:3762:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (body = body->nested.msg->body) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:3762:16: note: place parentheses around the assignment to silence this warning if (body = body->nested.msg->body) ^ ( ) mail.c:3762:16: note: use '==' to turn this assignment into an equality comparison if (body = body->nested.msg->body) ^ == mail.c:3779:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (st.data = (unsigned char *) ~~~~~~~~^~~~~~~~~~~~~~~~~~~ mail.c:3779:14: note: place parentheses around the assignment to silence this warning if (st.data = (unsigned char *) ^ ( mail.c:3779:14: note: use '==' to turn this assignment into an equality comparison if (st.data = (unsigned char *) ^ == mail.c:3786:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (st.data = rfc822_qprint ((unsigned char *) s,i,&st.size)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:3786:14: note: place parentheses around the assignment to silence this warning if (st.data = rfc822_qprint ((unsigned char *) s,i,&st.size)) { ^ ( ) mail.c:3786:14: note: use '==' to turn this assignment into an equality comparison if (st.data = rfc822_qprint ((unsigned char *) s,i,&st.size)) { ^ == mail.c:3862:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_csizedtext (stream->user_flags[i],&st->text)) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:107:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ mail.c:3867:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (st = st->next); ~~~^~~~~~~~~~ mail.c:3867:15: note: place parentheses around the assignment to silence this warning } while (st = st->next); ^ ( ) mail.c:3867:15: note: use '==' to turn this assignment into an equality comparison } while (st = st->next); ^ == mail.c:3896:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tadr.personal = a->personal) k += 3 + 2*strlen (a->personal); ~~~~~~~~~~~~~~^~~~~~~~~~~~~ mail.c:3896:25: note: place parentheses around the assignment to silence this warning if (tadr.personal = a->personal) k += 3 + 2*strlen (a->personal); ^ ( ) mail.c:3896:25: note: use '==' to turn this assignment into an equality comparison if (tadr.personal = a->personal) k += 3 + 2*strlen (a->personal); ^ == mail.c:3897:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tadr.adl = a->adl) k += 3 + 2*strlen (a->adl); ~~~~~~~~~^~~~~~~~ mail.c:3897:20: note: place parentheses around the assignment to silence this warning if (tadr.adl = a->adl) k += 3 + 2*strlen (a->adl); ^ ( ) mail.c:3897:20: note: use '==' to turn this assignment into an equality comparison if (tadr.adl = a->adl) k += 3 + 2*strlen (a->adl); ^ == mail.c:3898:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tadr.host = a->host) k += 3 + 2*strlen (a->host); ~~~~~~~~~~^~~~~~~~~ mail.c:3898:21: note: place parentheses around the assignment to silence this warning if (tadr.host = a->host) k += 3 + 2*strlen (a->host); ^ ( ) mail.c:3898:21: note: use '==' to turn this assignment into an equality comparison if (tadr.host = a->host) k += 3 + 2*strlen (a->host); ^ == mail.c:3993:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] switch (*ucase (criterion)) { ^~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ mail.c:4084:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_parse_date (&elt,(char *) s->text.data) && ^~~~~~~~~~~~~~~~~~~~~ mail.c:2840:56: note: passing argument to parameter 's' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *s) ^ mail.c:4133:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (d = strtok_r (c,end,r)) n = strlen (d); ~~^~~~~~~~~~~~~~~~~~~~ mail.c:4133:11: note: place parentheses around the assignment to silence this warning if (d = strtok_r (c,end,r)) n = strlen (d); ^ ( ) mail.c:4133:11: note: use '==' to turn this assignment into an equality comparison if (d = strtok_r (c,end,r)) n = strlen (d); ^ == mail.c:4340:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (env) t = env->date; ^ ~~~~~~~~~ mail.c:4344:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4344:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4344:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4356:38: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(t && mail_parse_date (&telt,t) && ^ mail.c:2840:56: note: passing argument to parameter 's' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *s) ^ mail.c:4380:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4380:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4380:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4388:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (v,':')) { ~~^~~~~~~~~~~~~~~~ mail.c:4388:9: note: place parentheses around the assignment to silence this warning if (v = strchr (v,':')) { ^ ( ) mail.c:4388:9: note: use '==' to turn this assignment into an equality comparison if (v = strchr (v,':')) { ^ == mail.c:4414:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4414:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4414:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4422:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (v,':')) { ~~^~~~~~~~~~~~~~~~ mail.c:4422:9: note: place parentheses around the assignment to silence this warning if (v = strchr (v,':')) { ^ ( ) mail.c:4422:9: note: use '==' to turn this assignment into an equality comparison if (v = strchr (v,':')) { ^ == mail.c:4448:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4448:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4448:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4456:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (v,':')) { ~~^~~~~~~~~~~~~~~~ mail.c:4456:9: note: place parentheses around the assignment to silence this warning if (v = strchr (v,':')) { ^ ( ) mail.c:4456:9: note: use '==' to turn this assignment into an equality comparison if (v = strchr (v,':')) { ^ == mail.c:4483:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4483:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4483:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4517:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (src.size = strlen (t)) { /* have non-empty subject? */ ~~~~~~~~~^~~~~~~~~~~~ mail.c:4517:16: note: place parentheses around the assignment to silence this warning if (src.size = strlen (t)) { /* have non-empty subject? */ ^ ( ) mail.c:4517:16: note: use '==' to turn this assignment into an equality comparison if (src.size = strlen (t)) { /* have non-empty subject? */ ^ == mail.c:4659:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->from,s2->from); ^~~~~~~~ ./misc.h:105:36: note: passing argument to parameter 's1' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4659:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->from,s2->from); ^~~~~~~~ ./misc.h:105:54: note: passing argument to parameter 's2' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4662:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->to,s2->to); ^~~~~~ ./misc.h:105:36: note: passing argument to parameter 's1' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4662:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->to,s2->to); ^~~~~~ ./misc.h:105:54: note: passing argument to parameter 's2' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4665:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->cc,s2->cc); ^~~~~~ ./misc.h:105:36: note: passing argument to parameter 's1' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4665:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->cc,s2->cc); ^~~~~~ ./misc.h:105:54: note: passing argument to parameter 's2' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4668:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->subject,s2->subject); ^~~~~~~~~~~ ./misc.h:105:36: note: passing argument to parameter 's1' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4668:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->subject,s2->subject); ^~~~~~~~~~~ ./misc.h:105:54: note: passing argument to parameter 's2' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4673:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (pgm = i ? NIL : pgm->next); ~~~~^~~~~~~~~~~~~~~~~~~~~ mail.c:4673:14: note: place parentheses around the assignment to silence this warning while (pgm = i ? NIL : pgm->next); ^ ( ) mail.c:4673:14: note: use '==' to turn this assignment into an equality comparison while (pgm = i ? NIL : pgm->next); ^ == mail.c:4767:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (type,t->name)) { ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4767:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (type,t->name)) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4800:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (lst = (*sorter) (stream,charset,spg,&pgm,flags & ~(SE_FREE | SE_UID))){ ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4800:11: note: place parentheses around the assignment to silence this warning if (lst = (*sorter) (stream,charset,spg,&pgm,flags & ~(SE_FREE | SE_UID))){ ^ ( ) mail.c:4800:11: note: use '==' to turn this assignment into an equality comparison if (lst = (*sorter) (stream,charset,spg,&pgm,flags & ~(SE_FREE | SE_UID))){ ^ == mail.c:4811:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (top->sc->subject,s->subject)) { ^~~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4811:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (top->sc->subject,s->subject)) { ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4914:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (env = mail_fetch_structure (stream,s->num,NIL,NIL)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4914:10: note: place parentheses around the assignment to silence this warning if (env = mail_fetch_structure (stream,s->num,NIL,NIL)) { ^ ( ) mail.c:4914:10: note: use '==' to turn this assignment into an equality comparison if (env = mail_fetch_structure (stream,s->num,NIL,NIL)) { ^ == mail.c:4962:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] THREADLINKS); st = st->next; con = nxc) { ~~~^~~~~~~~~~ mail.c:4962:28: note: place parentheses around the assignment to silence this warning THREADLINKS); st = st->next; con = nxc) { ^ ( ) mail.c:4962:28: note: use '==' to turn this assignment into an equality comparison THREADLINKS); st = st->next; con = nxc) { ^ == mail.c:5132:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!s->date && ov->date && mail_parse_date (&telt,ov->date)) { ^~~~~~~~ mail.c:2840:56: note: passing argument to parameter 's' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *s) ^ mail.c:5194:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = mail_thread_parse_msgid (s,&s)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:5194:9: note: place parentheses around the assignment to silence this warning if (t = mail_thread_parse_msgid (s,&s)) { ^ ( ) mail.c:5194:9: note: use '==' to turn this assignment into an equality comparison if (t = mail_thread_parse_msgid (s,&s)) { ^ == mail.c:5198:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (cur = ret; t = mail_thread_parse_msgid (s,&s); cur = cur->next) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:5198:25: note: place parentheses around the assignment to silence this warning for (cur = ret; t = mail_thread_parse_msgid (s,&s); cur = cur->next) { ^ ( ) mail.c:5198:25: note: use '==' to turn this assignment into an equality comparison for (cur = ret; t = mail_thread_parse_msgid (s,&s); cur = cur->next) { ^ == mail.c:5300:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (nxt = CHILD (con)) cur->next = mail_thread_c2node (stream,nxt,flags); ~~~~^~~~~~~~~~~~~ mail.c:5300:13: note: place parentheses around the assignment to silence this warning if (nxt = CHILD (con)) cur->next = mail_thread_c2node (stream,nxt,flags); ^ ( ) mail.c:5300:13: note: use '==' to turn this assignment into an equality comparison if (nxt = CHILD (con)) cur->next = mail_thread_c2node (stream,nxt,flags); ^ == mail.c:5382:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(i = strtoul (sequence,(char **) &sequence,10)) || ^~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:5398:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(j = strtoul (sequence,(char **) &sequence,10)) || ^~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:5451:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = strchr (t,' ')) *n++ = '\0'; ~~^~~~~~~~~~~~~~~~ mail.c:5451:13: note: place parentheses around the assignment to silence this warning if (n = strchr (t,' ')) *n++ = '\0'; ^ ( ) mail.c:5451:13: note: use '==' to turn this assignment into an equality comparison if (n = strchr (t,' ')) *n++ = '\0'; ^ == mail.c:5453:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t+1,"SEEN")) f |= fSEEN; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5453:28: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t+1,"SEEN")) f |= fSEEN; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5454:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"DELETED")) f |= fDELETED; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5454:33: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"DELETED")) f |= fDELETED; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5455:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"FLAGGED")) f |= fFLAGGED; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5455:33: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"FLAGGED")) f |= fFLAGGED; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5456:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"ANSWERED")) f |= fANSWERED; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5456:33: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"ANSWERED")) f |= fANSWERED; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5457:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"DRAFT")) f |= fDRAFT; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5457:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"DRAFT")) f |= fDRAFT; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5467:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,s)) *uf |= i = 1 << j; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5467:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,s)) *uf |= i = 1 << j; ^ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5517:27: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((!compare_cstring (smb.host,trustdns ? ^~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5517:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((!compare_cstring (smb.host,trustdns ? ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5523:27: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (omb.host,nmb.host) && ^~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5523:36: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (omb.host,nmb.host) && ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6095:43: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (auth->server && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6095:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (auth->server && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6128:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !(auth->flags & AU_DISABLE) && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6128:62: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !(auth->flags & AU_DISABLE) && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6215:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tstream = (*dv->open) (host,service,port | flags)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:6215:15: note: place parentheses around the assignment to silence this warning if (tstream = (*dv->open) (host,service,port | flags)) { ^ ( ) mail.c:6215:15: note: use '==' to turn this assignment into an equality comparison if (tstream = (*dv->open) (host,service,port | flags)) { ^ == mail.c:6237:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tstream = (*dv->aopen) (mb,service,user)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:6237:15: note: place parentheses around the assignment to silence this warning if (tstream = (*dv->aopen) (mb,service,user)) { ^ ( ) mail.c:6237:15: note: use '==' to turn this assignment into an equality comparison if (tstream = (*dv->aopen) (mb,service,user)) { ^ == 213 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` misc.c misc.c:272:41: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] for (j = patc,c = base[k = i]; (c == pat[j]); j--,c = base[--k]) ~~^~~~~~~~~ misc.c:272:41: note: remove extraneous parentheses around the comparison to silence this warning for (j = patc,c = base[k = i]; (c == pat[j]); j--,c = base[--k]) ~ ^ ~ misc.c:272:41: note: use '=' to turn this equality comparison into an assignment for (j = patc,c = base[k = i]; (c == pat[j]); j--,c = base[--k]) ^~ = misc.c:314:47: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (i = 0; i < hashtab->size; i++) if (ent = hashtab->table[i]) ~~~~^~~~~~~~~~~~~~~~~~~ misc.c:314:47: note: place parentheses around the assignment to silence this warning for (i = 0; i < hashtab->size; i++) if (ent = hashtab->table[i]) ^ ( ) misc.c:314:47: note: use '==' to turn this assignment into an equality comparison for (i = 0; i < hashtab->size; i++) if (ent = hashtab->table[i]) ^ == misc.c:331:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (ret = 0; i = (unsigned int) *key++; ret += i) ret *= HASHMULT; ~~^~~~~~~~~~~~~~~~~~~~~~~ misc.c:331:19: note: place parentheses around the assignment to silence this warning for (ret = 0; i = (unsigned int) *key++; ret += i) ret *= HASHMULT; ^ ( ) misc.c:331:19: note: use '==' to turn this assignment into an equality comparison for (ret = 0; i = (unsigned int) *key++; ret += i) ret *= HASHMULT; ^ == misc.c:450:39: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (; *s1 && *s2; s1++,s2++) if (i = (compare_ulong (*s1,*s2))) return i; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ misc.c:450:39: note: place parentheses around the assignment to silence this warning for (; *s1 && *s2; s1++,s2++) if (i = (compare_ulong (*s1,*s2))) return i; ^ ( ) misc.c:450:39: note: use '==' to turn this assignment into an equality comparison for (; *s1 && *s2; s1++,s2++) if (i = (compare_ulong (*s1,*s2))) return i; ^ == misc.c:469:39: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (; *s1 && *s2; s1++,s2++) if (i = (compare_uchar (*s1,*s2))) return i; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ misc.c:469:39: note: place parentheses around the assignment to silence this warning for (; *s1 && *s2; s1++,s2++) if (i = (compare_uchar (*s1,*s2))) return i; ^ ( ) misc.c:469:39: note: use '==' to turn this assignment into an equality comparison for (; *s1 && *s2; s1++,s2++) if (i = (compare_uchar (*s1,*s2))) return i; ^ == misc.c:488:10: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = (char *) s2->data,j = s2->size; *s1 && j; ++s1,++s,--j) ^ ~~~~~~~~~~~~~~~~~ misc.c:489:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = (compare_uchar (*s1,*s))) return i; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ misc.c:489:11: note: place parentheses around the assignment to silence this warning if (i = (compare_uchar (*s1,*s))) return i; ^ ( ) misc.c:489:11: note: use '==' to turn this assignment into an equality comparison if (i = (compare_uchar (*s1,*s))) return i; ^ == 7 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` newsrc.c newsrc.c:126:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = elt->private.uid - 1) { ~~^~~~~~~~~~~~~~~~~~~~~~ newsrc.c:126:8: note: place parentheses around the assignment to silence this warning if (k = elt->private.uid - 1) { ^ ( ) newsrc.c:126:8: note: use '==' to turn this assignment into an equality comparison if (k = elt->private.uid - 1) { ^ == newsrc.c:167:19: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_lsub (stream,'.',name,NIL); ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ newsrc.c:167:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_lsub (stream,'.',name,NIL); ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ newsrc.c:170:21: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ newsrc.c:170:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ newsrc.c:343:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = fopen (newsrc,"rb")) {/* have existing newsrc file? */ ~~^~~~~~~~~~~~~~~~~~~~~ newsrc.c:343:9: note: place parentheses around the assignment to silence this warning if (f = fopen (newsrc,"rb")) {/* have existing newsrc file? */ ^ ( ) newsrc.c:343:9: note: use '==' to turn this assignment into an equality comparison if (f = fopen (newsrc,"rb")) {/* have existing newsrc file? */ ^ == newsrc.c:368:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = newsrc_create (stream,NIL)) bf = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ newsrc.c:368:13: note: place parentheses around the assignment to silence this warning if (f = newsrc_create (stream,NIL)) bf = NIL; ^ ( ) newsrc.c:368:13: note: use '==' to turn this assignment into an equality comparison if (f = newsrc_create (stream,NIL)) bf = NIL; ^ == newsrc.c:384:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = newsrc_create (stream,T)) bf = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ newsrc.c:384:11: note: place parentheses around the assignment to silence this warning if (f = newsrc_create (stream,T)) bf = NIL; ^ ( ) newsrc.c:384:11: note: use '==' to turn this assignment into an equality comparison if (f = newsrc_create (stream,T)) bf = NIL; ^ == 8 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` smanager.c smanager.c:42:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:42:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:44:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = fopen (db,"r")) { /* make sure not already there */ ~~^~~~~~~~~~~~~~~~ smanager.c:44:9: note: place parentheses around the assignment to silence this warning if (f = fopen (db,"r")) { /* make sure not already there */ ^ ( ) smanager.c:44:9: note: use '==' to turn this assignment into an equality comparison if (f = fopen (db,"r")) { /* make sure not already there */ ^ == smanager.c:46:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (tmp,'\n')) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ smanager.c:46:13: note: place parentheses around the assignment to silence this warning if (s = strchr (tmp,'\n')) *s = '\0'; ^ ( ) smanager.c:46:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (tmp,'\n')) *s = '\0'; ^ == smanager.c:75:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:75:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:86:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (tmp,'\n')) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ smanager.c:86:13: note: place parentheses around the assignment to silence this warning if (s = strchr (tmp,'\n')) *s = '\0'; ^ ( ) smanager.c:86:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (tmp,'\n')) *s = '\0'; ^ == smanager.c:116:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = fopen (sbname,"r")) *sdb = (void *) f; ~~^~~~~~~~~~~~~~~~~~~~ smanager.c:116:11: note: place parentheses around the assignment to silence this warning if (f = fopen (sbname,"r")) *sdb = (void *) f; ^ ( ) smanager.c:116:11: note: use '==' to turn this assignment into an equality comparison if (f = fopen (sbname,"r")) *sdb = (void *) f; ^ == smanager.c:120:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (sbname,'\n')) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ smanager.c:120:11: note: place parentheses around the assignment to silence this warning if (s = strchr (sbname,'\n')) *s = '\0'; ^ ( ) smanager.c:120:11: note: use '==' to turn this assignment into an equality comparison if (s = strchr (sbname,'\n')) *s = '\0'; ^ == 9 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` utf8.c utf8.c:380:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (script,utf8_scvalid[i].name)) ^~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:380:36: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (script,utf8_scvalid[i].name)) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:397:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (charset,utf8_csvalid[i].name)) ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:397:37: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (charset,utf8_csvalid[i].name)) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:583:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] short iso2022jp = !compare_cstring (charset,"ISO-2022-JP"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:583:47: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] short iso2022jp = !compare_cstring (charset,"ISO-2022-JP"); ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:610:26: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (dcs->name,"ISO-2022-JP"))) ? ^~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:610:36: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (dcs->name,"ISO-2022-JP"))) ? ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:644:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] return (currmapcs && !compare_cstring (charset,currmapcs->name)) ? currmap : ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:644:50: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] return (currmapcs && !compare_cstring (charset,currmapcs->name)) ? currmap : ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:659:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (ret = utf8_rmap_gen (cs,currmap)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:659:16: note: place parentheses around the assignment to silence this warning else if (ret = utf8_rmap_gen (cs,currmap)) { ^ ( ) utf8.c:659:16: note: use '==' to turn this assignment into an equality comparison else if (ret = utf8_rmap_gen (cs,currmap)) { ^ == utf8.c:791:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = utf8_rmapsize (text,rmap,errch,iso2022jp)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:791:9: note: place parentheses around the assignment to silence this warning if (i = utf8_rmapsize (text,rmap,errch,iso2022jp)) { ^ ( ) utf8.c:791:9: note: use '==' to turn this assignment into an equality comparison if (i = utf8_rmapsize (text,rmap,errch,iso2022jp)) { ^ == utf8.c:1320:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"ISO-2022-JP")) s = "EUC-JP"; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:1320:29: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"ISO-2022-JP")) s = "EUC-JP"; ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:1322:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (cs = utf8_charset (s)) { ~~~^~~~~~~~~~~~~~~~~~ utf8.c:1322:12: note: place parentheses around the assignment to silence this warning if (cs = utf8_charset (s)) { ^ ( ) utf8.c:1322:12: note: use '==' to turn this assignment into an equality comparison if (cs = utf8_charset (s)) { ^ == utf8.c:2424:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (m = (struct decomposemore *) *more) switch (m->type) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2424:11: note: place parentheses around the assignment to silence this warning if (m = (struct decomposemore *) *more) switch (m->type) { ^ ( ) utf8.c:2424:11: note: use '==' to turn this assignment into an equality comparison if (m = (struct decomposemore *) *more) switch (m->type) { ^ == utf8.c:2447:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = ucs4_dbmploixtab[c - UCS4_BMPLOMIN]) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2447:13: note: place parentheses around the assignment to silence this warning if (i = ucs4_dbmploixtab[c - UCS4_BMPLOMIN]) { ^ ( ) utf8.c:2447:13: note: use '==' to turn this assignment into an equality comparison if (i = ucs4_dbmploixtab[c - UCS4_BMPLOMIN]) { ^ == utf8.c:2477:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = ucs4_dbmphiixtab[c - UCS4_BMPHIMIN]) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2477:13: note: place parentheses around the assignment to silence this warning if (i = ucs4_dbmphiixtab[c - UCS4_BMPHIMIN]) { ^ ( ) utf8.c:2477:13: note: use '==' to turn this assignment into an equality comparison if (i = ucs4_dbmphiixtab[c - UCS4_BMPHIMIN]) { ^ == utf8.c:2542:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (mr = (RECURSIVEMORE *) *more) switch (mr->more->type) { ~~~^~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2542:12: note: place parentheses around the assignment to silence this warning if (mr = (RECURSIVEMORE *) *more) switch (mr->more->type) { ^ ( ) utf8.c:2542:12: note: use '==' to turn this assignment into an equality comparison if (mr = (RECURSIVEMORE *) *more) switch (mr->more->type) { ^ == utf8.c:2562:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (mr = mn) { /* did this value recurse on us? */ ~~~^~~~ utf8.c:2562:12: note: place parentheses around the assignment to silence this warning if (mr = mn) { /* did this value recurse on us? */ ^ ( ) utf8.c:2562:12: note: use '==' to turn this assignment into an equality comparison if (mr = mn) { /* did this value recurse on us? */ ^ == 20 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` utf8aux.c utf8aux.c:47:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (st = st->next); ~~~^~~~~~~~~~ utf8aux.c:47:15: note: place parentheses around the assignment to silence this warning } while (st = st->next); ^ ( ) utf8aux.c:47:15: note: use '==' to turn this assignment into an equality comparison } while (st = st->next); ^ == utf8aux.c:136:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ls = strchr (cs,'*')) *ls = '\0'; ~~~^~~~~~~~~~~~~~~~~ utf8aux.c:136:9: note: place parentheses around the assignment to silence this warning if (ls = strchr (cs,'*')) *ls = '\0'; ^ ( ) utf8aux.c:136:9: note: use '==' to turn this assignment into an equality comparison if (ls = strchr (cs,'*')) *ls = '\0'; ^ == utf8aux.c:241:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (txt->data = (unsigned char *) rfc822_base64 (t,te - t,&txt->size)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8aux.c:241:19: note: place parentheses around the assignment to silence this warning if (txt->data = (unsigned char *) rfc822_base64 (t,te - t,&txt->size)) ^ ( ) utf8aux.c:241:19: note: use '==' to turn this assignment into an equality comparison if (txt->data = (unsigned char *) rfc822_base64 (t,te - t,&txt->size)) ^ == utf8aux.c:415:24: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (mail_utf7_valid (src)) return NIL; ^~~ ./mail.h:1630:30: note: passing argument to parameter 'mailbox' here char *mail_utf7_valid (char *mailbox); ^ utf8aux.c:420:38: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = cpytxt (&utf7,src,strlen (src)); *s; ++s) switch (*s) { ^~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ utf8aux.c:420:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = cpytxt (&utf7,src,strlen (src)); *s; ++s) switch (*s) { ^~~ ./misc.h:85:36: note: passing argument to parameter 'text' here char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size); ^ utf8aux.c:420:10: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = cpytxt (&utf7,src,strlen (src)); *s; ++s) switch (*s) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` siglocal.c `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` dummy.c dummy.c:121:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) return &dummydriver; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:121:37: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) return &dummydriver; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:159:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (test,'/')) *++s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ dummy.c:159:13: note: place parentheses around the assignment to silence this warning if (s = strchr (test,'/')) *++s = '\0'; ^ ( ) dummy.c:159:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (test,'/')) *++s = '\0'; ^ == dummy.c:167:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (test,"%*")) { ~~^~~~~~~~~~~~~~~~~~~~~ dummy.c:167:11: note: place parentheses around the assignment to silence this warning if (s = strpbrk (test,"%*")) { ^ ( ) dummy.c:167:11: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (test,"%*")) { ^ == dummy.c:173:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (file,'/')){/* find directory name */ ~~^~~~~~~~~~~~~~~~~~~~ dummy.c:173:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (file,'/')){/* find directory name */ ^ ( ) dummy.c:173:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (file,'/')){/* find directory name */ ^ == dummy.c:182:32: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch ("INBOX",ucase (test))) { ^~~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ dummy.c:182:17: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch ("INBOX",ucase (test))) { ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:221:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"INBOX") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:221:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"INBOX") && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:222:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pmatch ("INBOX",ucase (strcpy (tmp,test)))) ^~~~~~~~~~~~~~~~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ dummy.c:222:12: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pmatch ("INBOX",ucase (strcpy (tmp,test)))) ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:224:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,NIL); ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:224:31: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,NIL); ^~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:227:19: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,LATT_NOSELECT); ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:227:21: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,LATT_NOSELECT); ^~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:231:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmpx,&sdb)); ~~^~~~~~~~~~~~~~~~~~~~~ dummy.c:231:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmpx,&sdb)); ^ ( ) dummy.c:231:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmpx,&sdb)); ^ == dummy.c:280:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dp = opendir (tmp)) { /* do nothing if can't open directory */ ~~~^~~~~~~~~~~~~~~ dummy.c:280:10: note: place parentheses around the assignment to silence this warning if (dp = opendir (tmp)) { /* do nothing if can't open directory */ ^ ( ) dummy.c:280:10: note: use '==' to turn this assignment into an equality comparison if (dp = opendir (tmp)) { /* do nothing if can't open directory */ ^ == dummy.c:288:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:288:43: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:288:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:288:68: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~~~~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:292:64: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (!dir || dir[(len = strlen (dir)) - 1] == '/') while (d = readdir (dp)) ~~^~~~~~~~~~~~~~ dummy.c:292:64: note: place parentheses around the assignment to silence this warning if (!dir || dir[(len = strlen (dir)) - 1] == '/') while (d = readdir (dp)) ^ ( ) dummy.c:292:64: note: use '==' to turn this assignment into an equality comparison if (!dir || dir[(len = strlen (dir)) - 1] == '/') while (d = readdir (dp)) ^ == dummy.c:302:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((pmatch_full (strcpy (path,tmp),pat,'/') || ^~~~~~~~~~~~~~~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:302:38: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((pmatch_full (strcpy (path,tmp),pat,'/') || ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:303:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pmatch_full (strcat (path,"/"),pat,'/') || ^~~~~~~~~~~~~~~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:303:38: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pmatch_full (strcat (path,"/"),pat,'/') || ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:304:15: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] dmatch (path,pat,'/')) && ^~~~ ./env.h:30:29: note: passing argument to parameter 's' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:304:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] dmatch (path,pat,'/')) && ^~~ ./env.h:30:46: note: passing argument to parameter 'pat' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:313:19: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!pmatch (tmp,"INBOX")) { ^~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:313:23: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!pmatch (tmp,"INBOX")) { ^~~~~~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:314:25: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/')) { ^~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:314:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/')) { ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:319:30: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pmatch_full (path,pat,'/') && ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:319:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pmatch_full (path,pat,'/') && ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:323:18: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (dmatch (path,pat,'/') && ^~~~ ./env.h:30:29: note: passing argument to parameter 's' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:323:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (dmatch (path,pat,'/') && ^~~ ./env.h:30:46: note: passing argument to parameter 'pat' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:329:23: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:329:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:329:56: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:329:60: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:456:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:456:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:483:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (path,'/')) { /* found superior to this name? */ ~~^~~~~~~~~~~~~~~~~~~~ dummy.c:483:9: note: place parentheses around the assignment to silence this warning if (s = strrchr (path,'/')) { /* found superior to this name? */ ^ ( ) dummy.c:483:9: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (path,'/')) { /* found superior to this name? */ ^ == dummy.c:566:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (old,"INBOX") && stat (oldname,&sbuf)) ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:566:29: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (old,"INBOX") && stat (oldname,&sbuf)) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:595:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (stream->mailbox,"INBOX")) ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:595:42: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (stream->mailbox,"INBOX")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:702:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ dummy.c:703:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) fatal ("Impossible dummy_copy"); ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ dummy.c:724:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:724:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:726:23: warning: unsequenced modification and access to 'ts' [-Wunsequenced] if (!ts && !(*(ts = default_proto (NIL))->dtb->create) (ts,"INBOX")) ^ ~~ dummy.c:801:28: warning: expression result unused [-Wunused-value] for (i = 0, s = tmp; *s; *s++) if ((*s == '*') || (*s == '%')) ++i; ^~~~ 53 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` pseudo.c `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` netmsg.c netmsg.c:63:45: warning: call to undeclared function 'time'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] sprintf (tmp,".%lx.%lx",(unsigned long) time (0),(unsigned long)getpid ()); ^ netmsg.c:64:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = fopen (tmp,"wb+")) unlink (tmp); ~~^~~~~~~~~~~~~~~~~~~ netmsg.c:64:11: note: place parentheses around the assignment to silence this warning if (f = fopen (tmp,"wb+")) unlink (tmp); ^ ( ) netmsg.c:64:11: note: use '==' to turn this assignment into an equality comparison if (f = fopen (tmp,"wb+")) unlink (tmp); ^ == netmsg.c:73:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = net_getline (stream)) { ~~^~~~~~~~~~~~~~~~~~~~~~ netmsg.c:73:12: note: place parentheses around the assignment to silence this warning while (s = net_getline (stream)) { ^ ( ) netmsg.c:73:12: note: use '==' to turn this assignment into an equality comparison while (s = net_getline (stream)) { ^ == 3 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` flstring.c `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` fdstring.c fdstring.c:94:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s->cursize = min (s->chunksize,SIZE (s))) { ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fdstring.c:94:18: note: place parentheses around the assignment to silence this warning if (s->cursize = min (s->chunksize,SIZE (s))) { ^ ( ) fdstring.c:94:18: note: use '==' to turn this assignment into an equality comparison if (s->cursize = min (s->chunksize,SIZE (s))) { ^ == 1 warning generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` rfc822.c rfc822.c:153:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = d = strchr (tmp,':')) { ~~^~~~~~~~~~~~~~~~~~~~~~ rfc822.c:153:11: note: place parentheses around the assignment to silence this warning if (t = d = strchr (tmp,':')) { ^ ( ) rfc822.c:153:11: note: use '==' to turn this assignment into an equality comparison if (t = d = strchr (tmp,':')) { ^ == rfc822.c:157:14: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (tmp); /* coerce to uppercase */ ^~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:196:53: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!env->date && !strcmp (tmp+1,"ATE")) env->date = cpystr (d); ^ ~~~~~~~~~~ rfc822.c:202:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *d++) if (c != ' ') *t++ = c; ~~^~~~~~ rfc822.c:202:13: note: place parentheses around the assignment to silence this warning while (c = *d++) if (c != ' ') *t++ = c; ^ ( ) rfc822.c:202:13: note: use '==' to turn this assignment into an equality comparison while (c = *d++) if (c != ' ') *t++ = c; ^ == rfc822.c:216:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = rfc822_parse_phrase (d)) *t = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:216:10: note: place parentheses around the assignment to silence this warning if (t = rfc822_parse_phrase (d)) *t = '\0'; ^ ( ) rfc822.c:216:10: note: use '==' to turn this assignment into an equality comparison if (t = rfc822_parse_phrase (d)) *t = '\0'; ^ == rfc822.c:227:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *d++) if (c != ' ') *t++ = c; ~~^~~~~~ rfc822.c:227:13: note: place parentheses around the assignment to silence this warning while (c = *d++) if (c != ' ') *t++ = c; ^ ( ) rfc822.c:227:13: note: use '==' to turn this assignment into an equality comparison while (c = *d++) if (c != ' ') *t++ = c; ^ == rfc822.c:388:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (m = GETPOS (bs)) m--; /* get position in front of character */ ~~^~~~~~~~~~~~~ rfc822.c:388:13: note: place parentheses around the assignment to silence this warning if (m = GETPOS (bs)) m--; /* get position in front of character */ ^ ( ) rfc822.c:388:13: note: use '==' to turn this assignment into an equality comparison if (m = GETPOS (bs)) m--; /* get position in front of character */ ^ == rfc822.c:398:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = j - 2) for (s = s1; i-- && *s++ == (c = SNX (bs)) && --k;); ~~^~~~~~~ rfc822.c:398:8: note: place parentheses around the assignment to silence this warning if (k = j - 2) for (s = s1; i-- && *s++ == (c = SNX (bs)) && --k;); ^ ( ) rfc822.c:398:8: note: use '==' to turn this assignment into an equality comparison if (k = j - 2) for (s = s1; i-- && *s++ == (c = SNX (bs)) && --k;); ^ == rfc822.c:454:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = part->body.mime.text.size) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:454:13: note: place parentheses around the assignment to silence this warning if (i = part->body.mime.text.size) { ^ ( ) rfc822.c:454:13: note: use '==' to turn this assignment into an equality comparison if (i = part->body.mime.text.size) { ^ == rfc822.c:497:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] rfc822_parse_content_header (&part->body,ucase (s1+8),s); ^~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:497:47: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] rfc822_parse_content_header (&part->body,ucase (s1+8),s); ^~~~~~~~~~~~ ./rfc822.h:64:52: note: passing argument to parameter 'name' here void rfc822_parse_content_header (BODY *body,char *name,char *s); ^ rfc822.c:555:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (name,' ')) *t = '\0'; ~~^~~~~~~~~~~~~~~~~~~ rfc822.c:555:9: note: place parentheses around the assignment to silence this warning if (t = strchr (name,' ')) *t = '\0'; ^ ( ) rfc822.c:555:9: note: use '==' to turn this assignment into an equality comparison if (t = strchr (name,' ')) *t = '\0'; ^ == rfc822.c:568:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->disposition.type = ucase (cpystr (s)); ^~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:568:30: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->disposition.type = ucase (cpystr (s)); ^ ~~~~~~~~~~~~~~~~~~ rfc822.c:582:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stl->text.data = (unsigned char *) ucase (cpystr (s)); ^~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:609:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,body_types[i]); i++); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:609:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,body_types[i]); i++); ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:620:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body_types[body->type] = ucase (s); ^ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:620:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body_types[body->type] = ucase (s); ^ ~~~~~~~~~ rfc822.c:632:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s) body->subtype = ucase (rfc822_cpy (s)); ^~~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:632:23: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s) body->subtype = ucase (rfc822_cpy (s)); ^ ~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:650:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,body_encodings[i]); i++); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:650:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,body_encodings[i]); i++); ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:661:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body_encodings[body->encoding] = ucase (s); ^ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:661:35: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body_encodings[body->encoding] = ucase (s); ^ ~~~~~~~~~ rfc822.c:694:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] param->attribute = ucase (cpystr (s)); ^~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:694:24: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] param->attribute = ucase (cpystr (s)); ^ ~~~~~~~~~~~~~~~~~~ rfc822.c:745:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (adr = rfc822_parse_address (lst,last,&string,host,0)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:745:18: note: place parentheses around the assignment to silence this warning else if (adr = rfc822_parse_address (lst,last,&string,host,0)) { ^ ( ) rfc822.c:745:18: note: use '==' to turn this assignment into an equality comparison else if (adr = rfc822_parse_address (lst,last,&string,host,0)) { ^ == rfc822.c:799:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = rfc822_parse_group (lst,last,string,defaulthost,depth)) last = adr; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:799:11: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_group (lst,last,string,defaulthost,depth)) last = adr; ^ ( ) rfc822.c:799:11: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_group (lst,last,string,defaulthost,depth)) last = adr; ^ == rfc822.c:801:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (adr = rfc822_parse_mailbox (string,defaulthost)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:801:16: note: place parentheses around the assignment to silence this warning else if (adr = rfc822_parse_mailbox (string,defaulthost)) { ^ ( ) rfc822.c:801:16: note: use '==' to turn this assignment into an equality comparison else if (adr = rfc822_parse_mailbox (string,defaulthost)) { ^ == rfc822.c:847:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = rfc822_parse_address (lst,last,string,defaulthost,depth+1)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:847:13: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_address (lst,last,string,defaulthost,depth+1)) { ^ ( ) rfc822.c:847:13: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_address (lst,last,string,defaulthost,depth+1)) { ^ == rfc822.c:906:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (end = rfc822_parse_phrase (s)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:906:16: note: place parentheses around the assignment to silence this warning else if (end = rfc822_parse_phrase (s)) { ^ ( ) rfc822.c:906:16: note: use '==' to turn this assignment into an equality comparison else if (end = rfc822_parse_phrase (s)) { ^ == rfc822.c:1035:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = rfc822_parse_word (string,wspecials)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1035:11: note: place parentheses around the assignment to silence this warning if (t = rfc822_parse_word (string,wspecials)) { ^ ( ) rfc822.c:1035:11: note: use '==' to turn this assignment into an equality comparison if (t = rfc822_parse_word (string,wspecials)) { ^ == rfc822.c:1103:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = rfc822_parse_word (string,wspecials)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1103:14: note: place parentheses around the assignment to silence this warning else if (t = rfc822_parse_word (string,wspecials)) { ^ ( ) rfc822.c:1103:14: note: use '==' to turn this assignment into an equality comparison else if (t = rfc822_parse_word (string,wspecials)) { ^ == rfc822.c:1113:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (string = rfc822_parse_domain (string,&t)) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1113:18: note: place parentheses around the assignment to silence this warning if (string = rfc822_parse_domain (string,&t)) { ^ ( ) rfc822.c:1113:18: note: use '==' to turn this assignment into an equality comparison if (string = rfc822_parse_domain (string,&t)) { ^ == rfc822.c:1180:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (st = strchr (st,I2C_ESC)) ~~~^~~~~~~~~~~~~~~~~~~~~ rfc822.c:1180:14: note: place parentheses around the assignment to silence this warning while (st = strchr (st,I2C_ESC)) ^ ( ) rfc822.c:1180:14: note: use '==' to turn this assignment into an equality comparison while (st = strchr (st,I2C_ESC)) ^ == rfc822.c:1379:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = min (len,buf->end - buf->cur)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1379:11: note: place parentheses around the assignment to silence this warning if (i = min (len,buf->end - buf->cur)) { ^ ( ) rfc822.c:1379:11: note: use '==' to turn this assignment into an equality comparison if (i = min (len,buf->end - buf->cur)) { ^ == rfc822.c:1470:45: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] rfc822_output_header_line (buf,"Date",i,env->date) && ^~~~~~~~~ ./rfc822.h:89:11: note: passing argument to parameter 'text' here char *text); ^ rfc822.c:1627:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (; s = strpbrk (src,"\\\""); src = s + 1) { ~~^~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1627:14: note: place parentheses around the assignment to silence this warning for (; s = strpbrk (src,"\\\""); src = s + 1) { ^ ( ) rfc822.c:1627:14: note: use '==' to turn this assignment into an equality comparison for (; s = strpbrk (src,"\\\""); src = s + 1) { ^ == rfc822.c:1745:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (part = part->next); /* until done */ ~~~~~^~~~~~~~~~~~ rfc822.c:1745:17: note: place parentheses around the assignment to silence this warning while (part = part->next); /* until done */ ^ ( ) rfc822.c:1745:17: note: use '==' to turn this assignment into an equality comparison while (part = part->next); /* until done */ ^ == rfc822.c:1813:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (part = part->next); /* until done */ ~~~~~^~~~~~~~~~~~ rfc822.c:1813:17: note: place parentheses around the assignment to silence this warning while (part = part->next); /* until done */ ^ ( ) rfc822.c:1813:17: note: use '==' to turn this assignment into an equality comparison while (part = part->next); /* until done */ ^ == rfc822.c:1969:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (tmp,"\015\012")) *s = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1969:8: note: place parentheses around the assignment to silence this warning if (s = strpbrk (tmp,"\015\012")) *s = NIL; ^ ( ) rfc822.c:1969:8: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (tmp,"\015\012")) *s = NIL; ^ == 42 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` nntp.c nntp.c:351:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = net_getline (LOCAL->nntpstream->netstream)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:351:14: note: place parentheses around the assignment to silence this warning while (s = net_getline (LOCAL->nntpstream->netstream)) { ^ ( ) nntp.c:351:14: note: use '==' to turn this assignment into an equality comparison while (s = net_getline (LOCAL->nntpstream->netstream)) { ^ == nntp.c:356:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (s,' ')) { /* tie off after newsgroup name */ ~~^~~~~~~~~~~~~~~~ nntp.c:356:13: note: place parentheses around the assignment to silence this warning if (t = strchr (s,' ')) { /* tie off after newsgroup name */ ^ ( ) nntp.c:356:13: note: use '==' to turn this assignment into an equality comparison if (t = strchr (s,' ')) { /* tie off after newsgroup name */ ^ == nntp.c:360:19: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_list (stream,'.',name,NIL); ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:360:24: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_list (stream,'.',name,NIL); ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:363:21: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:363:26: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:395:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ~~^~~~~~~~~~~~~~~~~~~~ nntp.c:395:9: note: place parentheses around the assignment to silence this warning if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^ ( ) nntp.c:395:9: note: use '==' to turn this assignment into an equality comparison if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^ == nntp.c:395:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:395:66: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:398:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmp,&sdb)); ~~^~~~~~~~~~~~~~~~~~~~ nntp.c:398:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmp,&sdb)); ^ ( ) nntp.c:398:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmp,&sdb)); ^ == nntp.c:429:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (s = wildmat; s = strchr (s,'%'); *s = '*'); ~~^~~~~~~~~~~~~~~~ nntp.c:429:25: note: place parentheses around the assignment to silence this warning for (s = wildmat; s = strchr (s,'%'); *s = '*'); ^ ( ) nntp.c:429:25: note: use '==' to turn this assignment into an equality comparison for (s = wildmat; s = strchr (s,'%'); *s = '*'); ^ == nntp.c:555:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (state = newsrc_state (stream,name)) { ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:555:20: note: place parentheses around the assignment to silence this warning else if (state = newsrc_state (stream,name)) { ^ ( ) nntp.c:555:20: note: use '==' to turn this assignment into an equality comparison else if (state = newsrc_state (stream,name)) { ^ == nntp.c:565:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] newsrc_check_uid (state,k,&status.recent,&status.unseen); ^~~~~ ./newsrc.h:42:39: note: passing argument to parameter 'state' here void newsrc_check_uid (unsigned char *state,unsigned long uid, ^ nntp.c:574:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] newsrc_check_uid (state,i++,&status.recent,&status.unseen); ^~~~~ ./newsrc.h:42:39: note: passing argument to parameter 'state' here void newsrc_check_uid (unsigned char *state,unsigned long uid, ^ nntp.c:733:12: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lcase (strcpy (s,(long) mail_parameters (NIL,GET_NEWSRCCANONHOST,NIL) ? ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ nntp.c:852:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:853:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:895:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:895:67: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:928:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (t = v = s; c = *v++;) ~~^~~~~~ nntp.c:928:22: note: place parentheses around the assignment to silence this warning for (t = v = s; c = *v++;) ^ ( ) nntp.c:928:22: note: use '==' to turn this assignment into an equality comparison for (t = v = s; c = *v++;) ^ == nntp.c:998:15: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((s = net_getline (LOCAL->nntpstream->netstream)) && strcmp (s,".")){ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:998:72: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((s = net_getline (LOCAL->nntpstream->netstream)) && strcmp (s,".")){ ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ nntp.c:1038:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (ov->subject,'\t')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1038:9: note: place parentheses around the assignment to silence this warning if (t = strchr (ov->subject,'\t')) { ^ ( ) nntp.c:1038:9: note: use '==' to turn this assignment into an equality comparison if (t = strchr (ov->subject,'\t')) { ^ == nntp.c:1041:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->date = strchr (t,'\t')) { ~~~~~~~~~^~~~~~~~~~~~~~~~~ nntp.c:1041:18: note: place parentheses around the assignment to silence this warning if (ov->date = strchr (t,'\t')) { ^ ( ) nntp.c:1041:18: note: use '==' to turn this assignment into an equality comparison if (ov->date = strchr (t,'\t')) { ^ == nntp.c:1044:43: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!elt->day) mail_parse_date (elt,ov->date); ^~~~~~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ nntp.c:1048:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->message_id = strchr (ov->date,'\t')) { ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1048:26: note: place parentheses around the assignment to silence this warning if (ov->message_id = strchr (ov->date,'\t')) { ^ ( ) nntp.c:1048:26: note: use '==' to turn this assignment into an equality comparison if (ov->message_id = strchr (ov->date,'\t')) { ^ == nntp.c:1052:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->references = strchr (ov->message_id,'\t')) { ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1052:21: note: place parentheses around the assignment to silence this warning if (ov->references = strchr (ov->message_id,'\t')) { ^ ( ) nntp.c:1052:21: note: use '==' to turn this assignment into an equality comparison if (ov->references = strchr (ov->message_id,'\t')) { ^ == nntp.c:1056:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (ov->references,'\t')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1056:10: note: place parentheses around the assignment to silence this warning if (t = strchr (ov->references,'\t')) { ^ ( ) nntp.c:1056:10: note: use '==' to turn this assignment into an equality comparison if (t = strchr (ov->references,'\t')) { ^ == nntp.c:1061:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (t,'\t')) { ~~^~~~~~~~~~~~~~~~~ nntp.c:1061:12: note: place parentheses around the assignment to silence this warning if (t = strchr (t,'\t')) { ^ ( ) nntp.c:1061:12: note: use '==' to turn this assignment into an equality comparison if (t = strchr (t,'\t')) { ^ == nntp.c:1065:30: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->optional.xref = strchr (t,'\t')) ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ nntp.c:1065:30: note: place parentheses around the assignment to silence this warning if (ov->optional.xref = strchr (t,'\t')) ^ ( ) nntp.c:1065:30: note: use '==' to turn this assignment into an equality comparison if (ov->optional.xref = strchr (t,'\t')) ^ == nntp.c:1098:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = netmsg_slurp (LOCAL->nntpstream->netstream,size,NIL)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1098:13: note: place parentheses around the assignment to silence this warning if (f = netmsg_slurp (LOCAL->nntpstream->netstream,size,NIL)) { ^ ( ) nntp.c:1098:13: note: use '==' to turn this assignment into an equality comparison if (f = netmsg_slurp (LOCAL->nntpstream->netstream,size,NIL)) { ^ == nntp.c:1150:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (LOCAL->txt = netmsg_slurp (LOCAL->nntpstream->netstream, ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1150:22: note: place parentheses around the assignment to silence this warning if (LOCAL->txt = netmsg_slurp (LOCAL->nntpstream->netstream, ^ ( nntp.c:1150:22: note: use '==' to turn this assignment into an equality comparison if (LOCAL->txt = netmsg_slurp (LOCAL->nntpstream->netstream, ^ == nntp.c:1215:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msg = utf8_badcharset (charset)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1215:11: note: place parentheses around the assignment to silence this warning if (msg = utf8_badcharset (charset)) { ^ ( ) nntp.c:1215:11: note: use '==' to turn this assignment into an equality comparison if (msg = utf8_badcharset (charset)) { ^ == nntp.c:1260:39: warning: call to undeclared function 'time'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] unsigned long now = (unsigned long) time (0); ^ nntp.c:1268:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (set = pgm->msgno) { /* must be inside this sequence */ ~~~~^~~~~~~~~~~~ nntp.c:1268:13: note: place parentheses around the assignment to silence this warning if (set = pgm->msgno) { /* must be inside this sequence */ ^ ( ) nntp.c:1268:13: note: use '==' to turn this assignment into an equality comparison if (set = pgm->msgno) { /* must be inside this sequence */ ^ == nntp.c:1276:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (set = pgm->uid) { /* must be inside this sequence */ ~~~~^~~~~~~~~~ nntp.c:1276:13: note: place parentheses around the assignment to silence this warning if (set = pgm->uid) { /* must be inside this sequence */ ^ ( ) nntp.c:1276:13: note: use '==' to turn this assignment into an equality comparison if (set = pgm->uid) { /* must be inside this sequence */ ^ == nntp.c:1313:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!mail_parse_date (&delt,ov->date) || ^~~~~~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ nntp.c:1512:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (t = v = s; c = *v++;) if ((c != '\012') && (c != '\015')) *t++ = c; ~~^~~~~~ nntp.c:1512:25: note: place parentheses around the assignment to silence this warning for (t = v = s; c = *v++;) if ((c != '\012') && (c != '\015')) *t++ = c; ^ ( ) nntp.c:1512:25: note: use '==' to turn this assignment into an equality comparison for (t = v = s; c = *v++;) if ((c != '\012') && (c != '\015')) *t++ = c; ^ == nntp.c:1521:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (v,'\t')) { ~~^~~~~~~~~~~~~~~~~ nntp.c:1521:8: note: place parentheses around the assignment to silence this warning if (t = strchr (v,'\t')) { ^ ( ) nntp.c:1521:8: note: use '==' to turn this assignment into an equality comparison if (t = strchr (v,'\t')) { ^ == nntp.c:1523:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = rfc822_parse_address (&adr,adr,&v,BADHOST,0)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1523:12: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_address (&adr,adr,&v,BADHOST,0)) { ^ ( ) nntp.c:1523:12: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_address (&adr,adr,&v,BADHOST,0)) { ^ == nntp.c:1528:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (t,'\t')) { ~~^~~~~~~~~~~~~~~~~ nntp.c:1528:10: note: place parentheses around the assignment to silence this warning if (v = strchr (t,'\t')) { ^ ( ) nntp.c:1528:10: note: use '==' to turn this assignment into an equality comparison if (v = strchr (t,'\t')) { ^ == nntp.c:1530:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (mail_parse_date (&telt,t)) r->date = mail_longdate (&telt); ^ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ nntp.c:1678:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (netstream = /* try to open ordinary connection */ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1678:21: note: place parentheses around the assignment to silence this warning if (netstream = /* try to open ordinary connection */ ^ ( nntp.c:1678:21: note: use '==' to turn this assignment into an equality comparison if (netstream = /* try to open ordinary connection */ ^ == nntp.c:1719:35: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream->netstream->stream = ~~~~~~~~~~~~~~~~~~~~~~~~~~^ nntp.c:1719:35: note: place parentheses around the assignment to silence this warning if (stream->netstream->stream = ^ ( nntp.c:1719:35: note: use '==' to turn this assignment into an equality comparison if (stream->netstream->stream = ^ == nntp.c:1816:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (args = strchr (t,' ')) *args++ = '\0'; ~~~~~^~~~~~~~~~~~~~~~ nntp.c:1816:14: note: place parentheses around the assignment to silence this warning if (args = strchr (t,' ')) *args++ = '\0'; ^ ( ) nntp.c:1816:14: note: use '==' to turn this assignment into an equality comparison if (args = strchr (t,' ')) *args++ = '\0'; ^ == nntp.c:1817:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"LISTGROUP")) NNTP.ext.listgroup = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1817:29: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"LISTGROUP")) NNTP.ext.listgroup = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1818:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"OVER")) NNTP.ext.over = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1818:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"OVER")) NNTP.ext.over = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1819:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"HDR")) NNTP.ext.hdr = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1819:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"HDR")) NNTP.ext.hdr = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1820:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PAT")) NNTP.ext.pat = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1820:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PAT")) NNTP.ext.pat = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1821:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) NNTP.ext.starttls = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1821:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) NNTP.ext.starttls = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1822:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MULTIDOMAIN")) NNTP.ext.multidomain = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1822:34: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MULTIDOMAIN")) NNTP.ext.multidomain = T; ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1824:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"AUTHINFO") && args) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1824:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"AUTHINFO") && args) { ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1827:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (args,"USER")) NNTP.ext.authuser = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1827:29: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (args,"USER")) NNTP.ext.authuser = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1915:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = strstr (env->date," (")) *s = NIL; ^~~~~~~~~ /usr/include/string.h:129:26: note: passing argument to parameter here char *strstr(const char *, const char *) __pure; ^ nntp.c:1915:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strstr (env->date," (")) *s = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1915:9: note: place parentheses around the assignment to silence this warning if (s = strstr (env->date," (")) *s = NIL; ^ ( ) nntp.c:1915:9: note: use '==' to turn this assignment into an equality comparison if (s = strstr (env->date," (")) *s = NIL; ^ == nntp.c:2213:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = strstr (s,"\015\012.")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:2213:12: note: place parentheses around the assignment to silence this warning while (t = strstr (s,"\015\012.")) { ^ ( ) nntp.c:2213:12: note: use '==' to turn this assignment into an equality comparison while (t = strstr (s,"\015\012.")) { ^ == 64 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` smtp.c smtp.c:162:34: warning: passing 'char[21]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (mb.service,"submit")) { ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:162:45: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (mb.service,"submit")) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:168:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (netstream = /* try to open ordinary connection */ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ smtp.c:168:21: note: place parentheses around the assignment to silence this warning if (netstream = /* try to open ordinary connection */ ^ ( smtp.c:168:21: note: use '==' to turn this assignment into an equality comparison if (netstream = /* try to open ordinary connection */ ^ == smtp.c:180:23: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = compare_cstring ("localhost",mb.host) ? ^~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:180:35: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = compare_cstring ("localhost",mb.host) ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:693:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"SIZE")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:693:31: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"SIZE")) { ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:697:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"DELIVERBY")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:697:36: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"DELIVERBY")) { ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:701:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:701:36: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) { ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:705:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"AUTH")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:705:36: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"AUTH")) ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:711:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SIZE")) ESMTP.size.ok = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:711:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SIZE")) ESMTP.size.ok = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:712:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"8BITMIME")) ESMTP.eightbit.ok = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:712:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"8BITMIME")) ESMTP.eightbit.ok = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:713:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"DSN")) ESMTP.dsn.ok = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:713:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"DSN")) ESMTP.dsn.ok = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:714:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) ESMTP.atrn.ok = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:714:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) ESMTP.atrn.ok = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:715:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SEND")) ESMTP.service.send = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:715:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SEND")) ESMTP.service.send = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:716:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SOML")) ESMTP.service.soml = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:716:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SOML")) ESMTP.service.soml = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:717:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SAML")) ESMTP.service.saml = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:717:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SAML")) ESMTP.service.saml = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:718:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"EXPN")) ESMTP.service.expn = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:718:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"EXPN")) ESMTP.service.expn = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:719:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"HELP")) ESMTP.service.help = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:719:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"HELP")) ESMTP.service.help = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:720:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"TURN")) ESMTP.service.turn = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:720:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"TURN")) ESMTP.service.turn = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:721:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ETRN")) ESMTP.service.etrn = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:721:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ETRN")) ESMTP.service.etrn = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:722:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"STARTTLS")) ESMTP.service.starttls = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:722:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"STARTTLS")) ESMTP.service.starttls = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:723:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"RELAY")) ESMTP.service.relay = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:723:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"RELAY")) ESMTP.service.relay = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:724:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"PIPELINING")) ESMTP.service.pipe = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:724:34: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"PIPELINING")) ESMTP.service.pipe = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:725:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ENHANCEDSTATUSCODES")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:725:34: warning: passing 'char[20]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ENHANCEDSTATUSCODES")) ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:727:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"BINARYMIME")) ESMTP.service.bmime = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:727:34: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"BINARYMIME")) ESMTP.service.bmime = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:728:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"CHUNKING")) ESMTP.service.chunk = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:728:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"CHUNKING")) ESMTP.service.chunk = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:786:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = strstr (s,"\015\012.")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~ smtp.c:786:12: note: place parentheses around the assignment to silence this warning while (t = strstr (s,"\015\012.")) { ^ ( ) smtp.c:786:12: note: use '==' to turn this assignment into an equality comparison while (t = strstr (s,"\015\012.")) { ^ == 48 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` imap4r1.c imap4r1.c:503:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:503:9: note: place parentheses around the assignment to silence this warning if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^ ( ) imap4r1.c:503:9: note: use '==' to turn this assignment into an equality comparison if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^ == imap4r1.c:503:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ imap4r1.c:503:66: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ imap4r1.c:506:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmp,&sdb)); ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:506:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmp,&sdb)); ^ ( ) imap4r1.c:506:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmp,&sdb)); ^ == imap4r1.c:563:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (cmd,"LIST")) cmd = "RLIST"; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:563:33: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (cmd,"LIST")) cmd = "RLIST"; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:565:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (cmd,"LSUB")) cmd = "RLSUB"; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:565:38: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (cmd,"LSUB")) cmd = "RLSUB"; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:577:12: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strcmp (imap_send (stream,"FIND ALL.MAILBOXES",args)->key,"BAD")) && ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:578:11: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strcmp (imap_send (stream,"FIND MAILBOXES",args)->key,"BAD")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:701:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ret ? NIL : ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:848:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (reply = imap_rimap (stream,"*imap",&mb,usr,tmp)); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:848:20: note: place parentheses around the assignment to silence this warning else if (reply = imap_rimap (stream,"*imap",&mb,usr,tmp)); ^ ( ) imap4r1.c:848:20: note: use '==' to turn this assignment into an equality comparison else if (reply = imap_rimap (stream,"*imap",&mb,usr,tmp)); ^ == imap4r1.c:869:27: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!reply || strcmp (reply->tag,"*") || ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:870:11: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (strcmp (reply->key,"OK") && strcmp (reply->key,"PREAUTH"))) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:870:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (strcmp (reply->key,"OK") && strcmp (reply->key,"PREAUTH"))) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:871:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply) mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:876:37: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (LOCAL->netstream && strcmp (reply->key,"PREAUTH")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:984:36: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (mb.mailbox,"INBOX"); ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:984:47: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (mb.mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:994:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1040:13: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strcmp ((reply = imap_parse_reply (stream,cpystr (tmp)))->tag,"*")){ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:1044:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:1044:44: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:1080:37: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (reply->tag,tag)) { ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1082:70: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (compare_cstring ((reply = imap_reply (stream,tag))->tag,tag)) ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1097:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1147:39: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (compare_cstring (reply->tag,tag)) ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1148:67: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (compare_cstring ((reply = imap_reply (stream,tag))->tag,tag)) ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1157:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lsterr = cpystr (reply->text); ^~~~~~~~~~~ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ imap4r1.c:1209:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1239:12: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strcmp (reply->tag,"*")) imap_parse_unsolicited (stream,reply); ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:1244:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strlen (reply->text),len))) { ^~~~~~~~~~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ imap4r1.c:1301:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1316:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1316:13: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:1316:13: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:1316:45: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~^~~~~ imap4r1.c:1316:45: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:1316:45: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:1341:40: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!imap_OK (stream,reply)) mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1362:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1415:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ov.date = env->date; ^ ~~~~~~~~~ imap4r1.c:1463:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1498:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = (set->last == 0xffffffff) ? stream->nmsgs : ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1498:10: note: place parentheses around the assignment to silence this warning if (j = (set->last == 0xffffffff) ? stream->nmsgs : ^ ( imap4r1.c:1498:10: note: use '==' to turn this assignment into an equality comparison if (j = (set->last == 0xffffffff) ? stream->nmsgs : ^ == imap4r1.c:1521:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = (k > i) ? k - i : 0) ~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1521:9: note: place parentheses around the assignment to silence this warning if (k = (k > i) ? k - i : 0) ^ ( ) imap4r1.c:1521:9: note: use '==' to turn this assignment into an equality comparison if (k = (k > i) ? k - i : 0) ^ == imap4r1.c:1590:17: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1592:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1699:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strstr (section,".HEADER")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1699:16: note: place parentheses around the assignment to silence this warning else if (t = strstr (section,".HEADER")) { ^ ( ) imap4r1.c:1699:16: note: use '==' to turn this assignment into an equality comparison else if (t = strstr (section,".HEADER")) { ^ == imap4r1.c:1822:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1832:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1841:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1845:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1883:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = imap_uidlookahead) {/* build UID list */ ~~^~~~~~~~~~~~~~~~~~~ imap4r1.c:1883:11: note: place parentheses around the assignment to silence this warning if (k = imap_uidlookahead) {/* build UID list */ ^ ( ) imap4r1.c:1883:11: note: use '==' to turn this assignment into an equality comparison if (k = imap_uidlookahead) {/* build UID list */ ^ == imap4r1.c:1898:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1934:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1975:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2043:11: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2047:50: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (set = ss; set; set = set->next) if (i = set->first) { ~~^~~~~~~~~~~~ imap4r1.c:2047:50: note: place parentheses around the assignment to silence this warning for (set = ss; set; set = set->next) if (i = set->first) { ^ ( ) imap4r1.c:2047:50: note: use '==' to turn this assignment into an equality comparison for (set = ss; set; set = set->next) if (i = set->first) { ^ == imap4r1.c:2062:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2068:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2104:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2167:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(flags & SE_UID) && !strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2174:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2183:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2270:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (thr->name,type)) ^~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2270:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (thr->name,type)) ^~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2330:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(flags & SE_UID) && !strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2337:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2345:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2369:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,imap_OK (stream,reply) ? (long) NIL : ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2394:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mail_sequence (stream,sequence)) { ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ imap4r1.c:2422:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply) mm_log (reply->text,ret ? (long) NIL : ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2460:65: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (ir && pc && LOCAL->referral && mail_sequence (stream,sequence) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ imap4r1.c:2464:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2517:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2580:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2610:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ imap4r1.c:2614:44: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.tag = LOCAL->reply.line = cpystr ("*"); ^ ~~~~~~~~~~~~ imap4r1.c:2615:24: warning: assigning to 'unsigned char *' from 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.key = "BAD"; ^ ~~~~~ imap4r1.c:2616:25: warning: assigning to 'unsigned char *' from 'char[19]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.text = "Bad date in append"; ^ ~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2649:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = (MESSAGECACHE *) (*mc) (stream,i,CH_ELT)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2649:15: note: place parentheses around the assignment to silence this warning if (elt = (MESSAGECACHE *) (*mc) (stream,i,CH_ELT)) ^ ( ) imap4r1.c:2649:15: note: use '==' to turn this assignment into an equality comparison if (elt = (MESSAGECACHE *) (*mc) (stream,i,CH_ELT)) ^ == imap4r1.c:2704:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2704:13: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:2704:13: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:2704:45: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~^~~~~ imap4r1.c:2704:45: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:2704:45: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:2812:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2836:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2858:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2881:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2918:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*sc) (stream,cmd,((compare_cstring (cmd,"FETCH") && ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2918:46: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*sc) (stream,cmd,((compare_cstring (cmd,"FETCH") && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2919:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (cmd,"STORE") && ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2919:25: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (cmd,"STORE") && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2920:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (cmd,"SEARCH")) ? ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2920:25: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (cmd,"SEARCH")) ? ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2926:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (arglst = args) while (arg = *arglst++) { ~~~~~~~^~~~~~ imap4r1.c:2926:14: note: place parentheses around the assignment to silence this warning if (arglst = args) while (arg = *arglst++) { ^ ( ) imap4r1.c:2926:14: note: use '==' to turn this assignment into an equality comparison if (arglst = args) while (arg = *arglst++) { ^ == imap4r1.c:2926:33: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (arglst = args) while (arg = *arglst++) { ~~~~^~~~~~~~~~~ imap4r1.c:2926:33: note: place parentheses around the assignment to silence this warning if (arglst = args) while (arg = *arglst++) { ^ ( ) imap4r1.c:2926:33: note: use '==' to turn this assignment into an equality comparison if (arglst = args) while (arg = *arglst++) { ^ == imap4r1.c:2946:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,&s,&st,NIL,CMDBASE+MAXCOMMAND)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2946:17: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&st,NIL,CMDBASE+MAXCOMMAND)) ^ ( ) imap4r1.c:2946:17: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&st,NIL,CMDBASE+MAXCOMMAND)) ^ == imap4r1.c:2950:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_literal (stream,tag,&s,arg->text)) return reply; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2950:17: note: place parentheses around the assignment to silence this warning if (reply = imap_send_literal (stream,tag,&s,arg->text)) return reply; ^ ( ) imap4r1.c:2950:17: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_literal (stream,tag,&s,arg->text)) return reply; ^ == imap4r1.c:2958:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,&s,&list->text,NIL, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2958:12: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&list->text,NIL, ^ ( imap4r1.c:2958:12: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&list->text,NIL, ^ == imap4r1.c:2962:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (list = list->next); ~~~~~^~~~~~~~~~~~ imap4r1.c:2962:19: note: place parentheses around the assignment to silence this warning while (list = list->next); ^ ( ) imap4r1.c:2962:19: note: use '==' to turn this assignment into an equality comparison while (list = list->next); ^ == imap4r1.c:2966:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_spgm (stream,tag,CMDBASE,&s,arg->text, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2966:17: note: place parentheses around the assignment to silence this warning if (reply = imap_send_spgm (stream,tag,CMDBASE,&s,arg->text, ^ ( imap4r1.c:2966:17: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_spgm (stream,tag,CMDBASE,&s,arg->text, ^ == imap4r1.c:3052:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,&s,&st,T,CMDBASE+MAXCOMMAND)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3052:17: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&st,T,CMDBASE+MAXCOMMAND)) ^ ( ) imap4r1.c:3052:17: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&st,T,CMDBASE+MAXCOMMAND)) ^ == imap4r1.c:3073:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!map->date || mail_parse_date (&elt,map->date)) { ^~~~~~~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ imap4r1.c:3074:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = map->flags) { /* flags given? */ ~~^~~~~~~~~~~~ imap4r1.c:3074:10: note: place parentheses around the assignment to silence this warning if (t = map->flags) { /* flags given? */ ^ ( ) imap4r1.c:3074:10: note: use '==' to turn this assignment into an equality comparison if (t = map->flags) { /* flags given? */ ^ == imap4r1.c:3086:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,&s,&st,NIL, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3086:16: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&st,NIL, ^ ( imap4r1.c:3086:16: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&st,NIL, ^ == imap4r1.c:3090:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_literal (stream,tag,&s,map->message)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3090:14: note: place parentheses around the assignment to silence this warning if (reply = imap_send_literal (stream,tag,&s,map->message)) ^ ( ) imap4r1.c:3090:14: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_literal (stream,tag,&s,map->message)) ^ == imap4r1.c:3120:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (list = list->next); ~~~~~^~~~~~~~~~~~ imap4r1.c:3120:19: note: place parentheses around the assignment to silence this warning while (list = list->next); ^ ( ) imap4r1.c:3120:19: note: use '==' to turn this assignment into an equality comparison while (list = list->next); ^ == imap4r1.c:3199:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (strcmp (reply->tag,"+")) {/* prompt for more data? */ ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3354:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (hdr = pgm->header) do { ~~~~^~~~~~~~~~~~~ imap4r1.c:3354:11: note: place parentheses around the assignment to silence this warning if (hdr = pgm->header) do { ^ ( ) imap4r1.c:3354:11: note: use '==' to turn this assignment into an equality comparison if (hdr = pgm->header) do { ^ == imap4r1.c:3356:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,s,&hdr->line,NIL,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3356:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,s,&hdr->line,NIL,limit)) ^ ( ) imap4r1.c:3356:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,s,&hdr->line,NIL,limit)) ^ == imap4r1.c:3359:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,s,&hdr->text,NIL,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3359:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,s,&hdr->text,NIL,limit)) ^ ( ) imap4r1.c:3359:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,s,&hdr->text,NIL,limit)) ^ == imap4r1.c:3361:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (hdr = hdr->next); ~~~~^~~~~~~~~~~ imap4r1.c:3361:16: note: place parentheses around the assignment to silence this warning } while (hdr = hdr->next); ^ ( ) imap4r1.c:3361:16: note: use '==' to turn this assignment into an equality comparison } while (hdr = hdr->next); ^ == imap4r1.c:3364:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_spgm (stream,tag,base,s,pgo->first,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3364:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_spgm (stream,tag,base,s,pgo->first,limit)) ^ ( ) imap4r1.c:3364:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_spgm (stream,tag,base,s,pgo->first,limit)) ^ == imap4r1.c:3367:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_spgm (stream,tag,base,s,pgo->second,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3367:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_spgm (stream,tag,base,s,pgo->second,limit)) ^ ( ) imap4r1.c:3367:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_spgm (stream,tag,base,s,pgo->second,limit)) ^ == imap4r1.c:3373:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_spgm (stream,tag,base,s,pgl->pgm,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3373:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_spgm (stream,tag,base,s,pgl->pgm,limit)) ^ ( ) imap4r1.c:3373:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_spgm (stream,tag,base,s,pgl->pgm,limit)) ^ == imap4r1.c:3451:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_literal (stream,tag,s,&st)) return reply; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3451:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_literal (stream,tag,s,&st)) return reply; ^ ( ) imap4r1.c:3451:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_literal (stream,tag,s,&st)) return reply; ^ == imap4r1.c:3453:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_sset (stream,tag,NIL,s,set,prefix,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3453:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_sset (stream,tag,NIL,s,set,prefix,limit)) ^ ( ) imap4r1.c:3453:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_sset (stream,tag,NIL,s,set,prefix,limit)) ^ == imap4r1.c:3554:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_parse_reply (stream,net_getline (LOCAL->netstream))) { ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3554:15: note: place parentheses around the assignment to silence this warning if (reply = imap_parse_reply (stream,net_getline (LOCAL->netstream))) { ^ ( ) imap4r1.c:3554:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_parse_reply (stream,net_getline (LOCAL->netstream))) { ^ == imap4r1.c:3556:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->tag,"+")) return reply; ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3558:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->tag,"*")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3563:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (tag && !compare_cstring (tag,reply->tag)) return reply; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3589:27: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.line = text)) { ^ ~~~~ imap4r1.c:3595:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->debug) mm_dlog (LOCAL->reply.line); ^~~~~~~~~~~~~~~~~ imap4r1.c:106:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ ./mail.h:1606:21: note: passing argument to parameter 'string' here void mm_dlog (char *string); ^ imap4r1.c:3596:38: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.tag = strtok_r (LOCAL->reply.line," ",&r))) { ^~~~~~~~~~~~~~~~~ imap4r1.c:106:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3596:26: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.tag = strtok_r (LOCAL->reply.line," ",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3602:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (strcmp (LOCAL->reply.tag,"+")) { ^~~~~~~~~~~~~~~~ imap4r1.c:106:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3604:28: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.key = strtok_r (NIL," ",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3614:29: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.text = strtok_r (NIL,"\n",&r))) ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3615:54: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.text = LOCAL->reply.key + strlen (LOCAL->reply.key); ^~~~~~~~~~~~~~~~ imap4r1.c:106:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ imap4r1.c:3618:22: warning: assigning to 'unsigned char *' from 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.key = "BAD"; /* so it barfs if not expecting continuation */ ^ ~~~~~ imap4r1.c:3619:29: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.text = strtok_r (NIL,"\n",&r))) ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3620:25: warning: assigning to 'unsigned char *' from 'char[1]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.text = ""; ^ ~~ imap4r1.c:3640:40: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.tag = LOCAL->reply.line = cpystr (tag ? tag : "*"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3641:20: warning: assigning to 'unsigned char *' from 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.key = "NO"; ^ ~~~~ imap4r1.c:3642:21: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.text = text; ^ ~~~~ imap4r1.c:3657:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"OK")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3658:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,NIL,NIL); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:3662:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"NO")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3663:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,WARN,NIL); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:3665:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3666:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,ERROR,NIL); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:3690:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] msgno = strtoul (reply->key,(char **) &s,10); ^~~~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3704:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = ucase (strtok_r (reply->text," ",&r)); ^~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3704:16: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = ucase (strtok_r (reply->text," ",&r)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:3705:7: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] t = strtok_r (NIL,"\n",&r); /* and locate the text after it */ ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3708:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (s,"EXISTS") && (msgno >= stream->nmsgs)) ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3710:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (s,"RECENT") && (msgno <= stream->nmsgs)) ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3712:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (s,"EXPUNGE") && msgno && (msgno <= stream->nmsgs)) { ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3720:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t && (!strcmp (s,"FETCH") || !strcmp (s,"STORE")) && ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3720:52: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t && (!strcmp (s,"FETCH") || !strcmp (s,"STORE")) && ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3731:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((prop = (strtok_r (t," )",&r))) && (t = strtok_r (NIL,"\n",&r))) { ^ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3731:52: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((prop = (strtok_r (t," )",&r))) && (t = strtok_r (NIL,"\n",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3735:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (ucase (prop),"FLAGS")) imap_parse_flags (stream,elt,&t); ^~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:3735:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (ucase (prop),"FLAGS")) imap_parse_flags (stream,elt,&t); ^~~~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3743:27: warning: passing 'char[27]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_parse_date (elt,"01-Jan-1970 00:00:00 +0000"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ imap4r1.c:3749:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->lastuid.uid = elt->private.uid = strtoul (t,(char **) &t,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3790:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(s = strchr (md.what,']'))) { ^ ~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3792:15: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = md.what; *s && (isdigit (*s) || (*s == '.')); s++); ^ ~~~~~~~ imap4r1.c:3794:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (strncmp (s,"HEADER.FIELDS",13) && ^ /usr/include/string.h:111:26: note: passing argument to parameter here int strncmp(const char *, const char *, size_t) __pure; ^ imap4r1.c:3795:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!s[13] || strcmp (s+13,".NOT"))) ^~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3805:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strchr (s = t,' ')) *t++ = '\0'; ^~~~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:3805:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strchr (s = t,' ')) *t++ = '\0'; ^ ~~~~~~~~~~~~~~~~~~ imap4r1.c:3805:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strchr (s = t,' ')) *t++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:3805:19: note: place parentheses around the assignment to silence this warning else if (t = strchr (s = t,' ')) *t++ = '\0'; ^ ( ) imap4r1.c:3805:19: note: use '==' to turn this assignment into an equality comparison else if (t = strchr (s = t,' ')) *t++ = '\0'; ^ == imap4r1.c:3810:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] md.first = strtoul (s+1,(char **) &s,10) + 1; ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3853:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] elt->rfc822_size = strtoul (t,(char **) &t,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3889:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (strcmp (s,"COPY")) { ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3896:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"FLAGS") && reply->text && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3898:20: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s = strtok_r (reply->text+1," )",&r))) ^~~~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3898:8: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s = strtok_r (reply->text+1," )",&r))) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3901:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,stream->user_flags[i]); i++); ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3907:74: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!stream->user_flags[i]) stream->user_flags[i++] = cpystr (s); ^ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ imap4r1.c:3909:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (s = strtok_r (NIL," )",&r)); ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3909:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = strtok_r (NIL," )",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3909:14: note: place parentheses around the assignment to silence this warning while (s = strtok_r (NIL," )",&r)); ^ ( ) imap4r1.c:3909:14: note: use '==' to turn this assignment into an equality comparison while (s = strtok_r (NIL," )",&r)); ^ == imap4r1.c:3910:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"SEARCH")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3912:39: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) do ^~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3912:27: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) do ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3913:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (i = strtoul (t,NIL,10)) { ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3913:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = strtoul (t,NIL,10)) { ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:3913:13: note: place parentheses around the assignment to silence this warning if (i = strtoul (t,NIL,10)) { ^ ( ) imap4r1.c:3913:13: note: use '==' to turn this assignment into an equality comparison if (i = strtoul (t,NIL,10)) { ^ == imap4r1.c:3922:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] } while (t = strtok_r (NIL," ",&r)); ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3922:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (t = strtok_r (NIL," ",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3922:18: note: place parentheses around the assignment to silence this warning } while (t = strtok_r (NIL," ",&r)); ^ ( ) imap4r1.c:3922:18: note: use '==' to turn this assignment into an equality comparison } while (t = strtok_r (NIL," ",&r)); ^ == imap4r1.c:3924:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"SORT")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3932:39: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) { ^~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3932:27: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3933:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] do if ((i = atol (t)) && (LOCAL->filter ? ^ /usr/include/stdlib.h:94:24: note: passing argument to parameter here long atol(const char *); ^ imap4r1.c:3936:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((t = strtok_r (NIL," ",&r)) && (LOCAL->sortsize < stream->nmsgs)); ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3942:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"THREAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3946:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = reply->text) { ~~^~~~~~~~~~~~~ imap4r1.c:3946:11: note: place parentheses around the assignment to silence this warning if (s = reply->text) { ^ ( ) imap4r1.c:3946:11: note: use '==' to turn this assignment into an equality comparison if (s = reply->text) { ^ == imap4r1.c:3957:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"STATUS") && reply->text) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3961:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*txt++ == ' ') && (*txt++ == '(') && (s = strchr (txt,')')) && ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:3961:43: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*txt++ == ' ') && (*txt++ == '(') && (s = strchr (txt,')')) && ^ ~~~~~~~~~~~~~~~~ imap4r1.c:3967:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (*txt && (s = strchr (txt,' '))) { ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:3967:25: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (*txt && (s = strchr (txt,' '))) { ^ ~~~~~~~~~~~~~~~~ imap4r1.c:3970:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3971:28: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (txt,"MESSAGES")) { ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3975:33: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (txt,"RECENT")) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3979:33: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (txt,"UNSEEN")) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3983:33: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (txt,"UIDNEXT")) { ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3987:33: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (txt,"UIDVALIDITY")) { ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3996:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strcpy (strncpy (LOCAL->tmp,stream->mailbox,i) + i,t); ^ /usr/include/string.h:87:56: note: passing argument to parameter here char *strcpy(char * __restrict, const char * __restrict); ^ imap4r1.c:4004:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((!strcmp (reply->key,"LIST") || !strcmp (reply->key,"LSUB")) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4004:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((!strcmp (reply->key,"LIST") || !strcmp (reply->key,"LSUB")) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4006:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s = strchr (reply->text,')')) && (s[1] == ' ')) { ^~~~~~~~~~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:4006:8: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s = strchr (reply->text,')')) && (s[1] == ' ')) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4010:23: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (t = strtok_r (reply->text+1," ",&r)) do { ^~~~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:4010:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (t = strtok_r (reply->text+1," ",&r)) do { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4010:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strtok_r (reply->text+1," ",&r)) do { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4010:11: note: place parentheses around the assignment to silence this warning if (t = strtok_r (reply->text+1," ",&r)) do { ^ ( ) imap4r1.c:4010:11: note: use '==' to turn this assignment into an equality comparison if (t = strtok_r (reply->text+1," ",&r)) do { ^ == imap4r1.c:4011:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"\\NoInferiors")) i |= LATT_NOINFERIORS; ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4012:36: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\NoSelect")) i |= LATT_NOSELECT; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4013:36: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\Marked")) i |= LATT_MARKED; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4014:36: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\Unmarked")) i |= LATT_UNMARKED; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4015:36: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\HasChildren")) i |= LATT_HASCHILDREN; ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4016:36: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\HasNoChildren")) i |= LATT_HASNOCHILDREN; ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4019:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (t = strtok_r (NIL," ",&r)); ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4019:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = strtok_r (NIL," ",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4019:14: note: place parentheses around the assignment to silence this warning while (t = strtok_r (NIL," ",&r)); ^ ( ) imap4r1.c:4019:14: note: use '==' to turn this assignment into an equality comparison while (t = strtok_r (NIL," ",&r)); ^ == imap4r1.c:4030:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = imap_parse_astring (stream,&s,reply,&j)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4030:11: note: place parentheses around the assignment to silence this warning if (t = imap_parse_astring (stream,&s,reply,&j)) { ^ ( ) imap4r1.c:4030:11: note: use '==' to turn this assignment into an equality comparison if (t = imap_parse_astring (stream,&s,reply,&j)) { ^ == imap4r1.c:4033:13: warning: assigning to 'unsigned char *' from 'char[16384]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (s = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) t); ^ ~~~~~~~~~~ imap4r1.c:4033:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (s = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) t); ^~~~~~~~~~~~~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ imap4r1.c:4036:59: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->key[1] == 'S') mm_lsub (stream,delimiter,s,i); ^ ./mail.h:1603:54: note: passing argument to parameter 'name' here void mm_lsub (MAILSTREAM *stream,int delimiter,char *name,long attributes); ^ imap4r1.c:4037:38: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_list (stream,delimiter,s,i); ^ ./mail.h:1602:54: note: passing argument to parameter 'name' here void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes); ^ imap4r1.c:4041:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"NAMESPACE")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4048:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = reply->text) { /* parse namespace results */ ~~^~~~~~~~~~~~~ imap4r1.c:4048:11: note: place parentheses around the assignment to silence this warning if (s = reply->text) { /* parse namespace results */ ^ ( ) imap4r1.c:4048:11: note: use '==' to turn this assignment into an equality comparison if (s = reply->text) { /* parse namespace results */ ^ == imap4r1.c:4064:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"ACL") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4070:30: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] do if ((ac->identifier = imap_parse_astring (stream,&s,reply,NIL)) && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4072:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ac->rights = imap_parse_astring (stream,&s,reply,NIL); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4081:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (ar) (*ar) (stream,t,al); ^ imap4r1.c:4085:32: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (ar) (*ar) (stream,t,NIL); ^ imap4r1.c:4089:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"LISTRIGHTS") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4093:35: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && (*s++ == ' ') && (id = imap_parse_astring (stream,&s,reply,NIL))){ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4095:7: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (r = imap_parse_astring (stream,&s,reply,NIL))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4109:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (lr) (*lr) (stream,t,id,r,rl); ^ imap4r1.c:4114:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (lr) (*lr) (stream,t,id,r,NIL); ^ imap4r1.c:4132:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"MYRIGHTS") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4136:34: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && (*s++ == ' ') && (r = imap_parse_astring (stream,&s,reply,NIL))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4142:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mr) (*mr) (stream,t,r); ^ imap4r1.c:4154:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"QUOTA") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4165:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((qc->name = imap_parse_astring (stream,&s,reply,NIL)) && s && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4167:43: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (isdigit (*s)) qc->usage = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:4168:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strchr (s,' ')) t = s; ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:4168:15: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strchr (s,' ')) t = s; ^ ~~~~~~~~~~~~~~ imap4r1.c:4168:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strchr (s,' ')) t = s; ~~^~~~~~~~~~~~~~~~ imap4r1.c:4168:15: note: place parentheses around the assignment to silence this warning else if (t = strchr (s,' ')) t = s; ^ ( ) imap4r1.c:4168:15: note: use '==' to turn this assignment into an equality comparison else if (t = strchr (s,' ')) t = s; ^ == imap4r1.c:4170:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (isdigit (*s)) qc->limit = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:4171:28: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strpbrk (s," )")) t = s; ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ imap4r1.c:4171:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strpbrk (s," )")) t = s; ^ ~~~~~~~~~~~~~~~~ imap4r1.c:4171:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strpbrk (s," )")) t = s; ~~^~~~~~~~~~~~~~~~~~ imap4r1.c:4171:17: note: place parentheses around the assignment to silence this warning else if (t = strpbrk (s," )")) t = s; ^ ( ) imap4r1.c:4171:17: note: use '==' to turn this assignment into an equality comparison else if (t = strpbrk (s," )")) t = s; ^ == imap4r1.c:4176:30: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (qt) (*qt) (stream,t,ql); ^ imap4r1.c:4195:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"QUOTAROOT") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4210:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (qr) (*qr) (stream,t,rl); ^ imap4r1.c:4221:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4221:50: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4222:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,NIL,T); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4223:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"NO")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4224:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,WARN,T); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4225:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"BAD")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4226:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,ERROR,T); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4227:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"BYE")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4229:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,BYE,T); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4231:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"CAPABILITY") && reply->text) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4232:37: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_capabilities (stream,reply->text); ^~~~~~~~~~~ imap4r1.c:262:56: note: passing argument to parameter 't' here void imap_parse_capabilities (MAILSTREAM *stream,char *t); ^ imap4r1.c:4233:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"MAILBOX") && reply->text) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4235:37: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((strlen (LOCAL->prefix) + strlen (reply->text)) < IMAPTMPLEN)) ^~~~~~~~~~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ imap4r1.c:4236:18: warning: assigning to 'unsigned char *' from 'char[16384]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (t = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) reply->text); ^ ~~~~~~~~~~ imap4r1.c:4236:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (t = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) reply->text); ^~~~~~~~~~~~~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ imap4r1.c:4238:25: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_list (stream,NIL,t,NIL); ^ ./mail.h:1602:54: note: passing argument to parameter 'name' here void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes); ^ imap4r1.c:4268:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (strncpy (t = LOCAL->tmp,s,i),' ')) *s++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4268:11: note: place parentheses around the assignment to silence this warning if (s = strchr (strncpy (t = LOCAL->tmp,s,i),' ')) *s++ = '\0'; ^ ( ) imap4r1.c:4268:11: note: use '==' to turn this assignment into an equality comparison if (s = strchr (strncpy (t = LOCAL->tmp,s,i),' ')) *s++ = '\0'; ^ == imap4r1.c:4271:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"CAPABILITY")) imap_parse_capabilities(stream,s); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4271:31: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"CAPABILITY")) imap_parse_capabilities(stream,s); ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4272:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PERMANENTFLAGS") && (*s == '(') && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4272:36: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PERMANENTFLAGS") && (*s == '(') && ^~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4278:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strtok_r (s+1," ",&r)) do { ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4278:8: note: place parentheses around the assignment to silence this warning if (s = strtok_r (s+1," ",&r)) do { ^ ( ) imap4r1.c:4278:8: note: use '==' to turn this assignment into an equality comparison if (s = strtok_r (s+1," ",&r)) do { ^ == imap4r1.c:4280:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"\\Seen")) stream->perm_seen = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4280:30: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"\\Seen")) stream->perm_seen = T; ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4281:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Deleted")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4281:35: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Deleted")) ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4283:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Flagged")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4283:35: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Flagged")) ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4285:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Answered")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4285:35: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Answered")) ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4287:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Draft")) stream->perm_draft = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4287:35: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Draft")) stream->perm_draft = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4292:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = strtok_r (NIL," ",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4292:11: note: place parentheses around the assignment to silence this warning while (s = strtok_r (NIL," ",&r)); ^ ( ) imap4r1.c:4292:11: note: use '==' to turn this assignment into an equality comparison while (s = strtok_r (NIL," ",&r)); ^ == imap4r1.c:4295:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDVALIDITY") && (j = strtoul (s,NIL,10))){ ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4295:36: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDVALIDITY") && (j = strtoul (s,NIL,10))){ ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4302:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = (MESSAGECACHE *) (*mc) (stream,j,CH_ELT)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4302:14: note: place parentheses around the assignment to silence this warning if (elt = (MESSAGECACHE *) (*mc) (stream,j,CH_ELT)) ^ ( ) imap4r1.c:4302:14: note: use '==' to turn this assignment into an equality comparison if (elt = (MESSAGECACHE *) (*mc) (stream,j,CH_ELT)) ^ == imap4r1.c:4306:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDNEXT")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4306:36: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDNEXT")) ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4309:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (t,"COPYUID") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4309:29: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (t,"COPYUID") && ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4315:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (j && !compare_cstring (t,"APPENDUID") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4315:41: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (j && !compare_cstring (t,"APPENDUID") && ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4322:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"REFERRAL")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4322:26: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"REFERRAL")) ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4329:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"UIDNOTSTICKY")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4329:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"UIDNOTSTICKY")) { ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4333:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"READ-ONLY")) stream->rdonly = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4333:36: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"READ-ONLY")) stream->rdonly = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4334:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"READ-WRITE")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4334:36: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"READ-WRITE")) ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4336:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PARSE") && !errflg) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4336:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PARSE") && !errflg) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4378:12: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] nam->name = imap_parse_string (stream,txtptr,reply,NIL,NIL,NIL); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4403:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(par->attribute = imap_parse_string (stream,txtptr,reply,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4415:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(par->value = imap_parse_string (stream,txtptr,reply,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4488:29: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (isdigit (*(s = *txtptr)) && ^ ~~~~~~~ /usr/include/ctype.h:92:32: note: expanded from macro 'isdigit' #define isdigit(c) __sbistype((c), _CTYPE_D) ^ imap4r1.c:4490:12: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strtoul (*txtptr,(char **) txtptr,10))) { ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:4575:21: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*env)->subject = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4582:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*env)->in_reply_to = imap_parse_string (stream,txtptr,reply,NIL,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4584:24: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*env)->message_id = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4681:21: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] adr->personal = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4682:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] adr->adl = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4683:20: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] adr->mailbox = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4684:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] adr->host = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4781:19: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (*(flag = ++*txtptr) == ' '); ^ ~~~~~~~~~ imap4r1.c:4789:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (flag,"\\Seen")) elt->seen = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4789:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (flag,"\\Seen")) elt->seen = T; ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4790:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Deleted")) elt->deleted = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4790:39: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Deleted")) elt->deleted = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4791:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Flagged")) elt->flagged = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4791:39: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Flagged")) elt->flagged = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4792:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Answered")) elt->answered = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4792:39: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Answered")) elt->answered = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4793:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Recent")) elt->recent = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4793:39: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Recent")) elt->recent = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4794:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Draft")) elt->draft = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4794:39: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Draft")) elt->draft = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4822:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (flag,stream->user_flags[i])) return (1 << i); ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4822:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (flag,stream->user_flags[i])) return (1 << i); ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4853:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = *txtptr - s) { /* atom ends at atom_special */ ~~^~~~~~~~~~~~~ imap4r1.c:4853:11: note: place parentheses around the assignment to silence this warning if (i = *txtptr - s) { /* atom ends at atom_special */ ^ ( ) imap4r1.c:4853:11: note: use '==' to turn this assignment into an equality comparison if (i = *txtptr - s) { /* atom ends at atom_special */ ^ == imap4r1.c:4855:46: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = strncpy ((char *) fs_get (i + 1),s,i); ^ /usr/include/string.h:112:57: note: passing argument to parameter here char *strncpy(char * __restrict, const char * __restrict, size_t); ^ imap4r1.c:4855:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = strncpy ((char *) fs_get (i + 1),s,i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4896:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (c) st = ++*txtptr; /* remember start of string */ ^ ~~~~~~~~~ imap4r1.c:4951:28: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((i = strtoul (*txtptr,(char **) txtptr,10)) > MAXSERVERLIT) { ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:4973:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (rp) for (k = 0; j = min ((long) MAILTMPLEN,(long) i); i -= j) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4973:29: note: place parentheses around the assignment to silence this warning if (rp) for (k = 0; j = min ((long) MAILTMPLEN,(long) i); i -= j) { ^ ( ) imap4r1.c:4973:29: note: use '==' to turn this assignment into an equality comparison if (rp) for (k = 0; j = min ((long) MAILTMPLEN,(long) i); i -= j) { ^ == imap4r1.c:4981:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (st = string; st = strpbrk (st,"\015\012\011"); *st++ = ' '); ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4981:28: note: place parentheses around the assignment to silence this warning for (st = string; st = strpbrk (st,"\015\012\011"); *st++ = ' '); ^ ( ) imap4r1.c:4981:28: note: use '==' to turn this assignment into an equality comparison for (st = string; st = strpbrk (st,"\015\012\011"); *st++ = ' '); ^ == imap4r1.c:4983:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(reply->line = net_getline (LOCAL->netstream))) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4984:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] reply->line = cpystr (""); ^ ~~~~~~~~~~~ imap4r1.c:4985:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->debug) mm_dlog (reply->line); ^~~~~~~~~~~ ./mail.h:1606:21: note: passing argument to parameter 'string' here void mm_dlog (char *string); ^ imap4r1.c:5053:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(b = mail_body (stream,msgno,seg))) { ^~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ imap4r1.c:5131:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5131:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5131:25: note: place parentheses around the assignment to silence this warning if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ( ) imap4r1.c:5131:25: note: use '==' to turn this assignment into an equality comparison if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ == imap4r1.c:5132:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (body->subtype); ^~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5150:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->location = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5171:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5171:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5171:13: note: place parentheses around the assignment to silence this warning if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ( ) imap4r1.c:5171:13: note: use '==' to turn this assignment into an equality comparison if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ == imap4r1.c:5172:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (s); /* application always gets uppercase form */ ^ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5184:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5184:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5184:25: note: place parentheses around the assignment to silence this warning if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ( ) imap4r1.c:5184:25: note: use '==' to turn this assignment into an equality comparison if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ == imap4r1.c:5185:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (body->subtype); /* parse subtype */ ^~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5192:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->id = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5193:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->description = imap_parse_string (stream,txtptr,reply,NIL,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5195:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5195:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5195:13: note: place parentheses around the assignment to silence this warning if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ( ) imap4r1.c:5195:13: note: use '==' to turn this assignment into an equality comparison if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ == imap4r1.c:5196:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (s); /* application always gets uppercase form */ ^ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5212:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->size.bytes = strtoul (*txtptr,(char **) txtptr,10); ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:5233:30: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->size.lines = strtoul (*txtptr,(char **) txtptr,10); ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:5240:12: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->md5 = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5253:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->location = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5300:24: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if(!(par->attribute=imap_parse_string (stream,txtptr,reply,NIL,NIL, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5306:22: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(par->value = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT))){ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5332:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((*(s = *txtptr) == 'I') || (*s == 'i')) && ^ ~~~~~~~ imap4r1.c:5356:28: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->disposition.type = imap_parse_string (stream,txtptr,reply,NIL,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5399:14: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (s = imap_parse_string (stream,txtptr,reply,NIL,&i,LONGT)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5399:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (s = imap_parse_string (stream,txtptr,reply,NIL,&i,LONGT)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5399:14: note: place parentheses around the assignment to silence this warning else if (s = imap_parse_string (stream,txtptr,reply,NIL,&i,LONGT)) { ^ ( ) imap4r1.c:5399:14: note: use '==' to turn this assignment into an equality comparison else if (s = imap_parse_string (stream,txtptr,reply,NIL,&i,LONGT)) { ^ == imap4r1.c:5468:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (i = strtoul (*txtptr,(char **) txtptr,10)) do ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:5468:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = strtoul (*txtptr,(char **) txtptr,10)) do ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5468:11: note: place parentheses around the assignment to silence this warning if (i = strtoul (*txtptr,(char **) txtptr,10)) do ^ ( ) imap4r1.c:5468:11: note: use '==' to turn this assignment into an equality comparison if (i = strtoul (*txtptr,(char **) txtptr,10)) do ^ == imap4r1.c:5473:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(reply->line = net_getline (LOCAL->netstream))) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5474:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] reply->line = cpystr (""); ^ ~~~~~~~~~~~ imap4r1.c:5475:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->debug) mm_dlog (reply->line); ^~~~~~~~~~~ ./mail.h:1606:21: note: passing argument to parameter 'string' here void mm_dlog (char *string); ^ imap4r1.c:5480:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strtoul (*txtptr,(char **) txtptr,10); ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:5504:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (th = thr) { ~~~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5504:13: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (th = thr) { ^ ( ) imap4r1.c:5504:13: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (th = thr) { ^ == imap4r1.c:5504:46: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (th = thr) { ~~~^~~~~ imap4r1.c:5504:46: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (th = thr) { ^ ( ) imap4r1.c:5504:46: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (th = thr) { ^ == imap4r1.c:5514:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"IMAP4")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5514:29: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"IMAP4")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5516:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP4rev1")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5516:34: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP4rev1")) ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5518:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2")) LOCAL->cap.rfc1176 = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5518:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2")) LOCAL->cap.rfc1176 = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5519:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2bis")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5519:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2bis")) ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5521:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ACL")) LOCAL->cap.acl = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5521:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ACL")) LOCAL->cap.acl = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5522:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"QUOTA")) LOCAL->cap.quota = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5522:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"QUOTA")) LOCAL->cap.quota = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5523:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LITERAL+")) LOCAL->cap.litplus = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5523:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LITERAL+")) LOCAL->cap.litplus = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5524:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IDLE")) LOCAL->cap.idle = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5524:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IDLE")) LOCAL->cap.idle = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5525:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MAILBOX-REFERRALS")) LOCAL->cap.mbx_ref = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5525:34: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MAILBOX-REFERRALS")) LOCAL->cap.mbx_ref = T; ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5526:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-REFERRALS")) LOCAL->cap.log_ref = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5526:34: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-REFERRALS")) LOCAL->cap.log_ref = T; ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5527:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"NAMESPACE")) LOCAL->cap.namespace = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5527:34: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"NAMESPACE")) LOCAL->cap.namespace = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5528:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDPLUS")) LOCAL->cap.uidplus = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5528:34: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDPLUS")) LOCAL->cap.uidplus = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5529:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) LOCAL->cap.starttls = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5529:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) LOCAL->cap.starttls = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5530:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGINDISABLED"))LOCAL->cap.logindisabled = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5530:34: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGINDISABLED"))LOCAL->cap.logindisabled = T; ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5531:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ID")) LOCAL->cap.id = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5531:34: warning: passing 'char[3]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ID")) LOCAL->cap.id = T; ^~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5532:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CHILDREN")) LOCAL->cap.children = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5532:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CHILDREN")) LOCAL->cap.children = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5533:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MULTIAPPEND")) LOCAL->cap.multiappend = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5533:34: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MULTIAPPEND")) LOCAL->cap.multiappend = T; ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5534:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"BINARY")) LOCAL->cap.binary = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5534:34: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"BINARY")) LOCAL->cap.binary = T; ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5535:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UNSELECT")) LOCAL->cap.unselect = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5535:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UNSELECT")) LOCAL->cap.unselect = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5536:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SASL-IR")) LOCAL->cap.sasl_ir = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5536:34: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SASL-IR")) LOCAL->cap.sasl_ir = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5537:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SCAN")) LOCAL->cap.scan = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5537:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SCAN")) LOCAL->cap.scan = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5538:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"URLAUTH")) LOCAL->cap.urlauth = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5538:34: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"URLAUTH")) LOCAL->cap.urlauth = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5539:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CATENATE")) LOCAL->cap.catenate = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5539:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CATENATE")) LOCAL->cap.catenate = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5540:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CONDSTORE")) LOCAL->cap.condstore = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5540:34: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CONDSTORE")) LOCAL->cap.condstore = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5541:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ESEARCH")) LOCAL->cap.esearch = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5541:34: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ESEARCH")) LOCAL->cap.esearch = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5547:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (s = strchr (t,'=')) { ~~^~~~~~~~~~~~~~~~ imap4r1.c:5547:16: note: place parentheses around the assignment to silence this warning else if (s = strchr (t,'=')) { ^ ( ) imap4r1.c:5547:16: note: use '==' to turn this assignment into an equality comparison else if (s = strchr (t,'=')) { ^ == imap4r1.c:5549:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"THREAD") && !LOCAL->loser) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5549:31: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"THREAD") && !LOCAL->loser) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5556:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"AUTH")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5556:36: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"AUTH")) { ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5559:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ANONYMOUS")) LOCAL->cap.authanon = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5559:31: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ANONYMOUS")) LOCAL->cap.authanon = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5636:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (s = sequence; t = strpbrk (s,",:"); ) switch (*t++) { ~~^~~~~~~~~~~~~~~~~~ imap4r1.c:5636:24: note: place parentheses around the assignment to silence this warning for (s = sequence; t = strpbrk (s,",:"); ) switch (*t++) { ^ ( ) imap4r1.c:5636:24: note: use '==' to turn this assignment into an equality comparison for (s = sequence; t = strpbrk (s,",:"); ) switch (*t++) { ^ == 423 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` pop3.c pop3.c:177:22: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (mb.mailbox,"INBOX")) ? &pop3driver : NIL; ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:177:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (mb.mailbox,"INBOX")) ? &pop3driver : NIL; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:229:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (pop3_valid (ref) && pmatch ("INBOX",pat)) : ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:229:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (pop3_valid (ref) && pmatch ("INBOX",pat)) : ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:230:60: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp))) ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:230:68: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp))) ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:245:37: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pop3_valid (ref) && pmatch ("INBOX",pat)) { ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:245:45: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pop3_valid (ref) && pmatch ("INBOX",pat)) { ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:250:64: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp)) { ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:250:72: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp)) { ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:276:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ~~^~~~~~~~~~~~~~~~~~~~ pop3.c:276:9: note: place parentheses around the assignment to silence this warning if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^ ( ) pop3.c:276:9: note: use '==' to turn this assignment into an equality comparison if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^ == pop3.c:276:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:276:66: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:279:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmp,&sdb)); ~~^~~~~~~~~~~~~~~~~~~~ pop3.c:279:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmp,&sdb)); ^ ( ) pop3.c:279:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmp,&sdb)); ^ == pop3.c:427:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (LOCAL->loser = mb.loser) strcat (tmp,"/loser"); ~~~~~~~~~~~~~^~~~~~~~~~ pop3.c:427:24: note: place parentheses around the assignment to silence this warning if (LOCAL->loser = mb.loser) strcat (tmp,"/loser"); ^ ( ) pop3.c:427:24: note: use '==' to turn this assignment into an equality comparison if (LOCAL->loser = mb.loser) strcat (tmp,"/loser"); ^ == pop3.c:497:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (args = strchr (t,' ')) *args++ = '\0'; ~~~~~^~~~~~~~~~~~~~~~ pop3.c:497:14: note: place parentheses around the assignment to silence this warning if (args = strchr (t,' ')) *args++ = '\0'; ^ ( ) pop3.c:497:14: note: use '==' to turn this assignment into an equality comparison if (args = strchr (t,' ')) *args++ = '\0'; ^ == pop3.c:498:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"STLS")) LOCAL->cap.stls = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:498:29: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"STLS")) LOCAL->cap.stls = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:499:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PIPELINING")) LOCAL->cap.pipelining = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:499:34: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PIPELINING")) LOCAL->cap.pipelining = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:500:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"RESP-CODES")) LOCAL->cap.respcodes = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:500:34: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"RESP-CODES")) LOCAL->cap.respcodes = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:501:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"TOP")) LOCAL->cap.top = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:501:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"TOP")) LOCAL->cap.top = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:502:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDL")) LOCAL->cap.uidl = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:502:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDL")) LOCAL->cap.uidl = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:503:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"USER")) LOCAL->cap.user = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:503:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"USER")) LOCAL->cap.user = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:504:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMPLEMENTATION") && args) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:504:34: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMPLEMENTATION") && args) ^~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:506:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"EXPIRE") && args) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:506:34: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"EXPIRE") && args) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:508:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr(args,' ')){/* separate time from possible USER */ ~~^~~~~~~~~~~~~~~~~~ pop3.c:508:13: note: place parentheses around the assignment to silence this warning if (s = strchr(args,' ')){/* separate time from possible USER */ ^ ( ) pop3.c:508:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr(args,' ')){/* separate time from possible USER */ ^ == pop3.c:514:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (args,"NEVER")) ? 65535 : ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:514:26: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (args,"NEVER")) ? 65535 : ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:515:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((s && !compare_cstring (s,"USER")) ? -atoi (args) : atoi (args)); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:515:31: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((s && !compare_cstring (s,"USER")) ? -atoi (args) : atoi (args)); ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:517:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-DELAY") && args) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:517:34: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-DELAY") && args) { ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:519:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr(args,' ')){/* separate time from possible USER */ ~~^~~~~~~~~~~~~~~~~~ pop3.c:519:13: note: place parentheses around the assignment to silence this warning if (s = strchr(args,' ')){/* separate time from possible USER */ ^ ( ) pop3.c:519:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr(args,' ')){/* separate time from possible USER */ ^ == pop3.c:525:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->cap.delaysecs = (s && !compare_cstring (s,"USER")) ? ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:525:56: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->cap.delaysecs = (s && !compare_cstring (s,"USER")) ? ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:528:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SASL") && args) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:528:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SASL") && args) ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:782:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:783:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:841:48: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (elt->private.msg.header.text.size = pop3_cache (stream,elt)) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ pop3.c:841:48: note: place parentheses around the assignment to silence this warning else if (elt->private.msg.header.text.size = pop3_cache (stream,elt)) ^ ( ) pop3.c:841:48: note: use '==' to turn this assignment into an equality comparison else if (elt->private.msg.header.text.size = pop3_cache (stream,elt)) ^ == pop3.c:946:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:947:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:945:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pop3.c:945:11: note: place parentheses around the assignment to silence this warning if (ret = sequence ? ((options & EX_UID) ? ^ ( pop3.c:945:11: note: use '==' to turn this assignment into an equality comparison if (ret = sequence ? ((options & EX_UID) ? ^ == 50 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` unix.c unix.c:418:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (s,'/')) { ~~^~~~~~~~~~~~~~~~~ unix.c:418:8: note: place parentheses around the assignment to silence this warning if (s = strrchr (s,'/')) { ^ ( ) unix.c:418:8: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (s,'/')) { ^ == unix.c:468:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:468:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:480:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:626:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:640:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (LOCAL->fd,s = (char *) fs_get (elt->private.msg.header.text.size+1), ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:653:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] *length = mail_filter (LOCAL->buf,*length,unix_hlines,FT_NOT); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1706:34: note: passing argument to parameter 'text' here unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines, ^ unix.c:703:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:731:13: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = tmp; /* initial buffer chunk */ ^ ~~~ unix.c:734:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = (char *) LOCAL->text.data; SIZE (&bs);) switch (c = SNX (&bs)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:787:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox stat failed, aborted: %s", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:789:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:846:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ unix.c:847:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ unix.c:845:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:845:11: note: place parentheses around the assignment to silence this warning if (ret = (sequence ? ((options & EX_UID) ? ^ ( unix.c:845:11: note: use '==' to turn this assignment into an equality comparison if (ret = (sequence ? ((options & EX_UID) ? ^ == unix.c:860:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (i) sprintf (msg = LOCAL->buf,"Expunged %lu messages",i); ^ ~~~~~~~~~~ unix.c:902:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ unix.c:903:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ unix.c:909:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:909:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:916:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:917:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:921:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid UNIX-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:922:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:926:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a UNIX-format mailbox: %.80s",mailbox); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:927:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:936:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write-open mailbox for COPYUID: %.80s", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:938:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:947:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't open destination mailbox: %s",strerror (errno)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:948:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR);/* log the error */ ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:957:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,elt->private.special.text.size) < 0) ret = NIL; ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ unix.c:965:27: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_xstatus (stream,LOCAL->buf,elt,++(tstream->uid_last),LONGT) : ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:131:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:966:27: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_xstatus (stream,LOCAL->buf,elt,NIL,NIL); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:131:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:967:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,j) < 0) ret = NIL; ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ unix.c:981:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Message copy failed: %s",strerror (errno)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1007:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!ret) MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1051:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1051:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1093:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ unix.c:1196:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((s = stream->user_flags[find_rightmost_bit (&uf)]) && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:1257:23: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = tmp; x = strchr (x,'\r'); --j) memmove (x,x+1,j-(x-tmp)); ~~^~~~~~~~~~~~~~~~~ unix.c:1257:23: note: place parentheses around the assignment to silence this warning for (x = tmp; x = strchr (x,'\r'); --j) memmove (x,x+1,j-(x-tmp)); ^ ( ) unix.c:1257:23: note: use '==' to turn this assignment into an equality comparison for (x = tmp; x = strchr (x,'\r'); --j) memmove (x,x+1,j-(x-tmp)); ^ == unix.c:1260:14: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((c == '\n')) switch (tmp[0]) { ~~^~~~~~~ unix.c:1260:14: note: remove extraneous parentheses around the comparison to silence this warning if ((c == '\n')) switch (tmp[0]) { ~ ^ ~ unix.c:1260:14: note: use '=' to turn this equality comparison into an assignment if ((c == '\n')) switch (tmp[0]) { ^~ = unix.c:1462:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1463:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1472:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Mailbox shrank from %lu to %lu bytes, aborted", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1474:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); /* this is pretty bad */ ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1483:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (i = sbuf.st_size - LOCAL->filesize) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:1483:14: note: place parentheses around the assignment to silence this warning else if (i = sbuf.st_size - LOCAL->filesize) { ^ ( ) unix.c:1483:14: note: use '==' to turn this assignment into an equality comparison else if (i = sbuf.st_size - LOCAL->filesize) { ^ == unix.c:1486:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ unix.c:1495:9: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = unix_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:1499:11: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Unexpected changes to mailbox (try restarting): %.20s", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1501:10: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1550:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Unable to parse internal date: %s",(char *) date); ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1551:12: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1555:10: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = t = unix_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:1572:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ unix.c:1572:13: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ ~~~~~~~~~~~~~~~~~~~ unix.c:1572:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ unix.c:1578:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_csizedtext (stream->user_flags[j],&uf)) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:107:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ unix.c:1626:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ unix.c:1626:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ ~~~~~~~~~~~~~~~~~~~ unix.c:1633:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strncpy (stream->user_flags[j],s,k); ^ /usr/include/string.h:112:57: note: passing argument to parameter here char *strncpy(char * __restrict, const char * __restrict, size_t); ^ unix.c:1661:16: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu already has UID %lu", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1666:16: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu less than %lu", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1686:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1742:34: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (tmp,"STATUS") || ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1743:27: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-STATUS") || ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1744:27: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-KEYWORDS") || ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1745:27: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-UID") || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1746:27: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-IMAP") || ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1747:27: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-IMAPBASE")) { ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1770:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ ~~~~~~~~~~~~~~~~~~~~ unix.c:1770:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (u = strpbrk (err,"\r\n")) *u = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ unix.c:1770:14: note: place parentheses around the assignment to silence this warning if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ ( ) unix.c:1770:14: note: use '==' to turn this assignment into an equality comparison if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ == unix.c:1796:6: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = unix_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2015:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ~~^~~~~~~~~~~~~~~~~~~~~~~ unix.c:2015:44: note: place parentheses around the assignment to silence this warning for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ^ ( ) unix.c:2015:44: note: use '==' to turn this assignment into an equality comparison for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ^ == unix.c:2037:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = elt->user_flags) do { ~~^~~~~~~~~~~~~~~~~ unix.c:2037:11: note: place parentheses around the assignment to silence this warning if (n = elt->user_flags) do { ^ ( ) unix.c:2037:11: note: use '==' to turn this assignment into an equality comparison if (n = elt->user_flags) do { ^ == unix.c:2082:60: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unsigned long size = LOCAL->pseudo ? unix_pseudo (stream,LOCAL->buf) : 0; ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1962:53: note: passing argument to parameter 'hdr' here unsigned long unix_pseudo (MAILSTREAM *stream,char *hdr) ^ unix.c:2090:23: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_xstatus (stream,LOCAL->buf,elt,NIL,flag) + ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1989:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:2098:32: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] size = unix_pseudo (stream,LOCAL->buf); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1962:53: note: passing argument to parameter 'hdr' here unsigned long unix_pseudo (MAILSTREAM *stream,char *hdr) ^ unix.c:2101:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = unix_extend (stream,size)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2101:11: note: place parentheses around the assignment to silence this warning if (ret = unix_extend (stream,size)) { ^ ( ) unix.c:2101:11: note: use '==' to turn this assignment into an equality comparison if (ret = unix_extend (stream,size)) { ^ == unix.c:2118:53: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_write (&f,LOCAL->buf,unix_pseudo (stream,LOCAL->buf)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1962:53: note: passing argument to parameter 'hdr' here unsigned long unix_pseudo (MAILSTREAM *stream,char *hdr) ^ unix.c:2118:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_write (&f,LOCAL->buf,unix_pseudo (stream,LOCAL->buf)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:136:36: note: passing argument to parameter 's' here void unix_write (UNIXFILE *f,char *s,unsigned long i); ^ unix.c:2135:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_xstatus (stream,LOCAL->buf,elt,NIL,flag)))) { ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1989:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:2149:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_write (&f,LOCAL->buf,elt->private.special.text.size); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:136:36: note: passing argument to parameter 's' here void unix_write (UNIXFILE *f,char *s,unsigned long i); ^ unix.c:2170:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = unix_xstatus (stream,LOCAL->buf,elt,NIL,flag)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1989:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:2169:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_write (&f,LOCAL->buf, ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:136:36: note: passing argument to parameter 's' here void unix_write (UNIXFILE *f,char *s,unsigned long i); ^ unix.c:2255:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2256:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2277:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = i) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2282:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,i) >= 0) && !fsync (LOCAL->fd)) break; ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ unix.c:2288:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to extend mailbox: %s",strerror (e)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2289:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!stream->silent) MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2311:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2311:11: note: place parentheses around the assignment to silence this warning if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ^ ( ) unix.c:2311:11: note: use '==' to turn this assignment into an equality comparison if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ^ == unix.c:2327:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = min (i,f->protect - f->filepos)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2327:11: note: place parentheses around the assignment to silence this warning if (j = min (i,f->protect - f->filepos)) { ^ ( ) unix.c:2327:11: note: use '==' to turn this assignment into an equality comparison if (j = min (i,f->protect - f->filepos)) { ^ == unix.c:2461:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,"INBOX") && (unix_valid ("mbox") || !errno) && ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:2461:30: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,"INBOX") && (unix_valid ("mbox") || !errno) && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:2476:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) return unix_create (NIL,"mbox"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:2476:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) return unix_create (NIL,"mbox"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:2604:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mail drop %s is not in standard Unix format", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2606:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2618:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"New mail move failed: %s",strerror (errno)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2619:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2625:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mail drop %s lock failure, old=%lu now=%lu", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2627:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2643:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Moved %lu bytes of new mail to %s from %s", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2648:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ 105 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` mbx.c mbx.c:307:61: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (((error = errno) == ENOENT) && !compare_cstring (name,"INBOX")) ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:307:66: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (((error = errno) == ENOENT) && !compare_cstring (name,"INBOX")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:480:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (tmp,'/')) { ~~^~~~~~~~~~~~~~~~~~~ mbx.c:480:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (tmp,'/')) { ^ ( ) mbx.c:480:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (tmp,'/')) { ^ == mbx.c:506:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) mbx_create (NIL,"INBOX"); ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:506:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) mbx_create (NIL,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:587:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:590:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:590:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:677:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:678:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:706:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = *length) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:709:23: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (LOCAL->fd,s = LOCAL->buf,*length); ^ ~~~~~~~~~~ mbx.c:746:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mbx.c:825:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (ret = mbx_parse (stream)) { ~~~~^~~~~~~~~~~~~~~~~~~~ mbx.c:825:20: note: place parentheses around the assignment to silence this warning else if (ret = mbx_parse (stream)) { ^ ( ) mbx.c:825:20: note: use '==' to turn this assignment into an equality comparison else if (ret = mbx_parse (stream)) { ^ == mbx.c:829:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = mbx_elt (stream,i,LOCAL->expok)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:829:12: note: place parentheses around the assignment to silence this warning if (elt = mbx_elt (stream,i,LOCAL->expok)) { ^ ( ) mbx.c:829:12: note: use '==' to turn this assignment into an equality comparison if (elt = mbx_elt (stream,i,LOCAL->expok)) { ^ == mbx.c:856:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Reclaimed %lu bytes of expunged space",i); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:857:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:889:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:890:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) { ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:888:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:888:11: note: place parentheses around the assignment to silence this warning if (ret = sequence ? ((options & EX_UID) ? ^ ( mbx.c:888:11: note: use '==' to turn this assignment into an equality comparison if (ret = sequence ? ((options & EX_UID) ? ^ == mbx.c:895:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (nexp = mbx_rewrite (stream,&reclaimed,sequence ? -1 : 1)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:895:19: note: place parentheses around the assignment to silence this warning else if (nexp = mbx_rewrite (stream,&reclaimed,sequence ? -1 : 1)) { ^ ( ) mbx.c:895:19: note: use '==' to turn this assignment into an equality comparison else if (nexp = mbx_rewrite (stream,&reclaimed,sequence ? -1 : 1)) { ^ == mbx.c:896:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",nexp); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:897:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:900:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Reclaimed %lu bytes of expunged space",reclaimed); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:901:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:938:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = hdrlen + txtlen) { ~~^~~~~~~~~~~~~~~~~ mbx.c:938:8: note: place parentheses around the assignment to silence this warning if (j = hdrlen + txtlen) { ^ ( ) mbx.c:938:8: note: use '==' to turn this assignment into an equality comparison if (j = hdrlen + txtlen) { ^ == mbx.c:940:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_date (LOCAL->buf,elt = mail_elt (sysibx,i)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1694:24: note: passing argument to parameter 'string' here char *mail_date (char *string,MESSAGECACHE *elt); ^ mbx.c:941:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:941:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:947:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:947:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:963:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:964:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:999:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:1000:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:1009:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1010:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:1014:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid MBX-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1015:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:1019:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a MBX-format mailbox: %.80s",mailbox); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1020:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:1032:17: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_date(LOCAL->buf,elt);/* build target header */ ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1694:24: note: passing argument to parameter 'string' here char *mail_date (char *string,MESSAGECACHE *elt); ^ mbx.c:1035:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = stream->user_flags[find_rightmost_bit (&j)]) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1035:8: note: place parentheses around the assignment to silence this warning if (s = stream->user_flags[find_rightmost_bit (&j)]) ^ ( ) mbx.c:1035:8: note: use '==' to turn this assignment into an equality comparison if (s = stream->user_flags[find_rightmost_bit (&j)]) ^ == mbx.c:1037:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,t) && (k |= 1 << m)) break; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:1037:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,t) && (k |= 1 << m)) break; ^ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:1038:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf+strlen(LOCAL->buf),",%lu;%08lx%04x-%08lx\015\012", ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:1038:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf+strlen(LOCAL->buf),",%lu;%08lx%04x-%08lx\015\012", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1044:47: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:1044:28: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1044:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1044:15: note: place parentheses around the assignment to silence this warning if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ^ ( ) mbx.c:1044:15: note: use '==' to turn this assignment into an equality comparison if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ^ == mbx.c:1047:20: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = write (fd,LOCAL->buf,j) >= 0; ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1058:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1059:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:1065:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%08lx",dstream->uid_last); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1066:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] write (fd,LOCAL->buf,8); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1123:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:1123:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:1165:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mbx.c:1274:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->uid_validity = strtoul (LOCAL->buf + 7,NIL,16); ^~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1277:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = strtoul (LOCAL->buf + 15,NIL,16); ^~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1281:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (i < NUSERFLAGS) && (t = strchr (s,'\015')) && (t - s); ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mbx.c:1281:31: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (i < NUSERFLAGS) && (t = strchr (s,'\015')) && (t - s); ^ ~~~~~~~~~~~~~~~~~ mbx.c:1284:44: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!stream->user_flags[i] && (strlen (s) <= MAXUSERFLAG)) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:1285:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->user_flags[i] = cpystr (s); ^ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ mbx.c:1295:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strtoul (LOCAL->buf + HDRSIZE - 8,NIL,16) : 0; ^~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1312:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,'\015')) && (s[1] == '\012'))) { ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mbx.c:1312:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,'\015')) && (s[1] == '\012'))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1321:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mbx.c:1321:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1321:57: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mbx.c:1321:47: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~ mbx.c:1351:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(j = strtoul (s,(char **) &x,10)) && (!(x && *x))) { ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1369:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((m = strtoul (t+13,NIL,16)) && ^~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1385:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((k = strtoul (t+8,NIL,16)) & fEXPUNGED) { ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1419:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] elt->user_flags = strtoul (t,NIL,16); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1501:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox shrank from %lu to %lu in flag read!", ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1503:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1510:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to read new status: %s",strerror (errno)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1511:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1515:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf+50,"Invalid flags for message %lu (%lu %lu): %s", ^~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1518:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf+50); ^~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1522:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = strtoul (LOCAL->buf+9,NIL,16); ^~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1531:30: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] elt->user_flags = strtoul (LOCAL->buf+1,NIL,16); ^~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1547:9: warning: initializing 'char *' with an expression of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] char *s = LOCAL->buf; ^ ~~~~~~~~~~ mbx.c:1558:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + HDRSIZE - 10,"%08lx\015\012",LOCAL->lastpid); ^~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1562:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf + CYGKLUDGEOFFSET, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1585:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox shrank from %lu to %lu in flag update!", ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1587:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1594:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to read old status: %s",strerror (errno)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1595:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1599:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf+50,"Invalid flags for message %lu (%lu %lu): %s", ^~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1602:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf+50); ^~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1607:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fEXPUNGED : (strtoul (LOCAL->buf+9,NIL,16)) & fEXPUNGED) + ^~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1605:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%08lx%04x-%08lx",elt->user_flags,(unsigned) ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1615:28: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf,21) > 0) break; ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1644:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (*size = elt->private.msg.header.text.size) return ret; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1644:13: note: place parentheses around the assignment to silence this warning if (*size = elt->private.msg.header.text.size) return ret; ^ ( ) mbx.c:1644:13: note: use '==' to turn this assignment into an equality comparison if (*size = elt->private.msg.header.text.size) return ret; ^ == mbx.c:1663:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (hdr) *hdr = LOCAL->buf; ^ ~~~~~~~~~~ mbx.c:1670:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (hdr) *hdr = LOCAL->buf; ^ ~~~~~~~~~~ mbx.c:1680:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (hdr) *hdr = LOCAL->buf; /* possibly return header too */ ^ ~~~~~~~~~~ mbx.c:1736:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (m = (elt = mbx_elt (stream,i,NIL))->private.special.offset - ppos) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1736:13: note: place parentheses around the assignment to silence this warning if (m = (elt = mbx_elt (stream,i,NIL))->private.special.offset - ppos) { ^ ( ) mbx.c:1736:13: note: use '==' to turn this assignment into an equality comparison if (m = (elt = mbx_elt (stream,i,NIL))->private.special.offset - ppos) { ^ == mbx.c:1761:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf,m) > 0) break; ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1776:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (m = (LOCAL->filesize -= delta) - pos) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1776:11: note: place parentheses around the assignment to silence this warning if (m = (LOCAL->filesize -= delta) - pos) { ^ ( ) mbx.c:1776:11: note: use '==' to turn this assignment into an equality comparison if (m = (LOCAL->filesize -= delta) - pos) { ^ == mbx.c:1795:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = mbx_elt (stream,i,T)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~ mbx.c:1795:15: note: place parentheses around the assignment to silence this warning if (elt = mbx_elt (stream,i,T)) { ^ ( ) mbx.c:1795:15: note: use '==' to turn this assignment into an equality comparison if (elt = mbx_elt (stream,i,T)) { ^ == 103 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` mmdf.c mmdf.c:557:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (s,'/')) { ~~^~~~~~~~~~~~~~~~~ mmdf.c:557:8: note: place parentheses around the assignment to silence this warning if (s = strrchr (s,'/')) { ^ ( ) mmdf.c:557:8: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (s,'/')) { ^ == mmdf.c:607:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:607:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:619:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:765:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:779:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (LOCAL->fd,s = (char *) fs_get (elt->private.msg.header.text.size+1), ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:792:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] *length = mail_filter (LOCAL->buf,*length,mmdf_hlines,FT_NOT); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1706:34: note: passing argument to parameter 'text' here unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines, ^ mmdf.c:842:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:870:13: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = tmp; /* initial buffer chunk */ ^ ~~~ mmdf.c:873:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = (char *) LOCAL->text.data; SIZE (&bs);) switch (c = SNX (&bs)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:926:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox stat failed, aborted: %s", ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:928:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:985:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mmdf.c:986:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mmdf.c:984:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:984:11: note: place parentheses around the assignment to silence this warning if (ret = (sequence ? ((options & EX_UID) ? ^ ( mmdf.c:984:11: note: use '==' to turn this assignment into an equality comparison if (ret = (sequence ? ((options & EX_UID) ? ^ == mmdf.c:999:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (i) sprintf (msg = LOCAL->buf,"Expunged %lu messages",i); ^ ~~~~~~~~~~ mmdf.c:1038:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mmdf.c:1039:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mmdf.c:1044:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1044:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1051:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1052:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1056:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid MMDF-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1057:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1061:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a MMDF-format mailbox: %.80s",mailbox); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1062:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1071:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write-open mailbox for COPYUID: %.80s", ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1073:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1082:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't open destination mailbox: %s",strerror (errno)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1083:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); /* log the error */ ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1092:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,elt->private.special.text.size) < 0) ret = NIL; ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mmdf.c:1100:27: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_xstatus (stream,LOCAL->buf,elt,++(tstream->uid_last),LONGT) : ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:287:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:1101:27: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_xstatus (stream,LOCAL->buf,elt,NIL,NIL); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:287:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:1102:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,j) < 0) ret = NIL; ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mmdf.c:1117:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Message copy failed: %s",strerror (errno)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1143:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!ret) MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1188:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1188:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1230:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mmdf.c:1332:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((s = stream->user_flags[find_rightmost_bit (&uf)]) && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1394:23: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = tmp; x = strpbrk (x,"\01\r"); --j) memmove (x,x+1,j-(x-tmp)); ~~^~~~~~~~~~~~~~~~~~~~~ mmdf.c:1394:23: note: place parentheses around the assignment to silence this warning for (x = tmp; x = strpbrk (x,"\01\r"); --j) memmove (x,x+1,j-(x-tmp)); ^ ( ) mmdf.c:1394:23: note: use '==' to turn this assignment into an equality comparison for (x = tmp; x = strpbrk (x,"\01\r"); --j) memmove (x,x+1,j-(x-tmp)); ^ == mmdf.c:1397:14: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((c == '\n')) switch (tmp[0]) { ~~^~~~~~~ mmdf.c:1397:14: note: remove extraneous parentheses around the comparison to silence this warning if ((c == '\n')) switch (tmp[0]) { ~ ^ ~ mmdf.c:1397:14: note: use '=' to turn this equality comparison into an assignment if ((c == '\n')) switch (tmp[0]) { ^~ = mmdf.c:1591:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1592:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1601:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Mailbox shrank from %lu to %lu bytes, aborted", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1603:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); /* this is pretty bad */ ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1612:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (i = sbuf.st_size - LOCAL->filesize) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1612:14: note: place parentheses around the assignment to silence this warning else if (i = sbuf.st_size - LOCAL->filesize) { ^ ( ) mmdf.c:1612:14: note: use '==' to turn this assignment into an equality comparison else if (i = sbuf.st_size - LOCAL->filesize) { ^ == mmdf.c:1615:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mmdf.c:1624:9: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1628:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Unexpected changes to mailbox (try restarting): %.20s", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1634:8: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1639:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1656:4: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1692:15: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Unable to parse internal date: %s",(char *) date); ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1693:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1710:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (t) s = t = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1736:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ mmdf.c:1736:13: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ ~~~~~~~~~~~~~~~~~~~ mmdf.c:1736:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mmdf.c:1742:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_csizedtext (stream->user_flags[j],&uf)) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:107:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ mmdf.c:1790:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ mmdf.c:1790:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ ~~~~~~~~~~~~~~~~~~~ mmdf.c:1797:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strncpy (stream->user_flags[j],s,k); ^ /usr/include/string.h:112:57: note: passing argument to parameter here char *strncpy(char * __restrict, const char * __restrict, size_t); ^ mmdf.c:1825:16: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu already has UID %lu", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1830:16: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu less than %lu", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1850:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1906:34: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (tmp,"STATUS") || ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1907:27: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-STATUS") || ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1908:27: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-KEYWORDS") || ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1909:27: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-UID") || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1910:27: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-IMAP") || ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1911:27: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-IMAPBASE")) { ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1934:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ ~~~~~~~~~~~~~~~~~~~~ mmdf.c:1934:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (u = strpbrk (err,"\r\n")) *u = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1934:14: note: place parentheses around the assignment to silence this warning if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ ( ) mmdf.c:1934:14: note: use '==' to turn this assignment into an equality comparison if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ == mmdf.c:1958:6: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1983:6: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2178:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ~~^~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2178:44: note: place parentheses around the assignment to silence this warning for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ^ ( ) mmdf.c:2178:44: note: use '==' to turn this assignment into an equality comparison for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ^ == mmdf.c:2200:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = elt->user_flags) do { ~~^~~~~~~~~~~~~~~~~ mmdf.c:2200:11: note: place parentheses around the assignment to silence this warning if (n = elt->user_flags) do { ^ ( ) mmdf.c:2200:11: note: use '==' to turn this assignment into an equality comparison if (n = elt->user_flags) do { ^ == mmdf.c:2245:60: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unsigned long size = LOCAL->pseudo ? mmdf_pseudo (stream,LOCAL->buf) : 0; ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2125:53: note: passing argument to parameter 'hdr' here unsigned long mmdf_pseudo (MAILSTREAM *stream,char *hdr) ^ mmdf.c:2253:23: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_xstatus (stream,LOCAL->buf,elt,NIL,flag) + ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2152:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:2261:32: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] size = mmdf_pseudo (stream,LOCAL->buf); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2125:53: note: passing argument to parameter 'hdr' here unsigned long mmdf_pseudo (MAILSTREAM *stream,char *hdr) ^ mmdf.c:2264:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = mmdf_extend (stream,size)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2264:11: note: place parentheses around the assignment to silence this warning if (ret = mmdf_extend (stream,size)) { ^ ( ) mmdf.c:2264:11: note: use '==' to turn this assignment into an equality comparison if (ret = mmdf_extend (stream,size)) { ^ == mmdf.c:2281:53: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_write (&f,LOCAL->buf,mmdf_pseudo (stream,LOCAL->buf)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2125:53: note: passing argument to parameter 'hdr' here unsigned long mmdf_pseudo (MAILSTREAM *stream,char *hdr) ^ mmdf.c:2281:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_write (&f,LOCAL->buf,mmdf_pseudo (stream,LOCAL->buf)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:292:36: note: passing argument to parameter 's' here void mmdf_write (MMDFFILE *f,char *s,unsigned long i); ^ mmdf.c:2298:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_xstatus (stream,LOCAL->buf,elt,NIL,flag)))) { ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2152:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:2312:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_write (&f,LOCAL->buf,elt->private.special.text.size); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:292:36: note: passing argument to parameter 's' here void mmdf_write (MMDFFILE *f,char *s,unsigned long i); ^ mmdf.c:2333:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = mmdf_xstatus (stream,LOCAL->buf,elt,NIL,flag)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2152:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:2332:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_write (&f,LOCAL->buf, ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:292:36: note: passing argument to parameter 's' here void mmdf_write (MMDFFILE *f,char *s,unsigned long i); ^ mmdf.c:2401:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:2402:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:2423:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = i) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2428:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,i) >= 0) && !fsync (LOCAL->fd)) break; ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mmdf.c:2434:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to extend mailbox: %s",strerror (e)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:2435:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!stream->silent) MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:2457:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2457:11: note: place parentheses around the assignment to silence this warning if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ^ ( ) mmdf.c:2457:11: note: use '==' to turn this assignment into an equality comparison if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ^ == mmdf.c:2473:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = min (i,f->protect - f->filepos)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2473:11: note: place parentheses around the assignment to silence this warning if (j = min (i,f->protect - f->filepos)) { ^ ( ) mmdf.c:2473:11: note: use '==' to turn this assignment into an equality comparison if (j = min (i,f->protect - f->filepos)) { ^ == 96 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` tenex.c tenex.c:211:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:211:56: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:324:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ~~^~~~~~~~~~~~~~~~~~~ tenex.c:324:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ^ ( ) tenex.c:324:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ^ == tenex.c:350:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:350:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:427:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:433:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:433:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:500:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:501:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:511:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (LOCAL->buflen + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:538:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:539:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:564:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (LOCAL->buflen = i + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:574:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] *length = strcrlfcpy (&LOCAL->buf,&LOCAL->buflen,s,i); ^ ./nl.h:33:21: note: passing argument to parameter 'src' here unsigned char *src,unsigned long srcl); ^ tenex.c:609:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (LOCAL->buflen = i + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:632:50: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strcrlfcpy (&LOCAL->text.data,&LOCAL->text.size,s,i); ^ ./nl.h:33:21: note: passing argument to parameter 'src' here unsigned char *src,unsigned long srcl); ^ tenex.c:772:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = hdrlen + txtlen) { ~~^~~~~~~~~~~~~~~~~ tenex.c:772:8: note: place parentheses around the assignment to silence this warning if (j = hdrlen + txtlen) { ^ ( ) tenex.c:772:8: note: use '==' to turn this assignment into an equality comparison if (j = hdrlen + txtlen) { ^ == tenex.c:774:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_date (LOCAL->buf,elt = mail_elt (sysibx,i)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1694:24: note: passing argument to parameter 'string' here char *mail_date (char *string,MESSAGECACHE *elt); ^ tenex.c:775:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ tenex.c:775:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:781:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ tenex.c:781:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ tenex.c:797:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:798:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:833:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:834:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:895:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf,m) > 0) break; ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ tenex.c:911:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:914:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:918:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",n); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:920:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:961:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!tenex_isvalid (mailbox,LOCAL->buf)) switch (errno) { ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ tenex.c:176:37: note: passing argument to parameter 'tmp' here int tenex_isvalid (char *name,char *tmp) ^ tenex.c:968:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:969:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:973:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid Tenex-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:974:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:978:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a Tenex-format mailbox: %.80s",mailbox); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:979:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:982:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:983:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:986:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to open copy mailbox: %s",strerror (errno)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:987:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:1009:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,j) < 0) ret = NIL; ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ tenex.c:1014:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:1015:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:1072:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:1072:35: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:1122:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ tenex.c:1244:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(s = strchr (LOCAL->buf,'\012'))) { ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ tenex.c:1244:13: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(s = strchr (LOCAL->buf,'\012'))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:1253:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ tenex.c:1253:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:1253:57: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ tenex.c:1253:47: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~ tenex.c:1276:46: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (elt->private.msg.full.text.size = strtoul (s,(char **) &s,10)) && ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ tenex.c:1300:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = strtoul (t,NIL,8); /* get user flags value */ ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ tenex.c:1378:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to read new status: %s",strerror (errno)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:1379:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ tenex.c:1387:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = strtoul(LOCAL->buf,NIL,8);/* get user flags value */ ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ tenex.c:1413:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%010lo%02o",k,(unsigned) ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:1421:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] write (LOCAL->fd,LOCAL->buf,12); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ tenex.c:1456:20: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (LOCAL->fd,s = LOCAL->buf,i = min (msiz-siz,(long) MAILTMPLEN)); ^ ~~~~~~~~~~ 63 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` mtx.c mtx.c:204:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:204:56: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:317:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ~~^~~~~~~~~~~~~~~~~~~ mtx.c:317:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ^ ( ) mtx.c:317:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ^ == mtx.c:343:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:343:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:421:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:424:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:424:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:487:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:488:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:511:16: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = *length) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:546:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mtx.c:683:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = hdrlen + txtlen) { ~~^~~~~~~~~~~~~~~~~ mtx.c:683:8: note: place parentheses around the assignment to silence this warning if (j = hdrlen + txtlen) { ^ ( ) mtx.c:683:8: note: use '==' to turn this assignment into an equality comparison if (j = hdrlen + txtlen) { ^ == mtx.c:685:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_date (LOCAL->buf,elt = mail_elt (sysibx,i)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1694:24: note: passing argument to parameter 'string' here char *mail_date (char *string,MESSAGECACHE *elt); ^ mtx.c:686:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mtx.c:686:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:692:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mtx.c:692:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mtx.c:708:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:709:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:744:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:745:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:806:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf,m) > 0) break; ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mtx.c:821:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:824:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:828:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",n); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:830:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:871:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mtx_isvalid (mailbox,LOCAL->buf)) switch (errno) { ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ mtx.c:169:35: note: passing argument to parameter 'tmp' here int mtx_isvalid (char *name,char *tmp) ^ mtx.c:878:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:879:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:883:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid MTX-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:884:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:888:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a MTX-format mailbox: %.80s",mailbox); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:889:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:892:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:893:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:896:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to open copy mailbox: %s",strerror (errno)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:897:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:919:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,j) < 0) ret = NIL; ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mtx.c:924:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:925:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:982:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:982:35: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:1032:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mtx.c:1132:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,'\015')) && (s[1] == '\012'))) { ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mtx.c:1132:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,'\015')) && (s[1] == '\012'))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:1141:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mtx.c:1141:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:1141:57: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mtx.c:1141:47: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~ mtx.c:1164:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (elt->rfc822_size = strtoul (s,(char **) &s,10)) && (!(s && *s)) && ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mtx.c:1188:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = strtoul (t,NIL,8); /* get user flags value */ ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mtx.c:1266:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to read new status: %s",strerror (errno)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:1267:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mtx.c:1275:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = strtoul(LOCAL->buf,NIL,8);/* get user flags value */ ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mtx.c:1301:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%010lo%02o",k,(unsigned) ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:1309:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] write (LOCAL->fd,LOCAL->buf,12); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ 57 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` news.c news.c:218:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (pattern,'.')) *++s = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ news.c:218:13: note: place parentheses around the assignment to silence this warning if (s = strchr (pattern,'.')) *++s = '\0'; ^ ( ) news.c:218:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (pattern,'.')) *++s = '\0'; ^ == news.c:234:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ~~^~~~~~~~~~~~~~~~~~~~~~ news.c:234:11: note: place parentheses around the assignment to silence this warning if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ^ ( ) news.c:234:11: note: use '==' to turn this assignment into an equality comparison if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ^ == news.c:234:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ~~^~~~~~~~~~~~~~~~ news.c:234:44: note: place parentheses around the assignment to silence this warning if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ^ ( ) news.c:234:44: note: use '==' to turn this assignment into an equality comparison if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ^ == news.c:237:24: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_list (stream,'.',name,NIL); ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ news.c:237:29: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_list (stream,'.',name,NIL); ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ news.c:240:19: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ news.c:240:24: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ news.c:243:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (t = strtok_r (NIL,"\n",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~~ news.c:243:16: note: place parentheses around the assignment to silence this warning } while (t = strtok_r (NIL,"\n",&r)); ^ ( ) news.c:243:16: note: use '==' to turn this assignment into an equality comparison } while (t = strtok_r (NIL,"\n",&r)); ^ == news.c:286:34: warning: expression result unused [-Wunused-value] for (i = 0, s = pattern; *s; *s++) if ((*s == '*') || (*s == '%')) ++i; ^~~~ news.c:368:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = strchr (s,'.')) *s = '/'; ~~^~~~~~~~~~~~~~~~ news.c:368:12: note: place parentheses around the assignment to silence this warning while (s = strchr (s,'.')) *s = '/'; ^ ( ) news.c:368:12: note: use '==' to turn this assignment into an equality comparison while (s = strchr (s,'.')) *s = '/'; ^ == news.c:408:9: warning: initializing 'char *' with an expression of type 'const char[256]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *s = name->d_name; ^ ~~~~~~~~~~~~ news.c:409:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ news.c:409:12: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) news.c:409:12: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == news.c:455:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:456:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:473:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:473:67: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:494:12: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ news.c:61:15: note: expanded from macro 'LOCAL' #define LOCAL ((NEWSLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ news.c:499:20: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((fd = open (LOCAL->buf,O_RDONLY,NIL)) >= 0)) { ^~~~~~~~~~ news.c:61:15: note: expanded from macro 'LOCAL' #define LOCAL ((NEWSLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ news.c:503:13: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ news.c:568:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~~~~~~~~~~^~~~~~~~~ news.c:568:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~ ^ ~ news.c:568:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ^~ = news.c:588:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~~~~~~~~~~^~~~~~~~~ news.c:588:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~ ^ ~ news.c:588:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ^~ = 21 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` phile.c phile.c:292:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = t->tm_yday - k) i += ((k < 0) == (abs (k) == 1)) ? -24*60 : 24*60; ~~^~~~~~~~~~~~~~~~ phile.c:292:9: note: place parentheses around the assignment to silence this warning if (k = t->tm_yday - k) i += ((k < 0) == (abs (k) == 1)) ? -24*60 : 24*60; ^ ( ) phile.c:292:9: note: use '==' to turn this assignment into an equality comparison if (k = t->tm_yday - k) i += ((k < 0) == (abs (k) == 1)) ? -24*60 : 24*60; ^ == phile.c:305:20: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->env->date = cpystr (tmp); ^ ~~~~~~~~~~~~ phile.c:309:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (pw = getpwuid (sbuf.st_uid)) strcpy (tmp,pw->pw_name); ~~~^~~~~~~~~~~~~~~~~~~~~~~~ phile.c:309:10: note: place parentheses around the assignment to silence this warning if (pw = getpwuid (sbuf.st_uid)) strcpy (tmp,pw->pw_name); ^ ( ) phile.c:309:10: note: use '==' to turn this assignment into an equality comparison if (pw = getpwuid (sbuf.st_uid)) strcpy (tmp,pw->pw_name); ^ == phile.c:321:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = phile_type (buf->data,buf->size,&j)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phile.c:321:9: note: place parentheses around the assignment to silence this warning if (i = phile_type (buf->data,buf->size,&j)) { ^ ( ) phile.c:321:9: note: use '==' to turn this assignment into an equality comparison if (i = phile_type (buf->data,buf->size,&j)) { ^ == phile.c:327:45: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] buf->size = strcrlfcpy (&buf->data,&m,s,buf->size); ^ ./nl.h:33:21: note: passing argument to parameter 'src' here unsigned char *src,unsigned long srcl); ^ 5 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` mh.c mh.c:190:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((mh_allow_inbox && !compare_cstring (name,"INBOX")) || ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:190:49: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((mh_allow_inbox && !compare_cstring (name,"INBOX")) || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:191:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (name,MHINBOX) || ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:191:30: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (name,MHINBOX) || ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:195:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = (synonly && compare_cstring (name,"INBOX")) ? ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:195:47: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = (synonly && compare_cstring (name,"INBOX")) ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:254:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strpbrk (s," \t")) { ~~^~~~~~~~~~~~~~~~~~~ mh.c:254:8: note: place parentheses around the assignment to silence this warning if (v = strpbrk (s," \t")) { ^ ( ) mh.c:254:8: note: use '==' to turn this assignment into an equality comparison if (v = strpbrk (s," \t")) { ^ == mh.c:256:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"Path:")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:256:28: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"Path:")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:327:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ mh.c:327:14: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) mh.c:327:14: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == mh.c:346:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (test,'/')) *++s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ mh.c:346:13: note: place parentheses around the assignment to silence this warning if (s = strchr (test,'/')) *++s = '\0'; ^ ( ) mh.c:346:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (test,'/')) *++s = '\0'; ^ == mh.c:359:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (test,"%*")) { ~~^~~~~~~~~~~~~~~~~~~~~ mh.c:359:13: note: place parentheses around the assignment to silence this warning if (s = strpbrk (test,"%*")) { ^ ( ) mh.c:359:13: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (test,"%*")) { ^ == mh.c:366:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (file,'/')) { ~~^~~~~~~~~~~~~~~~~~~~ mh.c:366:13: note: place parentheses around the assignment to silence this warning if (s = strrchr (file,'/')) { ^ ( ) mh.c:366:13: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (file,'/')) { ^ == mh.c:374:27: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (test,MHINBOX)) ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:374:32: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (test,MHINBOX)) ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:403:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] do if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,NIL); ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:403:27: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] do if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,NIL); ^~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:404:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmp,&sdb)); /* until no more subscriptions */ ~~^~~~~~~~~~~~~~~~~~~~ mh.c:404:14: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmp,&sdb)); /* until no more subscriptions */ ^ ( ) mh.c:404:14: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmp,&sdb)); /* until no more subscriptions */ ^ == mh.c:428:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dp = opendir (curdir)) { /* open directory */ ~~~^~~~~~~~~~~~~~~~~~ mh.c:428:10: note: place parentheses around the assignment to silence this warning if (dp = opendir (curdir)) { /* open directory */ ^ ( ) mh.c:428:10: note: use '==' to turn this assignment into an equality comparison if (dp = opendir (curdir)) { /* open directory */ ^ == mh.c:429:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = readdir (dp)) /* scan, ignore . and numeric names */ ~~^~~~~~~~~~~~~~ mh.c:429:14: note: place parentheses around the assignment to silence this warning while (d = readdir (dp)) /* scan, ignore . and numeric names */ ^ ( ) mh.c:429:14: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dp)) /* scan, ignore . and numeric names */ ^ == mh.c:435:21: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pat,'/')) mm_list (stream,'/',name,NIL); ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:435:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pat,'/')) mm_list (stream,'/',name,NIL); ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:437:16: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (dmatch (name,pat,'/') && ^~~~ ./env.h:30:29: note: passing argument to parameter 's' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:437:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (dmatch (name,pat,'/') && ^~~ ./env.h:30:46: note: passing argument to parameter 'pat' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:513:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dirp = opendir (tmp)) { /* open directory */ ~~~~~^~~~~~~~~~~~~~~ mh.c:513:12: note: place parentheses around the assignment to silence this warning if (dirp = opendir (tmp)) { /* open directory */ ^ ( ) mh.c:513:12: note: use '==' to turn this assignment into an equality comparison if (dirp = opendir (tmp)) { /* open directory */ ^ == mh.c:516:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = readdir (dirp)) if (mh_dirfmttest (d->d_name)) { ~~^~~~~~~~~~~~~~~~ mh.c:516:14: note: place parentheses around the assignment to silence this warning while (d = readdir (dirp)) if (mh_dirfmttest (d->d_name)) { ^ ( ) mh.c:516:14: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dirp)) if (mh_dirfmttest (d->d_name)) { ^ == mh.c:553:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (mh_file (tmp1,newname),'/')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mh.c:553:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (mh_file (tmp1,newname),'/')) { ^ ( ) mh.c:553:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (mh_file (tmp1,newname),'/')) { ^ == mh.c:587:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (stream->mailbox,MHINBOX) || ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:587:40: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (stream->mailbox,MHINBOX) || ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:592:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (stream->mailbox,"INBOX")) ? T : NIL; ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:592:40: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (stream->mailbox,"INBOX")) ? T : NIL; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:638:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:639:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:662:12: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:667:20: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((fd = open (LOCAL->buf,O_RDONLY,NIL)) >= 0)) { ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mh.c:671:13: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mh.c:737:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) { ~~~~~~~~~~^~~~~~~~~ mh.c:737:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) { ~ ^ ~ mh.c:737:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) { ^~ = mh.c:763:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) { ~~~~~~~~~~^~~~~~~~~ mh.c:763:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) { ~ ^ ~ mh.c:763:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) { ^~ = mh.c:886:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (void *) names) fs_give ((void **) &s); ~~^~~~~~~~~~~~~~~~ mh.c:886:11: note: place parentheses around the assignment to silence this warning if (s = (void *) names) fs_give ((void **) &s); ^ ( ) mh.c:886:11: note: use '==' to turn this assignment into an equality comparison if (s = (void *) names) fs_give ((void **) &s); ^ == mh.c:899:11: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,++old); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:902:19: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (((fd = open (LOCAL->buf,O_WRONLY|O_CREAT|O_EXCL, ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mh.c:926:16: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mh_setdate (LOCAL->buf,elt); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ mh.c:107:24: note: passing argument to parameter 'file' here void mh_setdate (char *file,MESSAGECACHE *elt); ^ mh.c:934:14: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unlink (LOCAL->buf);/* flush this file */ ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mh.c:981:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:982:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) { ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:980:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mh.c:980:11: note: place parentheses around the assignment to silence this warning if (ret = sequence ? ((options & EX_UID) ? ^ ( mh.c:980:11: note: use '==' to turn this assignment into an equality comparison if (ret = sequence ? ((options & EX_UID) ? ^ == mh.c:987:11: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:988:14: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (unlink (LOCAL->buf)) {/* try to delete the message */ ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mh.c:989:13: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunge of message %lu failed, aborted: %s",i, ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:991:12: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mh.c:1009:16: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",n); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:1010:15: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mh.c:1041:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:1042:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:1045:11: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:1046:18: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((fd = open (LOCAL->buf,O_RDONLY,NIL)) < 0) return NIL; ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mh.c:1058:10: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mh.c:1106:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((!compare_cstring (mailbox,MHINBOX) || ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1106:38: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((!compare_cstring (mailbox,MHINBOX) || ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1107:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (mailbox,"INBOX")) && ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1107:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (mailbox,"INBOX")) && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1135:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (void *) names) fs_give ((void **) &s); ~~^~~~~~~~~~~~~~~~ mh.c:1135:9: note: place parentheses around the assignment to silence this warning if (s = (void *) names) fs_give ((void **) &s); ^ ( ) mh.c:1135:9: note: use '==' to turn this assignment into an equality comparison if (s = (void *) names) fs_give ((void **) &s); ^ == mh.c:1146:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mh.c:1197:9: warning: initializing 'char *' with an expression of type 'const char[256]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *s = name->d_name; ^ ~~~~~~~~~~~~ mh.c:1198:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ mh.c:1198:12: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) mh.c:1198:12: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == mh.c:1227:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1227:30: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1227:60: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1227:65: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1260:34: warning: expression result unused [-Wunused-value] for (i = 0, s = pattern; *s; *s++) if ((*s == '*') || (*s == '%')) ++i; ^~~~ 70 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` mx.c mx.c:186:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) errno = NIL; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:186:35: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) errno = NIL; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:241:31: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] if (strcmp (name,MXINDEXNAME+1)) ~~~~~~~~~~~^~ mx.c:241:31: note: use array indexing to silence this warning if (strcmp (name,MXINDEXNAME+1)) ^ & [ ] mx.c:242:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *name++) if (!isdigit (c)) return NIL; ~~^~~~~~~~~ mx.c:242:14: note: place parentheses around the assignment to silence this warning while (c = *name++) if (!isdigit (c)) return NIL; ^ ( ) mx.c:242:14: note: use '==' to turn this assignment into an equality comparison while (c = *name++) if (!isdigit (c)) return NIL; ^ == mx.c:289:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mx.c:289:9: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mx.c:289:9: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mx.c:395:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dirp = opendir (tmp)) { /* open directory */ ~~~~~^~~~~~~~~~~~~~~ mx.c:395:14: note: place parentheses around the assignment to silence this warning if (dirp = opendir (tmp)) { /* open directory */ ^ ( ) mx.c:395:14: note: use '==' to turn this assignment into an equality comparison if (dirp = opendir (tmp)) { /* open directory */ ^ == mx.c:398:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = readdir (dirp)) if (mx_select (d)) { ~~^~~~~~~~~~~~~~~~ mx.c:398:16: note: place parentheses around the assignment to silence this warning while (d = readdir (dirp)) if (mx_select (d)) { ^ ( ) mx.c:398:16: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dirp)) if (mx_select (d)) { ^ == mx.c:439:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:439:30: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:441:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (mx_file (tmp1,newname),'/')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:441:13: note: place parentheses around the assignment to silence this warning if (s = strrchr (mx_file (tmp1,newname),'/')) { ^ ( ) mx.c:441:13: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (mx_file (tmp1,newname),'/')) { ^ == mx.c:469:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mx.c:469:13: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mx.c:469:13: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mx.c:470:70: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] if (lasterror || mx_rename_work (tmp,srcl,tmp1,dstl,MXINDEXNAME+1)) ~~~~~~~~~~~^~ mx.c:470:70: note: use array indexing to silence this warning if (lasterror || mx_rename_work (tmp,srcl,tmp1,dstl,MXINDEXNAME+1)) ^ & [ ] mx.c:518:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:518:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:524:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:573:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:574:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:591:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",stream->mailbox,elt->private.uid); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:593:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!elt->rfc822_size && !stat (LOCAL->buf,&sbuf)) { ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/sys/stat.h:394:33: note: passing argument to parameter here int stat(const char * __restrict, struct stat * __restrict); ^ mx.c:633:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = elt->rfc822_size) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:648:43: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] cpytxt (&elt->private.msg.header.text,LOCAL->buf,i); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./misc.h:85:36: note: passing argument to parameter 'text' here char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size); ^ mx.c:649:41: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] cpytxt (&elt->private.msg.text.text,LOCAL->buf+i,elt->rfc822_size - i); ^~~~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./misc.h:85:36: note: passing argument to parameter 'text' here char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size); ^ mx.c:752:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (void *) names) fs_give ((void **) &s); ~~^~~~~~~~~~~~~~~~ mx.c:752:11: note: place parentheses around the assignment to silence this warning if (s = (void *) names) fs_give ((void **) &s); ^ ( ) mx.c:752:11: note: use '==' to turn this assignment into an equality comparison if (s = (void *) names) fs_give ((void **) &s); ^ == mx.c:767:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",stream->mailbox,++old); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:770:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (((fd = open (LOCAL->buf,O_WRONLY|O_CREAT|O_EXCL, ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mx.c:794:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mx_setdate (LOCAL->buf,elt); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ mx.c:106:24: note: passing argument to parameter 'file' here void mx_setdate (char *file,MESSAGECACHE *elt); ^ mx.c:801:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unlink (LOCAL->buf);/* flush this file */ ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mx.c:804:8: warning: data argument not used by format string [-Wformat-extra-args] s,strerror (errno)); ^ mx.c:848:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:849:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:847:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:847:11: note: place parentheses around the assignment to silence this warning if (ret = (sequence ? ((options & EX_UID) ? ^ ( mx.c:847:11: note: use '==' to turn this assignment into an equality comparison if (ret = (sequence ? ((options & EX_UID) ? ^ == mx.c:855:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",stream->mailbox,elt->private.uid); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:856:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (unlink (LOCAL->buf)) {/* try to delete the message */ ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mx.c:857:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunge of message %lu failed, aborted: %s",i, ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:859:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mx.c:875:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",n); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:876:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mx.c:913:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a MX-format mailbox: %.80s",mailbox); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:914:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mx.c:921:63: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(ret = ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:922:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)))); ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:939:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = ((fd = open (mx_fast_work (stream,elt),O_RDONLY,NIL)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:939:10: note: place parentheses around the assignment to silence this warning if (ret = ((fd = open (mx_fast_work (stream,elt),O_RDONLY,NIL)) ^ ( mx.c:939:10: note: use '==' to turn this assignment into an equality comparison if (ret = ((fd = open (mx_fast_work (stream,elt),O_RDONLY,NIL)) ^ == mx.c:944:12: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mx.c:949:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = elt->user_flags) do ~~^~~~~~~~~~~~~~~~~ mx.c:949:10: note: place parentheses around the assignment to silence this warning if (j = elt->user_flags) do ^ ( ) mx.c:949:10: note: use '==' to turn this assignment into an equality comparison if (j = elt->user_flags) do ^ == mx.c:950:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = stream->user_flags[find_rightmost_bit (&j)]) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:950:12: note: place parentheses around the assignment to silence this warning if (t = stream->user_flags[find_rightmost_bit (&j)]) ^ ( ) mx.c:950:12: note: use '==' to turn this assignment into an equality comparison if (t = stream->user_flags[find_rightmost_bit (&j)]) ^ == mx.c:960:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = mx_append_msg (astream,tmp,elt,&st,dest)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:960:12: note: place parentheses around the assignment to silence this warning if (ret = mx_append_msg (astream,tmp,elt,&st,dest)) { ^ ( ) mx.c:960:12: note: use '==' to turn this assignment into an equality comparison if (ret = mx_append_msg (astream,tmp,elt,&st,dest)) { ^ == mx.c:1003:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mx_create (NIL,"INBOX"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:1003:35: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mx_create (NIL,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:1038:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (date && !(ret = mail_parse_date (&elt,date))) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mx.c:1116:9: warning: initializing 'char *' with an expression of type 'const char[256]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *s = name->d_name; ^ ~~~~~~~~~~~~ mx.c:1117:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ mx.c:1117:12: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) mx.c:1117:12: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == mx.c:1188:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (t = ++s,'\n')) { ~~^~~~~~~~~~~~~~~~~~~~~~~ mx.c:1188:13: note: place parentheses around the assignment to silence this warning if (s = strchr (t = ++s,'\n')) { ^ ( ) mx.c:1188:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (t = ++s,'\n')) { ^ == 52 warnings generated. `cat CCTYPE` `cat SHLIBFLAGS` -c `cat CFLAGS` mix.c mix.c:334:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mix.c:334:9: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mix.c:334:9: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mix.c:478:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dirp = opendir (tmp)) { /* open directory */ ~~~~~^~~~~~~~~~~~~~~ mix.c:478:14: note: place parentheses around the assignment to silence this warning if (dirp = opendir (tmp)) { /* open directory */ ^ ( ) mix.c:478:14: note: use '==' to turn this assignment into an equality comparison if (dirp = opendir (tmp)) { /* open directory */ ^ == mix.c:481:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = readdir (dirp)) if (mix_dirfmttest (d->d_name)) { ~~^~~~~~~~~~~~~~~~ mix.c:481:16: note: place parentheses around the assignment to silence this warning while (d = readdir (dirp)) if (mix_dirfmttest (d->d_name)) { ^ ( ) mix.c:481:16: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dirp)) if (mix_dirfmttest (d->d_name)) { ^ == mix.c:527:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:527:30: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:529:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (tmp1,'/')) { ~~^~~~~~~~~~~~~~~~~~~~ mix.c:529:13: note: place parentheses around the assignment to silence this warning if (s = strrchr (tmp1,'/')) { ^ ( ) mix.c:529:13: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (tmp1,'/')) { ^ == mix.c:567:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mix.c:567:13: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mix.c:567:13: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mix.c:590:26: warning: passing 'const char[256]' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] return mix_dirfmttest (name->d_name); ^~~~~~~~~~~~ mix.c:285:28: note: passing argument to parameter 'name' here long mix_dirfmttest (char *name) ^ mix.c:606:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:606:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:608:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:611:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mix_dir (LOCAL->buf,stream->mailbox); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:163:22: note: passing argument to parameter 'dst' here char *mix_dir (char *dst,char *name); ^ mix.c:613:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->mailbox = cpystr (LOCAL->buf); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ mix.c:616:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((LOCAL->mfd = open (mix_file (LOCAL->buf,stream->mailbox,MIXMETA), ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:619:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((LOCAL->mfd = open (mix_file (LOCAL->buf,stream->mailbox,MIXMETA), ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:627:38: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->index = cpystr (mix_file (LOCAL->buf,stream->mailbox,MIXINDEX)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:628:39: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->status = cpystr (mix_file (LOCAL->buf,stream->mailbox,MIXSTATUS)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:629:42: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->sortcache = cpystr (mix_file (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:634:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (silent = stream->silent) LOCAL->internal = T; ~~~~~~~^~~~~~~~~~~~~~~~ mix.c:634:16: note: place parentheses around the assignment to silence this warning if (silent = stream->silent) LOCAL->internal = T; ^ ( ) mix.c:634:16: note: use '==' to turn this assignment into an equality comparison if (silent = stream->silent) LOCAL->internal = T; ^ == mix.c:718:46: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((LOCAL->msgfd = open (mix_file_data (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:730:16: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = j) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:735:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strncmp (LOCAL->buf,MSGTOK,MSGTSZ) && ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:111:26: note: passing argument to parameter here int strncmp(const char *, const char *, size_t) __pure; ^ mix.c:752:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ mix.c:752:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:752:11: note: place parentheses around the assignment to silence this warning if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ^ ( ) mix.c:752:11: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ^ == mix.c:781:46: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((LOCAL->msgfd = open (mix_file_data (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:805:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mix.c:830:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (((flags & ST_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:831:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:963:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (snarfok = mail_append_full (stream,"INBOX",flags,date,&msg)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:963:16: note: place parentheses around the assignment to silence this warning if (snarfok = mail_append_full (stream,"INBOX",flags,date,&msg)) { ^ ( ) mix.c:963:16: note: use '==' to turn this assignment into an equality comparison if (snarfok = mail_append_full (stream,"INBOX",flags,date,&msg)) { ^ == mix.c:973:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't copy new mail at message: %lu",i - 1); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:974:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:988:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (statf = mix_parse (stream,&idxf,LONGT, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:988:13: note: place parentheses around the assignment to silence this warning if (statf = mix_parse (stream,&idxf,LONGT, ^ ( mix.c:988:13: note: use '==' to turn this assignment into an equality comparison if (statf = mix_parse (stream,&idxf,LONGT, ^ == mix.c:1033:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1034:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) || stream->rdonly); ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1036:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (statf = mix_parse (stream,&idxf,LONGT, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1036:18: note: place parentheses around the assignment to silence this warning else if (statf = mix_parse (stream,&idxf,LONGT, ^ ( mix.c:1036:18: note: use '==' to turn this assignment into an equality comparison else if (statf = mix_parse (stream,&idxf,LONGT, ^ == mix.c:1085:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't locate mix message file %.08lx", ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1087:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1096:30: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mix_file_data (LOCAL->buf,stream->mailbox,cur->fileno) && ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:1098:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] truncate (LOCAL->buf,0) : unlink (LOCAL->buf))) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:447:27: note: passing argument to parameter here int truncate(const char *, __off_t); ^ mix.c:1098:43: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] truncate (LOCAL->buf,0) : unlink (LOCAL->buf))) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mix.c:1099:17: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1102:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1114:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mix.c:1114:13: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mix.c:1114:13: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mix.c:1123:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = mix_index_update (stream,idxf,NIL)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1123:15: note: place parentheses around the assignment to silence this warning if (ret = mix_index_update (stream,idxf,NIL)) { ^ ( ) mix.c:1123:15: note: use '==' to turn this assignment into an equality comparison if (ret = mix_index_update (stream,idxf,NIL)) { ^ == mix.c:1135:26: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (nexp) sprintf (s = LOCAL->buf,"Expunged %lu messages",nexp); ^ ~~~~~~~~~~ mix.c:1137:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (s=LOCAL->buf,"Reclaimed %lu bytes of expunged space",reclaimed); ^~~~~~~~~~~ mix.c:1157:23: warning: passing 'const char[256]' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] if (mix_dirfmttest (name->d_name)) { ^~~~~~~~~~~~ mix.c:285:28: note: passing argument to parameter 'name' here long mix_dirfmttest (char *name) ^ mix.c:1158:18: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] for (c = *(s = name->d_name + sizeof (MIXNAME) - 1); c && isxdigit (c); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1174:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *n1 = (*d1)->d_name + sizeof (MIXNAME) - 1; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1175:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *n2 = (*d2)->d_name + sizeof (MIXNAME) - 1; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1227:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mix_file_data (LOCAL->buf,stream->mailbox,burp->fileno); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:1231:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stat (LOCAL->buf,&sbuf)) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/sys/stat.h:394:33: note: passing argument to parameter here int stat(const char * __restrict, struct stat * __restrict); ^ mix.c:1232:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,staterr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1233:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1236:54: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mix_burp_check (&burp->set,sbuf.st_size,LOCAL->buf)) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:145:55: note: passing argument to parameter 'file' here long mix_burp_check (SEARCHSET *set,size_t size,char *file); ^ mix.c:1240:33: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (ret = !truncate (LOCAL->buf,burp->set.last)) ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:447:27: note: passing argument to parameter here int truncate(const char *, __off_t); ^ mix.c:1240:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (ret = !truncate (LOCAL->buf,burp->set.last)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1240:20: note: place parentheses around the assignment to silence this warning else if (ret = !truncate (LOCAL->buf,burp->set.last)) ^ ( ) mix.c:1240:20: note: use '==' to turn this assignment into an equality comparison else if (ret = !truncate (LOCAL->buf,burp->set.last)) ^ == mix.c:1243:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,truncerr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1244:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1249:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (((fd = open (LOCAL->buf,O_RDWR,NIL)) < 0) || ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mix.c:1251:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Error opening mix message file %.80s: %.80s", ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1253:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1257:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,staterr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1258:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1263:52: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mix_burp_check (&burp->set,sbuf.st_size,LOCAL->buf)) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:145:55: note: passing argument to parameter 'file' here long mix_burp_check (SEARCHSET *set,size_t size,char *file); ^ mix.c:1268:13: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strncmp (LOCAL->buf,MSGTOK,MSGTSZ)) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:111:26: note: passing argument to parameter here int strncmp(const char *, const char *, size_t) __pure; ^ mix.c:1269:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Bad message token in mix message file at %lu", ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1271:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1311:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,truncerr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1312:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1344:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (set = set->next); ~~~~^~~~~~~~~~~ mix.c:1344:16: note: place parentheses around the assignment to silence this warning } while (set = set->next); ^ ( ) mix.c:1344:16: note: use '==' to turn this assignment into an equality comparison } while (set = set->next); ^ == mix.c:1361:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] long ret = mix_isvalid (mailbox,LOCAL->buf); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:234:36: note: passing argument to parameter 'meta' here long mix_isvalid (char *name,char *meta) ^ mix.c:1379:68: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(ret = ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1380:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)))); ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1382:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1382:16: note: place parentheses around the assignment to silence this warning else if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ ( mix.c:1382:16: note: use '==' to turn this assignment into an equality comparison else if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ == mix.c:1397:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (local->buf,MSRFMT,MSGTOK,(unsigned long) 0,0,0,0,0,0,0,'+',0,0, ^~~~~~~~~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1399:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] hdrsize = strlen (local->buf); ^~~~~~~~~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mix.c:1408:43: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ^~~~~ mix.c:157:55: note: passing argument to parameter 'size' here FILE *mix_data_open (MAILSTREAM *stream,int *fd,long *size, ^ mix.c:1408:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1408:14: note: place parentheses around the assignment to silence this warning if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ^ ( ) mix.c:1408:14: note: use '==' to turn this assignment into an equality comparison if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ^ == mix.c:1420:47: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((LOCAL->msgfd = open (mix_file_data (LOCAL->buf, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:1432:14: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mix.c:1437:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = elt->user_flags) do ~~^~~~~~~~~~~~~~~~~ mix.c:1437:12: note: place parentheses around the assignment to silence this warning if (j = elt->user_flags) do ^ ( ) mix.c:1437:12: note: use '==' to turn this assignment into an equality comparison if (j = elt->user_flags) do ^ == mix.c:1460:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (mix_meta_update (astream) && ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1460:10: note: place parentheses around the assignment to silence this warning if (ret = (mix_meta_update (astream) && ^ ( mix.c:1460:10: note: use '==' to turn this assignment into an equality comparison if (ret = (mix_meta_update (astream) && ^ == mix.c:1524:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret = compare_cstring (mailbox,"INBOX") ? ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:1524:40: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret = compare_cstring (mailbox,"INBOX") ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:1524:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = compare_cstring (mailbox,"INBOX") ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1524:13: note: place parentheses around the assignment to silence this warning if (ret = compare_cstring (mailbox,"INBOX") ? ^ ( mix.c:1524:13: note: use '==' to turn this assignment into an equality comparison if (ret = compare_cstring (mailbox,"INBOX") ? ^ == mix.c:1541:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1541:13: note: place parentheses around the assignment to silence this warning if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ ( mix.c:1541:13: note: use '==' to turn this assignment into an equality comparison if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ == mix.c:1555:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (local->buf,MSRFMT,MSGTOK,(unsigned long) 0,0,0,0,0,0,0,'+',0,0, ^~~~~~~~~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1557:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] hdrsize = strlen (local->buf); ^~~~~~~~~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mix.c:1561:45: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ^~~~~ mix.c:157:55: note: passing argument to parameter 'size' here FILE *mix_data_open (MAILSTREAM *stream,int *fd,long *size, ^ mix.c:1561:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1561:16: note: place parentheses around the assignment to silence this warning if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ^ ( ) mix.c:1561:16: note: use '==' to turn this assignment into an equality comparison if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ^ == mix.c:1569:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (date && !(ret = mail_parse_date (&elt,date))) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mix.c:1576:30: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_parse_date (&elt,tmp); ^~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mix.c:1750:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (s = mix_meta_slurp (stream,&i)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1750:14: note: place parentheses around the assignment to silence this warning else if (s = mix_meta_slurp (stream,&i)) { ^ ( ) mix.c:1750:14: note: use '==' to turn this assignment into an equality comparison else if (s = mix_meta_slurp (stream,&i)) { ^ == mix.c:1757:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strstr (t = s,"\015\012")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1757:8: note: place parentheses around the assignment to silence this warning if (s = strstr (t = s,"\015\012")) { ^ ( ) mix.c:1757:8: note: use '==' to turn this assignment into an equality comparison if (s = strstr (t = s,"\015\012")) { ^ == mix.c:1786:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (k = t,' ')) *t++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~ mix.c:1786:14: note: place parentheses around the assignment to silence this warning if (t = strchr (k = t,' ')) *t++ = '\0'; ^ ( ) mix.c:1786:14: note: use '==' to turn this assignment into an equality comparison if (t = strchr (k = t,' ')) *t++ = '\0'; ^ == mix.c:1831:42: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((s = mix_read_record (*idxf,LOCAL->buf,LOCAL->buflen,"index")) && ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:161:38: note: passing argument to parameter 'buf' here char *mix_read_record (FILE *f,char *buf,unsigned long buflen,char *type); ^ mix.c:1973:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stat (mix_file_data (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:2055:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:2058:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:2068:43: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((t = s = mix_read_record (statf,LOCAL->buf,LOCAL->buflen, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:161:38: note: passing argument to parameter 'buf' here char *mix_read_record (FILE *f,char *buf,unsigned long buflen,char *type); ^ mix.c:2164:16: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = sbuf.st_size) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:2169:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (read (LOCAL->mfd,s = LOCAL->buf,sbuf.st_size) != sbuf.st_size)) ^ ~~~~~~~~~~ mix.c:2204:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,SEQFMT,LOCAL->metaseq = mix_modseq (LOCAL->metaseq)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:2205:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf),MTAFMT, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mix.c:2205:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf),MTAFMT, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:2207:56: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (i = 0, c = 'K', s = ss = LOCAL->buf + strlen (LOCAL->buf); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mix.c:2208:26: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (i < NUSERFLAGS) && (t = stream->user_flags[i]); ++i) { ^ ~~~~~~~~~~~~~~~~~~~~~ mix.c:2222:30: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = (write (LOCAL->mfd,LOCAL->buf,i) == i) ? LONGT : NIL; ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mix.c:2417:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((*fd = open (mix_file_data (LOCAL->buf,stream->mailbox,LOCAL->newmsg), ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:2434:7: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:2458:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgf = fdopen (*fd,"r+b")) fseek (msgf,*size,SEEK_SET); ~~~~~^~~~~~~~~~~~~~~~~~~~ mix.c:2458:14: note: place parentheses around the assignment to silence this warning if (msgf = fdopen (*fd,"r+b")) fseek (msgf,*size,SEEK_SET); ^ ( ) mix.c:2458:14: note: use '==' to turn this assignment into an equality comparison if (msgf = fdopen (*fd,"r+b")) fseek (msgf,*size,SEEK_SET); ^ == mix.c:2499:44: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((s = t = mix_read_record (srtcf,LOCAL->buf,LOCAL->buflen, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:161:38: note: passing argument to parameter 'buf' here char *mix_read_record (FILE *f,char *buf,unsigned long buflen,char *type); ^ mix.c:2522:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = mail_msgno (stream,uid)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:2522:15: note: place parentheses around the assignment to silence this warning if (i = mail_msgno (stream,uid)) { ^ ( ) mix.c:2522:15: note: use '==' to turn this assignment into an equality comparison if (i = mail_msgno (stream,uid)) { ^ == mix.c:2598:21: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) ^ ~~~~~~~~ mix.c:2610:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = LOCAL->buf,sl = NIL, ^ ~~~~~~~~~~ mix.c:2618:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sl->text.data = cpystr (s); ^ ~~~~~~~~~~ mix.c:2701:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (sl = s->references) /* count length of references */ ~~~^~~~~~~~~~~~~~~ mix.c:2701:9: note: place parentheses around the assignment to silence this warning if (sl = s->references) /* count length of references */ ^ ( ) mix.c:2701:9: note: use '==' to turn this assignment into an equality comparison if (sl = s->references) /* count length of references */ ^ == mix.c:2756:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (buf,'\012')) { ~~^~~~~~~~~~~~~~~~~~~~~ mix.c:2756:11: note: place parentheses around the assignment to silence this warning if (s = strchr (buf,'\012')) { ^ ( ) mix.c:2756:11: note: use '==' to turn this assignment into an equality comparison if (s = strchr (buf,'\012')) { ^ == 119 warnings generated. sh -c 'rm -rf c-client.a || true' ar rc c-client.a osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o dummy.o pseudo.o netmsg.o flstring.o fdstring.o rfc822.o nntp.o smtp.o imap4r1.o pop3.o unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o;ranlib c-client.a `cat CCTYPE` `cat SHLIBFLAGS` `cat CFLAGS` `cat OSCFLAGS` -c osdep.c -o osdep.so In file included from osdep.c:45: ./nl_unix.c:49:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!*dst) *dst = (char *) fs_get ((*dstl = i) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from osdep.c:46: In file included from ./env_unix.c:258: ./pmatch.c:41:43: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!pat[1]) return (delim && strchr (s,delim)) ? NIL : T; ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:1: ./auth_ext.c:62:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) { ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_ext.c:62:17: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) { ^ ( ) ./auth_ext.c:62:17: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) { ^ == ./auth_ext.c:66:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_ext.c:66:21: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) ^ ( ) ./auth_ext.c:66:21: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) ^ == In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:103:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) { ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:103:17: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) { ^ ( ) ./auth_md5.c:103:17: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) { ^ == ./auth_md5.c:118:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:118:16: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) ^ ( ) ./auth_md5.c:118:16: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) ^ == ./auth_md5.c:153:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (user = (*responder) (chal,cl = strlen (chal),NIL)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:153:12: note: place parentheses around the assignment to silence this warning if (user = (*responder) (chal,cl = strlen (chal),NIL)) { ^ ( ) ./auth_md5.c:153:12: note: use '==' to turn this assignment into an equality comparison if (user = (*responder) (chal,cl = strlen (chal),NIL)) { ^ == ./auth_md5.c:155:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (hash = strrchr (user,' ')) { ~~~~~^~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:155:14: note: place parentheses around the assignment to silence this warning if (hash = strrchr (user,' ')) { ^ ( ) ./auth_md5.c:155:14: note: use '==' to turn this assignment into an equality comparison if (hash = strrchr (user,' ')) { ^ == ./auth_md5.c:158:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (authuser = strchr (user,'*')) *authuser++ = '\0'; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ./auth_md5.c:158:20: note: place parentheses around the assignment to silence this warning if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ ( ) ./auth_md5.c:158:20: note: use '==' to turn this assignment into an equality comparison if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ == ./auth_md5.c:160:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:160:13: note: place parentheses around the assignment to silence this warning if (p = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ ( ) ./auth_md5.c:160:13: note: use '==' to turn this assignment into an equality comparison if (p = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ == ./auth_md5.c:194:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (fd,buf = (char *) fs_get (sbuf.st_size + 1),sbuf.st_size); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:196:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = user; *s && ((*s < 'A') || (*s > 'Z')); s++); ^ ~~~~ ./auth_md5.c:198:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lusr = *s ? lcase (cpystr (user)) : NIL; ^~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:199:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = strtok_r ((char *) buf,"\015\012",&r),lret = NIL; s; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:200:5: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = ret ? NIL : strtok_r (NIL,"\015\012",&r)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:202:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (*s && (*s != '#') && (t = strchr (s,'\t')) && t[1]) { ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:202:35: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (*s && (*s != '#') && (t = strchr (s,'\t')) && t[1]) { ^ ~~~~~~~~~~~~~~~ ./auth_md5.c:204:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (s,user)) ret = cpystr (t); ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:204:38: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (s,user)) ret = cpystr (t); ^ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:205:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (lusr && !lret) if (!strcmp (s,lusr)) lret = t; ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:205:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (lusr && !lret) if (!strcmp (s,lusr)) lret = t; ^~~~ /usr/include/string.h:85:39: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:208:37: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!ret && lret) ret = cpystr (lret); ^~~~ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:2: ./auth_md5.c:237:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (authuser = strchr (user,'*')) *authuser++ = '\0'; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ./auth_md5.c:237:16: note: place parentheses around the assignment to silence this warning if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ ( ) ./auth_md5.c:237:16: note: use '==' to turn this assignment into an equality comparison if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ == ./auth_md5.c:239:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:239:9: note: place parentheses around the assignment to silence this warning if (s = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ ( ) ./auth_md5.c:239:9: note: use '==' to turn this assignment into an equality comparison if (s = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ == In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:3: ./auth_pla.c:66:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) { ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_pla.c:66:17: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) { ^ ( ) ./auth_pla.c:66:17: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) { ^ == ./auth_pla.c:94:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_pla.c:94:16: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) ^ ( ) ./auth_pla.c:94:16: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) ^ == ./auth_pla.c:123:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (aid = (*responder) ("",0,&len)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_pla.c:123:11: note: place parentheses around the assignment to silence this warning if (aid = (*responder) ("",0,&len)) { ^ ( ) ./auth_pla.c:123:11: note: use '==' to turn this assignment into an equality comparison if (aid = (*responder) ("",0,&len)) { ^ == In file included from osdep.c:46: In file included from ./env_unix.c:262: In file included from ./auths.c:4: ./auth_log.c:66:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) { ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_log.c:66:17: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) { ^ ( ) ./auth_log.c:66:17: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) { ^ == ./auth_log.c:81:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_log.c:81:16: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) ^ ( ) ./auth_log.c:81:16: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) ^ == ./auth_log.c:107:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (user = (*responder) (PWD_USER,sizeof (PWD_USER),NIL)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_log.c:107:12: note: place parentheses around the assignment to silence this warning if (user = (*responder) (PWD_USER,sizeof (PWD_USER),NIL)) { ^ ( ) ./auth_log.c:107:12: note: use '==' to turn this assignment into an equality comparison if (user = (*responder) (PWD_USER,sizeof (PWD_USER),NIL)) { ^ == ./auth_log.c:108:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (pass = (*responder) (PWD_PWD,sizeof (PWD_PWD),NIL)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_log.c:108:14: note: place parentheses around the assignment to silence this warning if (pass = (*responder) (PWD_PWD,sizeof (PWD_PWD),NIL)) { ^ ( ) ./auth_log.c:108:14: note: use '==' to turn this assignment into an equality comparison if (pass = (*responder) (PWD_PWD,sizeof (PWD_PWD),NIL)) { ^ == ./auth_log.c:110:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (authuser = strchr (user,'*')) *authuser++ = '\0'; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ./auth_log.c:110:20: note: place parentheses around the assignment to silence this warning if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ ( ) ./auth_log.c:110:20: note: use '==' to turn this assignment into an equality comparison if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ == In file included from osdep.c:46: ./env_unix.c:541:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (julian = t->tm_yday -julian) ~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./env_unix.c:541:14: note: place parentheses around the assignment to silence this warning if (julian = t->tm_yday -julian) ^ ( ) ./env_unix.c:541:14: note: use '==' to turn this assignment into an equality comparison if (julian = t->tm_yday -julian) ^ == ./env_unix.c:671:33: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] struct passwd *pw = getpwnam (user); ^~~~ /usr/include/pwd.h:149:37: note: passing argument to parameter here struct passwd *getpwnam(const char *); ^ In file included from osdep.c:46: ./env_unix.c:675:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pw = getpwnam (s = lcase (cpystr (user))); ^~~~ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ In file included from osdep.c:46: ./env_unix.c:675:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pw = getpwnam (s = lcase (cpystr (user))); ^~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:46: ./env_unix.c:675:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pw = getpwnam (s = lcase (cpystr (user))); ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/pwd.h:149:37: note: passing argument to parameter here struct passwd *getpwnam(const char *); ^ In file included from osdep.c:46: ./env_unix.c:699:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = auth_md5_pwd (user)) { ~~^~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:699:11: note: place parentheses around the assignment to silence this warning if (s = auth_md5_pwd (user)) { ^ ( ) ./env_unix.c:699:11: note: use '==' to turn this assignment into an equality comparison if (s = auth_md5_pwd (user)) { ^ == ./env_unix.c:701:16: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = pwuser (user); /* validated, get passwd entry for user */ ^~~~ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:706:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pw = pwuser (user)) {/* can get user? */ ^~~~ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:706:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (pw = pwuser (user)) {/* can get user? */ ~~~^~~~~~~~~~~~~~~ ./env_unix.c:706:15: note: place parentheses around the assignment to silence this warning else if (pw = pwuser (user)) {/* can get user? */ ^ ( ) ./env_unix.c:706:15: note: use '==' to turn this assignment into an equality comparison else if (pw = pwuser (user)) {/* can get user? */ ^ == ./env_unix.c:709:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*pwd == ' ') && pwd[1] && (ret = pwuser (s))) ^ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:740:58: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (valpwd (authuser,pwd,argc,argv)) pw = pwuser (user); ^~~~ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:758:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] return pw_login (pwuser (user),authuser,user,NIL,argc,argv); ^~~~ ./env_unix.c:668:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:797:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (user && auser && *auser && compare_cstring (auser,user)) { ^~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:797:59: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (user && auser && *auser && compare_cstring (auser,user)) { ^~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:800:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (auser,*t++)) ^~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:800:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (auser,*t++)) ^~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1096:47: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (dst,"%s/%s",s,compare_cstring (name+8,"INBOX") ? ^~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1096:54: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (dst,"%s/%s",s,compare_cstring (name+8,"INBOX") ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1106:63: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((s = strchr (name+1,'/')) && !compare_cstring (s+1,"INBOX")) { ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1106:67: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((s = strchr (name+1,'/')) && !compare_cstring (s+1,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1130:55: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((s = strchr (name,'/')) && compare_cstring (s+1,"INBOX")) { ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1130:59: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((s = strchr (name,'/')) && compare_cstring (s+1,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1144:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,"INBOX")) name = "INBOX"; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1144:29: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,"INBOX")) name = "INBOX"; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1158:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name+1,"NBOX")) { ^~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1158:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name+1,"NBOX")) { ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1294:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (base->lock,'/')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:1294:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (base->lock,'/')) { ^ ( ) ./env_unix.c:1294:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (base->lock,'/')) { ^ == ./env_unix.c:1608:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set keywords") && !userFlags[0]) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1608:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set keywords") && !userFlags[0]) { ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1622:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set new-mailbox-format") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1622:28: warning: passing 'char[23]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set new-mailbox-format") || ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1623:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"set new-folder-format")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1623:28: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"set new-folder-format")) { ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1624:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"same-as-inbox")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1624:30: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"same-as-inbox")) { ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1625:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (d = mail_valid (NIL,"INBOX",NIL)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:1625:14: note: place parentheses around the assignment to silence this warning if (d = mail_valid (NIL,"INBOX",NIL)) { ^ ( ) ./env_unix.c:1625:14: note: use '==' to turn this assignment into an equality comparison if (d = mail_valid (NIL,"INBOX",NIL)) { ^ == ./env_unix.c:1626:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (d->name,"mbox")) ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1626:33: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (d->name,"mbox")) ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1629:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (d->name,"dummy")) d = NIL; ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1629:38: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (d->name,"dummy")) d = NIL; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1633:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1633:35: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1636:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"mbox")) k = "unix"; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1636:32: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"mbox")) k = "unix"; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1638:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (d = (DRIVER *) mail_parameters (NIL,GET_DRIVER,(void *) k)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:1638:14: note: place parentheses around the assignment to silence this warning if (d = (DRIVER *) mail_parameters (NIL,GET_DRIVER,(void *) k)) ^ ( ) ./env_unix.c:1638:14: note: use '==' to turn this assignment into an equality comparison if (d = (DRIVER *) mail_parameters (NIL,GET_DRIVER,(void *) k)) ^ == ./env_unix.c:1647:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set empty-mailbox-format") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1647:28: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set empty-mailbox-format") || ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1648:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"set empty-folder-format")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1648:28: warning: passing 'char[24]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"set empty-folder-format")) { ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1649:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"invalid")) appendProto = NIL; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1649:30: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"invalid")) appendProto = NIL; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1650:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"same-as-inbox")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1650:35: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"same-as-inbox")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1652:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (d->name,"dummy")) ? ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1652:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (d->name,"dummy")) ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1654:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1654:35: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1658:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d && compare_cstring (d->name,k); d = d->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1658:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d && compare_cstring (d->name,k); d = d->next); ^ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1669:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set local-host")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1669:26: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set local-host")) { ^~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1673:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-active-file")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1673:31: warning: passing 'char[21]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-active-file")) { ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1677:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-spool-directory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1677:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-spool-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1681:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mh-path")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1681:31: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mh-path")) ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1683:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mh-allow-inbox")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1683:31: warning: passing 'char[19]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mh-allow-inbox")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1685:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-state-file")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1685:31: warning: passing 'char[20]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set news-state-file")) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1689:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-export-directory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1689:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-export-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1693:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-home-directory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1693:31: warning: passing 'char[26]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-home-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1697:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-home-directory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1697:31: warning: passing 'char[26]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-home-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1701:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set system-inbox")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1701:31: warning: passing 'char[17]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set system-inbox")) { ^~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1705:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mail-subdirectory")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1705:31: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mail-subdirectory")) { ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1709:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set from-widget")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1709:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set from-widget")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1711:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (k,"header-only") ? ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1711:26: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (k,"header-only") ? ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1714:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-command")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1714:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-command")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1716:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-path")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1716:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-path")) ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1718:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-command")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1718:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-command")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1720:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-path")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1720:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-path")) ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1722:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-open-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1722:31: warning: passing 'char[21]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-open-timeout")) ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1724:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-read-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1724:31: warning: passing 'char[21]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-read-timeout")) ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1726:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-write-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1726:31: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-write-timeout")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1728:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1728:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-timeout")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1730:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1730:31: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-timeout")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1732:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set maximum-login-trials")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1732:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set maximum-login-trials")) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1734:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set lookahead")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1734:31: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set lookahead")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1736:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set prefetch")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1736:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set prefetch")) ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1738:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set close-on-error")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1738:31: warning: passing 'char[19]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set close-on-error")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1740:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set imap-port")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1740:31: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set imap-port")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1742:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set pop3-port")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1742:31: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set pop3-port")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1744:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set uid-lookahead")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1744:31: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set uid-lookahead")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1746:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set try-ssl-first")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1746:31: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set try-ssl-first")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1749:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mailbox-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1749:31: warning: passing 'char[23]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set mailbox-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1751:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set directory-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1751:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1753:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set lock-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1753:31: warning: passing 'char[20]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set lock-protection")) ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1755:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1755:31: warning: passing 'char[19]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-protection")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1757:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1757:31: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-protection")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1759:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1759:31: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-protection")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1761:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-directory-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1761:31: warning: passing 'char[29]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1763:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-directory-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1763:31: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set public-directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1765:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-directory-protection")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1765:31: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set shared-directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1767:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set dot-lock-file-timeout")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1767:31: warning: passing 'char[26]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set dot-lock-file-timeout")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1769:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-fcntl-locking")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1769:31: warning: passing 'char[26]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-fcntl-locking")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1771:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-lock-warning")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1771:31: warning: passing 'char[25]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-lock-warning")) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1773:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-unix-UIDs-and-keywords")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1773:31: warning: passing 'char[35]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-unix-UIDs-and-keywords")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1775:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set hide-dot-files")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1775:31: warning: passing 'char[19]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set hide-dot-files")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1777:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set list-maximum-level")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1777:31: warning: passing 'char[23]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set list-maximum-level")) ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1779:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set trust-dns")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1779:31: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set trust-dns")) ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1781:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set sasl-uses-ptr-name")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1781:31: warning: passing 'char[23]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set sasl-uses-ptr-name")) ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1783:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set network-filesystem-stat-bug")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1783:31: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set network-filesystem-stat-bug")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1785:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set nntp-range")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1785:31: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set nntp-range")) ^~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1789:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set black-box-directory") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1789:28: warning: passing 'char[24]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"set black-box-directory") && ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1791:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring(s,"set black-box-default-home-directory")&& ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1791:32: warning: passing 'char[37]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring(s,"set black-box-default-home-directory")&& ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1794:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set anonymous-home-directory") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1794:33: warning: passing 'char[29]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set anonymous-home-directory") && ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1801:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set CA-certificate-path")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1801:33: warning: passing 'char[24]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set CA-certificate-path")) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1803:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-cipher-list")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1803:33: warning: passing 'char[20]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-cipher-list")) ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1805:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-protocols")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1805:33: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-protocols")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1807:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-dh-parameters")) /* same use as Sendmail */ ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1807:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set ssl-dh-parameters")) /* same use as Sendmail */ ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1809:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-plaintext")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1809:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set disable-plaintext")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1811:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allowed-login-attempts")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1811:33: warning: passing 'char[27]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allowed-login-attempts")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1813:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set chroot-server")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1813:33: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set chroot-server")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1815:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set restrict-mailbox-access")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1815:33: warning: passing 'char[28]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set restrict-mailbox-access")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1817:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"root")) restrictBox |= RESTRICTROOT; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1817:32: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (k,"root")) restrictBox |= RESTRICTROOT; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1818:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"otherusers")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1818:37: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"otherusers")) ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1820:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"all")) restrictBox = -1; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1820:37: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (k,"all")) restrictBox = -1; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1822:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set advertise-the-world")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1822:33: warning: passing 'char[24]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set advertise-the-world")) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1824:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set limited-advertise")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1824:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set limited-advertise")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1827:7: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s,"set disable-automatic-shared-namespaces")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1827:9: warning: passing 'char[40]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s,"set disable-automatic-shared-namespaces")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1829:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allow-user-config")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1829:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allow-user-config")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1831:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allow-reverse-dns")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1831:33: warning: passing 'char[22]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set allow-reverse-dns")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1833:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set k5-cp-uses-service-name")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1833:33: warning: passing 'char[28]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set k5-cp-uses-service-name")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1837:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set plaintext-allowed-clients")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:46: ./env_unix.c:1837:33: warning: passing 'char[30]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"set plaintext-allowed-clients")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:49: In file included from ./tcp_unix.c:26: ./ip_unix.c:130:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,text)),NIL,&hints,&ai))) { ^~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:49: In file included from ./tcp_unix.c:26: ./ip_unix.c:130:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,text)),NIL,&hints,&ai))) { ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/netdb.h:251:30: note: passing argument to parameter here int getaddrinfo(const char *, const char *, ^ In file included from osdep.c:49: In file included from ./tcp_unix.c:26: ./ip_unix.c:248:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,name)),NIL,&hints, ^~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:49: In file included from ./tcp_unix.c:26: ./ip_unix.c:248:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,name)),NIL,&hints, ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/netdb.h:251:30: note: passing argument to parameter here int getaddrinfo(const char *, const char *, ^ In file included from osdep.c:49: ./tcp_unix.c:179:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = ip_stringtoaddr (tmp,&adrlen,&family)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:179:13: note: place parentheses around the assignment to silence this warning if (adr = ip_stringtoaddr (tmp,&adrlen,&family)) { ^ ( ) ./tcp_unix.c:179:13: note: use '==' to turn this assignment into an equality comparison if (adr = ip_stringtoaddr (tmp,&adrlen,&family)) { ^ == ./tcp_unix.c:226:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream->ictr = ctr) *(stream->iptr = stream->ibuf) = tmp[0]; ~~~~~~~~~~~~~^~~~~ ./tcp_unix.c:226:22: note: place parentheses around the assignment to silence this warning if (stream->ictr = ctr) *(stream->iptr = stream->ibuf) = tmp[0]; ^ ( ) ./tcp_unix.c:226:22: note: use '==' to turn this assignment into an equality comparison if (stream->ictr = ctr) *(stream->iptr = stream->ibuf) = tmp[0]; ^ == ./tcp_unix.c:374:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = ip_stringtoaddr (host,&len,&i)) fs_give ((void **) &adr); ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:374:13: note: place parentheses around the assignment to silence this warning if (adr = ip_stringtoaddr (host,&len,&i)) fs_give ((void **) &adr); ^ ( ) ./tcp_unix.c:374:13: note: use '==' to turn this assignment into an equality comparison if (adr = ip_stringtoaddr (host,&len,&i)) fs_give ((void **) &adr); ^ == ./tcp_unix.c:477:43: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] char *ret = tcp_getline_work (stream,&n,&contd); ^~~~~~ ./tcp_unix.c:61:17: note: passing argument to parameter 'contd' here long *contd); ^ ./tcp_unix.c:485:41: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = tcp_getline_work (stream,&n,&contd); ^~~~~~ ./tcp_unix.c:61:17: note: passing argument to parameter 'contd' here long *contd); ^ ./tcp_unix.c:553:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = min (size,stream->ictr)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:553:9: note: place parentheses around the assignment to silence this warning if (n = min (size,stream->ictr)) { ^ ( ) ./tcp_unix.c:553:9: note: use '==' to turn this assignment into an equality comparison if (n = min (size,stream->ictr)) { ^ == ./tcp_unix.c:874:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (s,' ')) *v = '\0'; ~~^~~~~~~~~~~~~~~~ ./tcp_unix.c:874:8: note: place parentheses around the assignment to silence this warning if (v = strchr (s,' ')) *v = '\0'; ^ ( ) ./tcp_unix.c:874:8: note: use '==' to turn this assignment into an equality comparison if (v = strchr (s,' ')) *v = '\0'; ^ == ./tcp_unix.c:1003:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = tcp_name_valid (ip_sockaddrtoname (sadr,buf))) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:1003:11: note: place parentheses around the assignment to silence this warning if (t = tcp_name_valid (ip_sockaddrtoname (sadr,buf))) { ^ ( ) ./tcp_unix.c:1003:11: note: use '==' to turn this assignment into an equality comparison if (t = tcp_name_valid (ip_sockaddrtoname (sadr,buf))) { ^ == osdep.c:159:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (pw = ((pam_start ((char *) mail_parameters (NIL,GET_SERVICENAME,NIL), ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:159:10: note: place parentheses around the assignment to silence this warning if (pw = ((pam_start ((char *) mail_parameters (NIL,GET_SERVICENAME,NIL), ^ ( osdep.c:159:10: note: use '==' to turn this assignment into an equality comparison if (pw = ((pam_start ((char *) mail_parameters (NIL,GET_SERVICENAME,NIL), ^ == osdep.c:472:12: warning: 'TLSv1_client_method' is deprecated [-Wdeprecated-declarations] TLSv1_client_method () : ^ /usr/include/openssl/ssl.h:2017:1: note: 'TLSv1_client_method' has been explicitly marked deprecated here OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_client_method(void); ^ /usr/include/openssl/macros.h:204:49: note: expanded from macro 'OSSL_DEPRECATEDIN_1_1_0' # define OSSL_DEPRECATEDIN_1_1_0 OSSL_DEPRECATED(1.1.0) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:490:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:490:9: note: place parentheses around the assignment to silence this warning if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL)) ^ ( ) osdep.c:490:9: note: use '==' to turn this assignment into an equality comparison if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL)) ^ == osdep.c:494:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (cert = PEM_read_bio_X509 (bio = BIO_new_mem_buf (s,sl),NIL,NIL,NIL)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:494:14: note: place parentheses around the assignment to silence this warning if (cert = PEM_read_bio_X509 (bio = BIO_new_mem_buf (s,sl),NIL,NIL,NIL)) { ^ ( ) osdep.c:494:14: note: use '==' to turn this assignment into an equality comparison if (cert = PEM_read_bio_X509 (bio = BIO_new_mem_buf (s,sl),NIL,NIL,NIL)) { ^ == osdep.c:503:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (key = PEM_read_bio_PrivateKey (bio = BIO_new_mem_buf (t,tl), ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:503:15: note: place parentheses around the assignment to silence this warning if (key = PEM_read_bio_PrivateKey (bio = BIO_new_mem_buf (t,tl), ^ ( osdep.c:503:15: note: use '==' to turn this assignment into an equality comparison if (key = PEM_read_bio_PrivateKey (bio = BIO_new_mem_buf (t,tl), ^ == osdep.c:641:43: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] char *ret = ssl_getline_work (stream,&n,&contd); ^~~~~~ osdep.c:314:17: note: passing argument to parameter 'contd' here long *contd); ^ osdep.c:649:41: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = ssl_getline_work (stream,&n,&contd); ^~~~~~ osdep.c:314:17: note: passing argument to parameter 'contd' here long *contd); ^ osdep.c:1177:16: warning: 'SSL_CTX_use_RSAPrivateKey_file' is deprecated [-Wdeprecated-declarations] else if (!(SSL_CTX_use_RSAPrivateKey_file (stream->context,key, ^ /usr/include/openssl/ssl.h:1696:1: note: 'SSL_CTX_use_RSAPrivateKey_file' has been explicitly marked deprecated here OSSL_DEPRECATEDIN_3_0 ^ /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0' # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:1192:8: warning: 'PEM_read_bio_DHparams' is deprecated [-Wdeprecated-declarations] dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL); ^ /usr/include/openssl/pem.h:469:21: note: 'PEM_read_bio_DHparams' has been explicitly marked deprecated here DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH) ^ /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0' # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:1215:5: warning: 'DH_free' is deprecated [-Wdeprecated-declarations] DH_free(dh); ^ /usr/include/openssl/dh.h:204:1: note: 'DH_free' has been explicitly marked deprecated here OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh); ^ /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0' # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:1253:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (i = ERR_get_error ()) /* SSL failure */ ~~^~~~~~~~~~~~~~~~~~ osdep.c:1253:12: note: place parentheses around the assignment to silence this warning while (i = ERR_get_error ()) /* SSL failure */ ^ ( ) osdep.c:1253:12: note: use '==' to turn this assignment into an equality comparison while (i = ERR_get_error ()) /* SSL failure */ ^ == osdep.c:1272:17: warning: 'RSA_generate_key' is deprecated [-Wdeprecated-declarations] if (!(key = RSA_generate_key (export ? keylength : 1024,RSA_F4,NIL,NIL))) { ^ /usr/include/openssl/rsa.h:253:1: note: 'RSA_generate_key' has been explicitly marked deprecated here OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void ^ /usr/include/openssl/macros.h:248:49: note: expanded from macro 'OSSL_DEPRECATEDIN_0_9_8' # define OSSL_DEPRECATEDIN_0_9_8 OSSL_DEPRECATED(0.9.8) ^ /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED' # define OSSL_DEPRECATED(since) __attribute__((deprecated)) ^ osdep.c:1275:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (i = ERR_get_error ()) ~~^~~~~~~~~~~~~~~~~~ osdep.c:1275:16: note: place parentheses around the assignment to silence this warning while (i = ERR_get_error ()) ^ ( ) osdep.c:1275:16: note: use '==' to turn this assignment into an equality comparison while (i = ERR_get_error ()) ^ == 256 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` mail.c -o mail.so mail.c:213:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream->cache[i] = stream->cache[msgno]) ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:213:28: note: place parentheses around the assignment to silence this warning if (stream->cache[i] = stream->cache[msgno]) ^ ( ) mail.c:213:28: note: use '==' to turn this assignment into an equality comparison if (stream->cache[i] = stream->cache[msgno]) ^ == mail.c:384:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:384:57: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:389:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:389:57: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:391:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) d) d->flags &= ~DR_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:391:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) d) d->flags &= ~DR_DISABLE; ^ ( ) mail.c:391:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) d) d->flags &= ~DR_DISABLE; ^ == mail.c:394:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:394:57: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:396:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) d) d->flags |= DR_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:396:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) d) d->flags |= DR_DISABLE; ^ ( ) mail.c:396:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) d) d->flags |= DR_DISABLE; ^ == mail.c:400:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:400:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:401:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags &= ~AU_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:401:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags &= ~AU_DISABLE; ^ ( ) mail.c:401:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags &= ~AU_DISABLE; ^ == mail.c:405:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:405:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:406:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags |= AU_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:406:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags |= AU_DISABLE; ^ ( ) mail.c:406:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags |= AU_DISABLE; ^ == mail.c:410:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:410:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:411:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags &= ~AU_HIDE; ~~~~^~~~~~~~~~~~ mail.c:411:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags &= ~AU_HIDE; ^ ( ) mail.c:411:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags &= ~AU_HIDE; ^ == mail.c:415:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:415:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:416:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags |= AU_HIDE; ~~~~^~~~~~~~~~~~ mail.c:416:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags |= AU_HIDE; ^ ( ) mail.c:416:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags |= AU_HIDE; ^ == mail.c:650:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = smtp_parameters (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:650:11: note: place parentheses around the assignment to silence this warning if (r = smtp_parameters (function,value)) ret = r; ^ ( ) mail.c:650:11: note: use '==' to turn this assignment into an equality comparison if (r = smtp_parameters (function,value)) ret = r; ^ == mail.c:651:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = env_parameters (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:651:11: note: place parentheses around the assignment to silence this warning if (r = env_parameters (function,value)) ret = r; ^ ( ) mail.c:651:11: note: use '==' to turn this assignment into an equality comparison if (r = env_parameters (function,value)) ret = r; ^ == mail.c:652:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = tcp_parameters (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:652:11: note: place parentheses around the assignment to silence this warning if (r = tcp_parameters (function,value)) ret = r; ^ ( ) mail.c:652:11: note: use '==' to turn this assignment into an equality comparison if (r = tcp_parameters (function,value)) ret = r; ^ == mail.c:654:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = (*stream->dtb->parameters) (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:654:13: note: place parentheses around the assignment to silence this warning if (r = (*stream->dtb->parameters) (function,value)) ret = r; ^ ( ) mail.c:654:13: note: use '==' to turn this assignment into an equality comparison if (r = (*stream->dtb->parameters) (function,value)) ret = r; ^ == mail.c:658:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = (d->parameters) (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:658:13: note: place parentheses around the assignment to silence this warning if (r = (d->parameters) (function,value)) ret = r; ^ ( ) mail.c:658:13: note: use '==' to turn this assignment into an equality comparison if (r = (d->parameters) (function,value)) ret = r; ^ == mail.c:772:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strpbrk (s = t,"/:=")) { ~~^~~~~~~~~~~~~~~~~~~~~~~ mail.c:772:13: note: place parentheses around the assignment to silence this warning if (t = strpbrk (s = t,"/:=")) { ^ ( ) mail.c:772:13: note: use '==' to turn this assignment into an equality comparison if (t = strpbrk (s = t,"/:=")) { ^ == mail.c:790:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strpbrk (v = t,"/:")) { ~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:790:10: note: place parentheses around the assignment to silence this warning if (t = strpbrk (v = t,"/:")) { ^ ( ) mail.c:790:10: note: use '==' to turn this assignment into an equality comparison if (t = strpbrk (v = t,"/:")) { ^ == mail.c:797:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"service") && (i < NETMAXSRV) && !*mb->service) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:797:26: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"service") && (i < NETMAXSRV) && !*mb->service) ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:798:11: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lcase (strcpy (mb->service,v)); ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ mail.c:799:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"user") && (i < NETMAXUSER) && !*mb->user) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:799:31: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"user") && (i < NETMAXUSER) && !*mb->user) ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:801:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"authuser") && (i < NETMAXUSER) && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:801:31: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"authuser") && (i < NETMAXUSER) && ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:807:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"anonymous")) mb->anoflag = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:807:26: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"anonymous")) mb->anoflag = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:808:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"debug")) mb->dbgflag = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:808:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"debug")) mb->dbgflag = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:809:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"readonly")) mb->readonlyflag = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:809:31: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"readonly")) mb->readonlyflag = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:810:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"secure")) mb->secflag = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:810:31: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"secure")) mb->secflag = T; ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:811:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"norsh")) mb->norsh = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:811:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"norsh")) mb->norsh = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:812:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"loser")) mb->loser = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:812:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"loser")) mb->loser = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:813:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tls") && !mb->notlsflag) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:813:31: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tls") && !mb->notlsflag) ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:815:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tls-sslv23") && !mb->notlsflag) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:815:31: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tls-sslv23") && !mb->notlsflag) ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:817:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"notls") && !mb->tlsflag) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:817:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"notls") && !mb->tlsflag) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:819:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tryssl")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:819:31: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"tryssl")) ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:821:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"ssl") && !mb->tlsflag) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:821:48: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"ssl") && !mb->tlsflag) ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:823:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"novalidate-cert")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:823:48: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"novalidate-cert")) ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:826:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"validate-cert")); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:826:48: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"validate-cert")); ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:829:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"imap") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:829:31: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"imap") || ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:830:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"nntp") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:830:24: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"nntp") || ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:831:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"pop3") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:831:24: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"pop3") || ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:832:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"smtp") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:832:24: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"smtp") || ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:833:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"submit")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:833:24: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"submit")) ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:834:11: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lcase (strcpy (mb->service,s)); ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ mail.c:835:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"imap2") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:835:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"imap2") || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:836:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap2bis") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:836:24: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap2bis") || ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:837:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap4") || ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:837:24: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap4") || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:838:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap4rev1")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:838:24: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (s,"imap4rev1")) ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:840:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"pop")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:840:31: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"pop")) ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:925:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = d->next); /* until at the end */ ~~^~~~~~~~~ mail.c:925:12: note: place parentheses around the assignment to silence this warning while (d = d->next); /* until at the end */ ^ ( ) mail.c:925:12: note: use '==' to turn this assignment into an equality comparison while (d = d->next); /* until at the end */ ^ == mail.c:958:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = d->next); /* until at the end */ ~~^~~~~~~~~ mail.c:958:12: note: place parentheses around the assignment to silence this warning while (d = d->next); /* until at the end */ ^ ( ) mail.c:958:12: note: use '==' to turn this assignment into an equality comparison while (d = d->next); /* until at the end */ ^ == mail.c:1002:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (mailbox,"\015\012")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1002:9: note: place parentheses around the assignment to silence this warning if (s = strpbrk (mailbox,"\015\012")) { ^ ( ) mail.c:1002:9: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (mailbox,"\015\012")) { ^ == mail.c:1013:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1013:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1018:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = mail_utf7_valid (mailbox)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1018:9: note: place parentheses around the assignment to silence this warning if (s = mail_utf7_valid (mailbox)) { ^ ( ) mail.c:1018:9: note: use '==' to turn this assignment into an equality comparison if (s = mail_utf7_valid (mailbox)) { ^ == mail.c:1098:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = mail_utf7_valid (newname)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1098:9: note: place parentheses around the assignment to silence this warning if (s = mail_utf7_valid (newname)) { ^ ( ) mail.c:1098:9: note: use '==' to turn this assignment into an equality comparison if (s = mail_utf7_valid (newname)) { ^ == mail.c:1205:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream = mail_open (stream,s+1,options)) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1205:18: note: place parentheses around the assignment to silence this warning if (stream = mail_open (stream,s+1,options)) { ^ ( ) mail.c:1205:18: note: use '==' to turn this assignment into an equality comparison if (stream = mail_open (stream,s+1,options)) { ^ == mail.c:1222:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream = mail_open (stream,mb.mailbox,options)) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1222:18: note: place parentheses around the assignment to silence this warning if (stream = mail_open (stream,mb.mailbox,options)) { ^ ( ) mail.c:1222:18: note: use '==' to turn this assignment into an equality comparison if (stream = mail_open (stream,mb.mailbox,options)) { ^ == mail.c:1249:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (tmp,"/\\:")) *s++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:1249:13: note: place parentheses around the assignment to silence this warning if (s = strpbrk (tmp,"/\\:")) *s++ = '\0'; ^ ( ) mail.c:1249:13: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (tmp,"/\\:")) *s++ = '\0'; ^ == mail.c:1255:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,tmp); d = d->next); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1255:59: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,tmp); d = d->next); ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1477:48: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->dtb && mail_uid_sequence (stream,sequence) && ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:1493:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->dtb && mail_sequence (stream,sequence) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:1518:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ov.date = env->date; ^ ~~~~~~~~~ mail.c:1549:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1549:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1549:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1661:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1661:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1661:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1731:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1731:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1731:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1736:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((b = mail_body (stream,msgno,section)) && ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:1784:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (rt.data = (unsigned char *) ~~~~~~~~^~~~~~~~~~~~~~~~~~~ mail.c:1784:19: note: place parentheses around the assignment to silence this warning if (rt.data = (unsigned char *) ^ ( mail.c:1784:19: note: use '==' to turn this assignment into an equality comparison if (rt.data = (unsigned char *) ^ == mail.c:1822:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1822:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1822:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1827:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((b = mail_body (stream,msgno,section)) && ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:1877:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1877:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1877:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1881:61: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(section && *section && (b = mail_body (stream,msgno,section)))) ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:1960:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1960:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1960:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1964:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(b = mail_body (stream,msgno,section))) return ""; ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:2018:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2018:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:2018:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:2024:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((b = mail_body (stream,msgno,section)) && ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:2088:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2088:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:2088:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:2092:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(b = mail_body (stream,msgno,section))) return NIL; ^~~~~~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:2238:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (delta = ((last - first) / 2)) { ~~~~~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:2238:12: note: place parentheses around the assignment to silence this warning if (delta = ((last - first) / 2)) { ^ ( ) mail.c:2238:12: note: use '==' to turn this assignment into an equality comparison if (delta = ((last - first) / 2)) { ^ == mail.c:2314:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & ST_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:2315:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:2392:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msg = utf8_badcharset (charset)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2392:11: note: place parentheses around the assignment to silence this warning if (msg = utf8_badcharset (charset)) { ^ ( ) mail.c:2392:11: note: use '==' to turn this assignment into an equality comparison if (msg = utf8_badcharset (charset)) { ^ == mail.c:2604:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strncmp (lcase (strcpy (tmp,mailbox)),"#driver.",8)) { ^~~~~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ mail.c:2604:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strncmp (lcase (strcpy (tmp,mailbox)),"#driver.",8)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:111:26: note: passing argument to parameter here int strncmp(const char *, const char *, size_t) __pure; ^ mail.c:2618:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (d = mail_valid (stream,mailbox,NIL)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2618:14: note: place parentheses around the assignment to silence this warning else if (d = mail_valid (stream,mailbox,NIL)) ^ ( ) mail.c:2618:14: note: use '==' to turn this assignment into an equality comparison else if (d = mail_valid (stream,mailbox,NIL)) ^ == mail.c:2656:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = (MESSAGECACHE *) (*mailcache) (stream,i,CH_ELT)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2656:13: note: place parentheses around the assignment to silence this warning if (elt = (MESSAGECACHE *) (*mailcache) (stream,i,CH_ELT)) ^ ( ) mail.c:2656:13: note: use '==' to turn this assignment into an equality comparison if (elt = (MESSAGECACHE *) (*mailcache) (stream,i,CH_ELT)) ^ == mail.c:2726:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(i = strtoul (section,(char **) §ion,10)) || ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2731:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (pt = b->nested.part) while (--i && (pt = pt->next)); ~~~^~~~~~~~~~~~~~~~ mail.c:2731:11: note: place parentheses around the assignment to silence this warning if (pt = b->nested.part) while (--i && (pt = pt->next)); ^ ( ) mail.c:2731:11: note: use '==' to turn this assignment into an equality comparison if (pt = b->nested.part) while (--i && (pt = pt->next)); ^ == mail.c:2858:27: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && *s && (strlen (s) < (size_t)MAILTMPLEN)) s = ucase (strcpy (tmp,s)); ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mail.c:2858:76: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && *s && (strlen (s) < (size_t)MAILTMPLEN)) s = ucase (strcpy (tmp,s)); ^ /usr/include/string.h:87:56: note: passing argument to parameter here char *strcpy(char * __restrict, const char * __restrict); ^ mail.c:2858:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && *s && (strlen (s) < (size_t)MAILTMPLEN)) s = ucase (strcpy (tmp,s)); ^~~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ mail.c:2864:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(m = strtoul (s,(char **) &s,10))) return NIL; ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2868:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (isdigit (*++s) && (d = strtoul (s,(char **) &s,10)) && ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2870:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] y = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2880:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((m = strtoul (s+1,(char **) &s,10)) && (*s++ == '-') && ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2881:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (d = strtoul (s,(char **) &s,10)) && !*s) break; ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2886:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (strlen (s) < (size_t) 5) return NIL; ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mail.c:2914:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] y = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2938:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d = strtoul (s+1,(char **) &s,10); ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2940:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] m = strtoul (++s,(char **) &s,10); ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:2941:32: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] y = (*s == ':') ? strtoul (++s,(char **) &s,10) : 0; ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:3091:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = gmtime (&tn)) { /* minus UTC minutes since midnight */ ~~^~~~~~~~~~~~~~ mail.c:3091:11: note: place parentheses around the assignment to silence this warning if (t = gmtime (&tn)) { /* minus UTC minutes since midnight */ ^ ( ) mail.c:3091:11: note: use '==' to turn this assignment into an equality comparison if (t = gmtime (&tn)) { /* minus UTC minutes since midnight */ ^ == mail.c:3271:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(i = strtoul (sequence,(char **) &sequence,10))) { ^~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:3282:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(j = strtoul (sequence,(char **) &sequence,10))) { ^~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:3312:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (x = mail_msgno (stream,i)) mail_elt (stream,x)->sequence = T; ~~^~~~~~~~~~~~~~~~~~~~~~~ mail.c:3312:13: note: place parentheses around the assignment to silence this warning if (x = mail_msgno (stream,i)) mail_elt (stream,x)->sequence = T; ^ ( ) mail.c:3312:13: note: use '==' to turn this assignment into an equality comparison if (x = mail_msgno (stream,i)) mail_elt (stream,x)->sequence = T; ^ == mail.c:3345:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (lines = lines->next); ~~~~~~^~~~~~~~~~~~~ mail.c:3345:16: note: place parentheses around the assignment to silence this warning while (lines = lines->next); ^ ( ) mail.c:3345:16: note: use '==' to turn this assignment into an equality comparison while (lines = lines->next); ^ == mail.c:3377:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = t - tmp) /* see if found in header */ ~~^~~~~~~~~ mail.c:3377:11: note: place parentheses around the assignment to silence this warning if (i = t - tmp) /* see if found in header */ ^ ( ) mail.c:3377:11: note: use '==' to turn this assignment into an equality comparison if (i = t - tmp) /* see if found in header */ ^ == mail.c:3379:53: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((hdrs->text.size == i) && !compare_csizedtext (tmp,&hdrs->text)) ^~~ ./misc.h:107:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ mail.c:3523:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] BODY *body = mail_body (stream,msgno,section); ^~~~~~~ mail.c:2716:72: note: passing argument to parameter 'section' here BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,unsigned char *section) ^ mail.c:3629:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (h.data = (unsigned char *) s) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~ mail.c:3629:14: note: place parentheses around the assignment to silence this warning if (h.data = (unsigned char *) s) { ^ ( ) mail.c:3629:14: note: use '==' to turn this assignment into an equality comparison if (h.data = (unsigned char *) s) { ^ == mail.c:3680:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (st = st->next) s = s->next = mail_newstringlist (); ~~~^~~~~~~~~~ mail.c:3680:12: note: place parentheses around the assignment to silence this warning if (st = st->next) s = s->next = mail_newstringlist (); ^ ( ) mail.c:3680:12: note: use '==' to turn this assignment into an equality comparison if (st = st->next) s = s->next = mail_newstringlist (); ^ == mail.c:3695:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((body = mail_body (stream,msgno,section)) && ^~~~~~~ mail.c:2716:72: note: passing argument to parameter 'section' here BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,unsigned char *section) ^ mail.c:3762:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (body = body->nested.msg->body) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:3762:16: note: place parentheses around the assignment to silence this warning if (body = body->nested.msg->body) ^ ( ) mail.c:3762:16: note: use '==' to turn this assignment into an equality comparison if (body = body->nested.msg->body) ^ == mail.c:3779:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (st.data = (unsigned char *) ~~~~~~~~^~~~~~~~~~~~~~~~~~~ mail.c:3779:14: note: place parentheses around the assignment to silence this warning if (st.data = (unsigned char *) ^ ( mail.c:3779:14: note: use '==' to turn this assignment into an equality comparison if (st.data = (unsigned char *) ^ == mail.c:3786:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (st.data = rfc822_qprint ((unsigned char *) s,i,&st.size)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:3786:14: note: place parentheses around the assignment to silence this warning if (st.data = rfc822_qprint ((unsigned char *) s,i,&st.size)) { ^ ( ) mail.c:3786:14: note: use '==' to turn this assignment into an equality comparison if (st.data = rfc822_qprint ((unsigned char *) s,i,&st.size)) { ^ == mail.c:3862:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_csizedtext (stream->user_flags[i],&st->text)) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:107:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ mail.c:3867:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (st = st->next); ~~~^~~~~~~~~~ mail.c:3867:15: note: place parentheses around the assignment to silence this warning } while (st = st->next); ^ ( ) mail.c:3867:15: note: use '==' to turn this assignment into an equality comparison } while (st = st->next); ^ == mail.c:3896:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tadr.personal = a->personal) k += 3 + 2*strlen (a->personal); ~~~~~~~~~~~~~~^~~~~~~~~~~~~ mail.c:3896:25: note: place parentheses around the assignment to silence this warning if (tadr.personal = a->personal) k += 3 + 2*strlen (a->personal); ^ ( ) mail.c:3896:25: note: use '==' to turn this assignment into an equality comparison if (tadr.personal = a->personal) k += 3 + 2*strlen (a->personal); ^ == mail.c:3897:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tadr.adl = a->adl) k += 3 + 2*strlen (a->adl); ~~~~~~~~~^~~~~~~~ mail.c:3897:20: note: place parentheses around the assignment to silence this warning if (tadr.adl = a->adl) k += 3 + 2*strlen (a->adl); ^ ( ) mail.c:3897:20: note: use '==' to turn this assignment into an equality comparison if (tadr.adl = a->adl) k += 3 + 2*strlen (a->adl); ^ == mail.c:3898:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tadr.host = a->host) k += 3 + 2*strlen (a->host); ~~~~~~~~~~^~~~~~~~~ mail.c:3898:21: note: place parentheses around the assignment to silence this warning if (tadr.host = a->host) k += 3 + 2*strlen (a->host); ^ ( ) mail.c:3898:21: note: use '==' to turn this assignment into an equality comparison if (tadr.host = a->host) k += 3 + 2*strlen (a->host); ^ == mail.c:3993:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] switch (*ucase (criterion)) { ^~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ mail.c:4084:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_parse_date (&elt,(char *) s->text.data) && ^~~~~~~~~~~~~~~~~~~~~ mail.c:2840:56: note: passing argument to parameter 's' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *s) ^ mail.c:4133:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (d = strtok_r (c,end,r)) n = strlen (d); ~~^~~~~~~~~~~~~~~~~~~~ mail.c:4133:11: note: place parentheses around the assignment to silence this warning if (d = strtok_r (c,end,r)) n = strlen (d); ^ ( ) mail.c:4133:11: note: use '==' to turn this assignment into an equality comparison if (d = strtok_r (c,end,r)) n = strlen (d); ^ == mail.c:4340:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (env) t = env->date; ^ ~~~~~~~~~ mail.c:4344:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4344:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4344:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4356:38: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(t && mail_parse_date (&telt,t) && ^ mail.c:2840:56: note: passing argument to parameter 's' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *s) ^ mail.c:4380:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4380:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4380:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4388:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (v,':')) { ~~^~~~~~~~~~~~~~~~ mail.c:4388:9: note: place parentheses around the assignment to silence this warning if (v = strchr (v,':')) { ^ ( ) mail.c:4388:9: note: use '==' to turn this assignment into an equality comparison if (v = strchr (v,':')) { ^ == mail.c:4414:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4414:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4414:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4422:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (v,':')) { ~~^~~~~~~~~~~~~~~~ mail.c:4422:9: note: place parentheses around the assignment to silence this warning if (v = strchr (v,':')) { ^ ( ) mail.c:4422:9: note: use '==' to turn this assignment into an equality comparison if (v = strchr (v,':')) { ^ == mail.c:4448:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4448:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4448:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4456:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (v,':')) { ~~^~~~~~~~~~~~~~~~ mail.c:4456:9: note: place parentheses around the assignment to silence this warning if (v = strchr (v,':')) { ^ ( ) mail.c:4456:9: note: use '==' to turn this assignment into an equality comparison if (v = strchr (v,':')) { ^ == mail.c:4483:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = ++t; x = strpbrk (x,"\012\015"); x++) ~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4483:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4483:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4517:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (src.size = strlen (t)) { /* have non-empty subject? */ ~~~~~~~~~^~~~~~~~~~~~ mail.c:4517:16: note: place parentheses around the assignment to silence this warning if (src.size = strlen (t)) { /* have non-empty subject? */ ^ ( ) mail.c:4517:16: note: use '==' to turn this assignment into an equality comparison if (src.size = strlen (t)) { /* have non-empty subject? */ ^ == mail.c:4659:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->from,s2->from); ^~~~~~~~ ./misc.h:105:36: note: passing argument to parameter 's1' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4659:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->from,s2->from); ^~~~~~~~ ./misc.h:105:54: note: passing argument to parameter 's2' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4662:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->to,s2->to); ^~~~~~ ./misc.h:105:36: note: passing argument to parameter 's1' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4662:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->to,s2->to); ^~~~~~ ./misc.h:105:54: note: passing argument to parameter 's2' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4665:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->cc,s2->cc); ^~~~~~ ./misc.h:105:36: note: passing argument to parameter 's1' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4665:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->cc,s2->cc); ^~~~~~ ./misc.h:105:54: note: passing argument to parameter 's2' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4668:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->subject,s2->subject); ^~~~~~~~~~~ ./misc.h:105:36: note: passing argument to parameter 's1' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4668:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = compare_string (s1->subject,s2->subject); ^~~~~~~~~~~ ./misc.h:105:54: note: passing argument to parameter 's2' here int compare_string (unsigned char *s1,unsigned char *s2); ^ mail.c:4673:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (pgm = i ? NIL : pgm->next); ~~~~^~~~~~~~~~~~~~~~~~~~~ mail.c:4673:14: note: place parentheses around the assignment to silence this warning while (pgm = i ? NIL : pgm->next); ^ ( ) mail.c:4673:14: note: use '==' to turn this assignment into an equality comparison while (pgm = i ? NIL : pgm->next); ^ == mail.c:4767:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (type,t->name)) { ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4767:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (type,t->name)) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4800:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (lst = (*sorter) (stream,charset,spg,&pgm,flags & ~(SE_FREE | SE_UID))){ ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4800:11: note: place parentheses around the assignment to silence this warning if (lst = (*sorter) (stream,charset,spg,&pgm,flags & ~(SE_FREE | SE_UID))){ ^ ( ) mail.c:4800:11: note: use '==' to turn this assignment into an equality comparison if (lst = (*sorter) (stream,charset,spg,&pgm,flags & ~(SE_FREE | SE_UID))){ ^ == mail.c:4811:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (top->sc->subject,s->subject)) { ^~~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4811:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (top->sc->subject,s->subject)) { ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4914:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (env = mail_fetch_structure (stream,s->num,NIL,NIL)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4914:10: note: place parentheses around the assignment to silence this warning if (env = mail_fetch_structure (stream,s->num,NIL,NIL)) { ^ ( ) mail.c:4914:10: note: use '==' to turn this assignment into an equality comparison if (env = mail_fetch_structure (stream,s->num,NIL,NIL)) { ^ == mail.c:4962:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] THREADLINKS); st = st->next; con = nxc) { ~~~^~~~~~~~~~ mail.c:4962:28: note: place parentheses around the assignment to silence this warning THREADLINKS); st = st->next; con = nxc) { ^ ( ) mail.c:4962:28: note: use '==' to turn this assignment into an equality comparison THREADLINKS); st = st->next; con = nxc) { ^ == mail.c:5132:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!s->date && ov->date && mail_parse_date (&telt,ov->date)) { ^~~~~~~~ mail.c:2840:56: note: passing argument to parameter 's' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *s) ^ mail.c:5194:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = mail_thread_parse_msgid (s,&s)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:5194:9: note: place parentheses around the assignment to silence this warning if (t = mail_thread_parse_msgid (s,&s)) { ^ ( ) mail.c:5194:9: note: use '==' to turn this assignment into an equality comparison if (t = mail_thread_parse_msgid (s,&s)) { ^ == mail.c:5198:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (cur = ret; t = mail_thread_parse_msgid (s,&s); cur = cur->next) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:5198:25: note: place parentheses around the assignment to silence this warning for (cur = ret; t = mail_thread_parse_msgid (s,&s); cur = cur->next) { ^ ( ) mail.c:5198:25: note: use '==' to turn this assignment into an equality comparison for (cur = ret; t = mail_thread_parse_msgid (s,&s); cur = cur->next) { ^ == mail.c:5300:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (nxt = CHILD (con)) cur->next = mail_thread_c2node (stream,nxt,flags); ~~~~^~~~~~~~~~~~~ mail.c:5300:13: note: place parentheses around the assignment to silence this warning if (nxt = CHILD (con)) cur->next = mail_thread_c2node (stream,nxt,flags); ^ ( ) mail.c:5300:13: note: use '==' to turn this assignment into an equality comparison if (nxt = CHILD (con)) cur->next = mail_thread_c2node (stream,nxt,flags); ^ == mail.c:5382:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(i = strtoul (sequence,(char **) &sequence,10)) || ^~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:5398:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(j = strtoul (sequence,(char **) &sequence,10)) || ^~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mail.c:5451:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = strchr (t,' ')) *n++ = '\0'; ~~^~~~~~~~~~~~~~~~ mail.c:5451:13: note: place parentheses around the assignment to silence this warning if (n = strchr (t,' ')) *n++ = '\0'; ^ ( ) mail.c:5451:13: note: use '==' to turn this assignment into an equality comparison if (n = strchr (t,' ')) *n++ = '\0'; ^ == mail.c:5453:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t+1,"SEEN")) f |= fSEEN; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5453:28: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t+1,"SEEN")) f |= fSEEN; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5454:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"DELETED")) f |= fDELETED; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5454:33: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"DELETED")) f |= fDELETED; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5455:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"FLAGGED")) f |= fFLAGGED; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5455:33: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"FLAGGED")) f |= fFLAGGED; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5456:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"ANSWERED")) f |= fANSWERED; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5456:33: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"ANSWERED")) f |= fANSWERED; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5457:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"DRAFT")) f |= fDRAFT; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5457:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t+1,"DRAFT")) f |= fDRAFT; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5467:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,s)) *uf |= i = 1 << j; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5467:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,s)) *uf |= i = 1 << j; ^ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5517:27: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((!compare_cstring (smb.host,trustdns ? ^~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5517:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((!compare_cstring (smb.host,trustdns ? ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5523:27: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (omb.host,nmb.host) && ^~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5523:36: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (omb.host,nmb.host) && ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6095:43: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (auth->server && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6095:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (auth->server && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6128:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !(auth->flags & AU_DISABLE) && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6128:62: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !(auth->flags & AU_DISABLE) && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6215:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tstream = (*dv->open) (host,service,port | flags)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:6215:15: note: place parentheses around the assignment to silence this warning if (tstream = (*dv->open) (host,service,port | flags)) { ^ ( ) mail.c:6215:15: note: use '==' to turn this assignment into an equality comparison if (tstream = (*dv->open) (host,service,port | flags)) { ^ == mail.c:6237:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tstream = (*dv->aopen) (mb,service,user)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:6237:15: note: place parentheses around the assignment to silence this warning if (tstream = (*dv->aopen) (mb,service,user)) { ^ ( ) mail.c:6237:15: note: use '==' to turn this assignment into an equality comparison if (tstream = (*dv->aopen) (mb,service,user)) { ^ == 213 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` misc.c -o misc.so misc.c:272:41: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] for (j = patc,c = base[k = i]; (c == pat[j]); j--,c = base[--k]) ~~^~~~~~~~~ misc.c:272:41: note: remove extraneous parentheses around the comparison to silence this warning for (j = patc,c = base[k = i]; (c == pat[j]); j--,c = base[--k]) ~ ^ ~ misc.c:272:41: note: use '=' to turn this equality comparison into an assignment for (j = patc,c = base[k = i]; (c == pat[j]); j--,c = base[--k]) ^~ = misc.c:314:47: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (i = 0; i < hashtab->size; i++) if (ent = hashtab->table[i]) ~~~~^~~~~~~~~~~~~~~~~~~ misc.c:314:47: note: place parentheses around the assignment to silence this warning for (i = 0; i < hashtab->size; i++) if (ent = hashtab->table[i]) ^ ( ) misc.c:314:47: note: use '==' to turn this assignment into an equality comparison for (i = 0; i < hashtab->size; i++) if (ent = hashtab->table[i]) ^ == misc.c:331:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (ret = 0; i = (unsigned int) *key++; ret += i) ret *= HASHMULT; ~~^~~~~~~~~~~~~~~~~~~~~~~ misc.c:331:19: note: place parentheses around the assignment to silence this warning for (ret = 0; i = (unsigned int) *key++; ret += i) ret *= HASHMULT; ^ ( ) misc.c:331:19: note: use '==' to turn this assignment into an equality comparison for (ret = 0; i = (unsigned int) *key++; ret += i) ret *= HASHMULT; ^ == misc.c:450:39: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (; *s1 && *s2; s1++,s2++) if (i = (compare_ulong (*s1,*s2))) return i; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ misc.c:450:39: note: place parentheses around the assignment to silence this warning for (; *s1 && *s2; s1++,s2++) if (i = (compare_ulong (*s1,*s2))) return i; ^ ( ) misc.c:450:39: note: use '==' to turn this assignment into an equality comparison for (; *s1 && *s2; s1++,s2++) if (i = (compare_ulong (*s1,*s2))) return i; ^ == misc.c:469:39: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (; *s1 && *s2; s1++,s2++) if (i = (compare_uchar (*s1,*s2))) return i; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ misc.c:469:39: note: place parentheses around the assignment to silence this warning for (; *s1 && *s2; s1++,s2++) if (i = (compare_uchar (*s1,*s2))) return i; ^ ( ) misc.c:469:39: note: use '==' to turn this assignment into an equality comparison for (; *s1 && *s2; s1++,s2++) if (i = (compare_uchar (*s1,*s2))) return i; ^ == misc.c:488:10: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = (char *) s2->data,j = s2->size; *s1 && j; ++s1,++s,--j) ^ ~~~~~~~~~~~~~~~~~ misc.c:489:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = (compare_uchar (*s1,*s))) return i; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ misc.c:489:11: note: place parentheses around the assignment to silence this warning if (i = (compare_uchar (*s1,*s))) return i; ^ ( ) misc.c:489:11: note: use '==' to turn this assignment into an equality comparison if (i = (compare_uchar (*s1,*s))) return i; ^ == 7 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` newsrc.c -o newsrc.so newsrc.c:126:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = elt->private.uid - 1) { ~~^~~~~~~~~~~~~~~~~~~~~~ newsrc.c:126:8: note: place parentheses around the assignment to silence this warning if (k = elt->private.uid - 1) { ^ ( ) newsrc.c:126:8: note: use '==' to turn this assignment into an equality comparison if (k = elt->private.uid - 1) { ^ == newsrc.c:167:19: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_lsub (stream,'.',name,NIL); ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ newsrc.c:167:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_lsub (stream,'.',name,NIL); ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ newsrc.c:170:21: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ newsrc.c:170:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ newsrc.c:343:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = fopen (newsrc,"rb")) {/* have existing newsrc file? */ ~~^~~~~~~~~~~~~~~~~~~~~ newsrc.c:343:9: note: place parentheses around the assignment to silence this warning if (f = fopen (newsrc,"rb")) {/* have existing newsrc file? */ ^ ( ) newsrc.c:343:9: note: use '==' to turn this assignment into an equality comparison if (f = fopen (newsrc,"rb")) {/* have existing newsrc file? */ ^ == newsrc.c:368:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = newsrc_create (stream,NIL)) bf = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ newsrc.c:368:13: note: place parentheses around the assignment to silence this warning if (f = newsrc_create (stream,NIL)) bf = NIL; ^ ( ) newsrc.c:368:13: note: use '==' to turn this assignment into an equality comparison if (f = newsrc_create (stream,NIL)) bf = NIL; ^ == newsrc.c:384:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = newsrc_create (stream,T)) bf = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ newsrc.c:384:11: note: place parentheses around the assignment to silence this warning if (f = newsrc_create (stream,T)) bf = NIL; ^ ( ) newsrc.c:384:11: note: use '==' to turn this assignment into an equality comparison if (f = newsrc_create (stream,T)) bf = NIL; ^ == 8 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` smanager.c -o smanager.so smanager.c:42:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:42:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:44:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = fopen (db,"r")) { /* make sure not already there */ ~~^~~~~~~~~~~~~~~~ smanager.c:44:9: note: place parentheses around the assignment to silence this warning if (f = fopen (db,"r")) { /* make sure not already there */ ^ ( ) smanager.c:44:9: note: use '==' to turn this assignment into an equality comparison if (f = fopen (db,"r")) { /* make sure not already there */ ^ == smanager.c:46:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (tmp,'\n')) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ smanager.c:46:13: note: place parentheses around the assignment to silence this warning if (s = strchr (tmp,'\n')) *s = '\0'; ^ ( ) smanager.c:46:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (tmp,'\n')) *s = '\0'; ^ == smanager.c:75:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:75:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:86:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (tmp,'\n')) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ smanager.c:86:13: note: place parentheses around the assignment to silence this warning if (s = strchr (tmp,'\n')) *s = '\0'; ^ ( ) smanager.c:86:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (tmp,'\n')) *s = '\0'; ^ == smanager.c:116:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = fopen (sbname,"r")) *sdb = (void *) f; ~~^~~~~~~~~~~~~~~~~~~~ smanager.c:116:11: note: place parentheses around the assignment to silence this warning if (f = fopen (sbname,"r")) *sdb = (void *) f; ^ ( ) smanager.c:116:11: note: use '==' to turn this assignment into an equality comparison if (f = fopen (sbname,"r")) *sdb = (void *) f; ^ == smanager.c:120:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (sbname,'\n')) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ smanager.c:120:11: note: place parentheses around the assignment to silence this warning if (s = strchr (sbname,'\n')) *s = '\0'; ^ ( ) smanager.c:120:11: note: use '==' to turn this assignment into an equality comparison if (s = strchr (sbname,'\n')) *s = '\0'; ^ == 9 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` utf8.c -o utf8.so utf8.c:380:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (script,utf8_scvalid[i].name)) ^~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:380:36: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (script,utf8_scvalid[i].name)) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:397:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (charset,utf8_csvalid[i].name)) ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:397:37: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (charset,utf8_csvalid[i].name)) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:583:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] short iso2022jp = !compare_cstring (charset,"ISO-2022-JP"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:583:47: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] short iso2022jp = !compare_cstring (charset,"ISO-2022-JP"); ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:610:26: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (dcs->name,"ISO-2022-JP"))) ? ^~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:610:36: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (dcs->name,"ISO-2022-JP"))) ? ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:644:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] return (currmapcs && !compare_cstring (charset,currmapcs->name)) ? currmap : ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:644:50: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] return (currmapcs && !compare_cstring (charset,currmapcs->name)) ? currmap : ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:659:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (ret = utf8_rmap_gen (cs,currmap)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:659:16: note: place parentheses around the assignment to silence this warning else if (ret = utf8_rmap_gen (cs,currmap)) { ^ ( ) utf8.c:659:16: note: use '==' to turn this assignment into an equality comparison else if (ret = utf8_rmap_gen (cs,currmap)) { ^ == utf8.c:791:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = utf8_rmapsize (text,rmap,errch,iso2022jp)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:791:9: note: place parentheses around the assignment to silence this warning if (i = utf8_rmapsize (text,rmap,errch,iso2022jp)) { ^ ( ) utf8.c:791:9: note: use '==' to turn this assignment into an equality comparison if (i = utf8_rmapsize (text,rmap,errch,iso2022jp)) { ^ == utf8.c:1320:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"ISO-2022-JP")) s = "EUC-JP"; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:1320:29: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"ISO-2022-JP")) s = "EUC-JP"; ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:1322:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (cs = utf8_charset (s)) { ~~~^~~~~~~~~~~~~~~~~~ utf8.c:1322:12: note: place parentheses around the assignment to silence this warning if (cs = utf8_charset (s)) { ^ ( ) utf8.c:1322:12: note: use '==' to turn this assignment into an equality comparison if (cs = utf8_charset (s)) { ^ == utf8.c:2424:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (m = (struct decomposemore *) *more) switch (m->type) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2424:11: note: place parentheses around the assignment to silence this warning if (m = (struct decomposemore *) *more) switch (m->type) { ^ ( ) utf8.c:2424:11: note: use '==' to turn this assignment into an equality comparison if (m = (struct decomposemore *) *more) switch (m->type) { ^ == utf8.c:2447:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = ucs4_dbmploixtab[c - UCS4_BMPLOMIN]) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2447:13: note: place parentheses around the assignment to silence this warning if (i = ucs4_dbmploixtab[c - UCS4_BMPLOMIN]) { ^ ( ) utf8.c:2447:13: note: use '==' to turn this assignment into an equality comparison if (i = ucs4_dbmploixtab[c - UCS4_BMPLOMIN]) { ^ == utf8.c:2477:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = ucs4_dbmphiixtab[c - UCS4_BMPHIMIN]) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2477:13: note: place parentheses around the assignment to silence this warning if (i = ucs4_dbmphiixtab[c - UCS4_BMPHIMIN]) { ^ ( ) utf8.c:2477:13: note: use '==' to turn this assignment into an equality comparison if (i = ucs4_dbmphiixtab[c - UCS4_BMPHIMIN]) { ^ == utf8.c:2542:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (mr = (RECURSIVEMORE *) *more) switch (mr->more->type) { ~~~^~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2542:12: note: place parentheses around the assignment to silence this warning if (mr = (RECURSIVEMORE *) *more) switch (mr->more->type) { ^ ( ) utf8.c:2542:12: note: use '==' to turn this assignment into an equality comparison if (mr = (RECURSIVEMORE *) *more) switch (mr->more->type) { ^ == utf8.c:2562:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (mr = mn) { /* did this value recurse on us? */ ~~~^~~~ utf8.c:2562:12: note: place parentheses around the assignment to silence this warning if (mr = mn) { /* did this value recurse on us? */ ^ ( ) utf8.c:2562:12: note: use '==' to turn this assignment into an equality comparison if (mr = mn) { /* did this value recurse on us? */ ^ == 20 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` utf8aux.c -o utf8aux.so utf8aux.c:47:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (st = st->next); ~~~^~~~~~~~~~ utf8aux.c:47:15: note: place parentheses around the assignment to silence this warning } while (st = st->next); ^ ( ) utf8aux.c:47:15: note: use '==' to turn this assignment into an equality comparison } while (st = st->next); ^ == utf8aux.c:136:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ls = strchr (cs,'*')) *ls = '\0'; ~~~^~~~~~~~~~~~~~~~~ utf8aux.c:136:9: note: place parentheses around the assignment to silence this warning if (ls = strchr (cs,'*')) *ls = '\0'; ^ ( ) utf8aux.c:136:9: note: use '==' to turn this assignment into an equality comparison if (ls = strchr (cs,'*')) *ls = '\0'; ^ == utf8aux.c:241:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (txt->data = (unsigned char *) rfc822_base64 (t,te - t,&txt->size)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8aux.c:241:19: note: place parentheses around the assignment to silence this warning if (txt->data = (unsigned char *) rfc822_base64 (t,te - t,&txt->size)) ^ ( ) utf8aux.c:241:19: note: use '==' to turn this assignment into an equality comparison if (txt->data = (unsigned char *) rfc822_base64 (t,te - t,&txt->size)) ^ == utf8aux.c:415:24: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (mail_utf7_valid (src)) return NIL; ^~~ ./mail.h:1630:30: note: passing argument to parameter 'mailbox' here char *mail_utf7_valid (char *mailbox); ^ utf8aux.c:420:38: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = cpytxt (&utf7,src,strlen (src)); *s; ++s) switch (*s) { ^~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ utf8aux.c:420:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = cpytxt (&utf7,src,strlen (src)); *s; ++s) switch (*s) { ^~~ ./misc.h:85:36: note: passing argument to parameter 'text' here char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size); ^ utf8aux.c:420:10: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = cpytxt (&utf7,src,strlen (src)); *s; ++s) switch (*s) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` siglocal.c -o siglocal.so `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` dummy.c -o dummy.so dummy.c:121:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) return &dummydriver; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:121:37: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) return &dummydriver; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:159:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (test,'/')) *++s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ dummy.c:159:13: note: place parentheses around the assignment to silence this warning if (s = strchr (test,'/')) *++s = '\0'; ^ ( ) dummy.c:159:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (test,'/')) *++s = '\0'; ^ == dummy.c:167:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (test,"%*")) { ~~^~~~~~~~~~~~~~~~~~~~~ dummy.c:167:11: note: place parentheses around the assignment to silence this warning if (s = strpbrk (test,"%*")) { ^ ( ) dummy.c:167:11: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (test,"%*")) { ^ == dummy.c:173:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (file,'/')){/* find directory name */ ~~^~~~~~~~~~~~~~~~~~~~ dummy.c:173:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (file,'/')){/* find directory name */ ^ ( ) dummy.c:173:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (file,'/')){/* find directory name */ ^ == dummy.c:182:32: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch ("INBOX",ucase (test))) { ^~~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ dummy.c:182:17: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch ("INBOX",ucase (test))) { ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:221:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"INBOX") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:221:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"INBOX") && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:222:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pmatch ("INBOX",ucase (strcpy (tmp,test)))) ^~~~~~~~~~~~~~~~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ dummy.c:222:12: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pmatch ("INBOX",ucase (strcpy (tmp,test)))) ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:224:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,NIL); ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:224:31: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,NIL); ^~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:227:19: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,LATT_NOSELECT); ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:227:21: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,LATT_NOSELECT); ^~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:231:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmpx,&sdb)); ~~^~~~~~~~~~~~~~~~~~~~~ dummy.c:231:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmpx,&sdb)); ^ ( ) dummy.c:231:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmpx,&sdb)); ^ == dummy.c:280:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dp = opendir (tmp)) { /* do nothing if can't open directory */ ~~~^~~~~~~~~~~~~~~ dummy.c:280:10: note: place parentheses around the assignment to silence this warning if (dp = opendir (tmp)) { /* do nothing if can't open directory */ ^ ( ) dummy.c:280:10: note: use '==' to turn this assignment into an equality comparison if (dp = opendir (tmp)) { /* do nothing if can't open directory */ ^ == dummy.c:288:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:288:43: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:288:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:288:68: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~~~~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:292:64: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (!dir || dir[(len = strlen (dir)) - 1] == '/') while (d = readdir (dp)) ~~^~~~~~~~~~~~~~ dummy.c:292:64: note: place parentheses around the assignment to silence this warning if (!dir || dir[(len = strlen (dir)) - 1] == '/') while (d = readdir (dp)) ^ ( ) dummy.c:292:64: note: use '==' to turn this assignment into an equality comparison if (!dir || dir[(len = strlen (dir)) - 1] == '/') while (d = readdir (dp)) ^ == dummy.c:302:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((pmatch_full (strcpy (path,tmp),pat,'/') || ^~~~~~~~~~~~~~~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:302:38: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((pmatch_full (strcpy (path,tmp),pat,'/') || ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:303:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pmatch_full (strcat (path,"/"),pat,'/') || ^~~~~~~~~~~~~~~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:303:38: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] pmatch_full (strcat (path,"/"),pat,'/') || ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:304:15: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] dmatch (path,pat,'/')) && ^~~~ ./env.h:30:29: note: passing argument to parameter 's' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:304:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] dmatch (path,pat,'/')) && ^~~ ./env.h:30:46: note: passing argument to parameter 'pat' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:313:19: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!pmatch (tmp,"INBOX")) { ^~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:313:23: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!pmatch (tmp,"INBOX")) { ^~~~~~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:314:25: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/')) { ^~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:314:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/')) { ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:319:30: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pmatch_full (path,pat,'/') && ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:319:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (pmatch_full (path,pat,'/') && ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:323:18: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (dmatch (path,pat,'/') && ^~~~ ./env.h:30:29: note: passing argument to parameter 's' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:323:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (dmatch (path,pat,'/') && ^~~ ./env.h:30:46: note: passing argument to parameter 'pat' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:329:23: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:329:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ dummy.c:329:56: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:329:60: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:456:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:456:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:483:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (path,'/')) { /* found superior to this name? */ ~~^~~~~~~~~~~~~~~~~~~~ dummy.c:483:9: note: place parentheses around the assignment to silence this warning if (s = strrchr (path,'/')) { /* found superior to this name? */ ^ ( ) dummy.c:483:9: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (path,'/')) { /* found superior to this name? */ ^ == dummy.c:566:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (old,"INBOX") && stat (oldname,&sbuf)) ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:566:29: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (old,"INBOX") && stat (oldname,&sbuf)) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:595:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (stream->mailbox,"INBOX")) ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:595:42: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (stream->mailbox,"INBOX")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:702:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ dummy.c:703:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) fatal ("Impossible dummy_copy"); ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ dummy.c:724:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:724:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:726:23: warning: unsequenced modification and access to 'ts' [-Wunsequenced] if (!ts && !(*(ts = default_proto (NIL))->dtb->create) (ts,"INBOX")) ^ ~~ dummy.c:801:28: warning: expression result unused [-Wunused-value] for (i = 0, s = tmp; *s; *s++) if ((*s == '*') || (*s == '%')) ++i; ^~~~ 53 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` pseudo.c -o pseudo.so `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` netmsg.c -o netmsg.so netmsg.c:63:45: warning: call to undeclared function 'time'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] sprintf (tmp,".%lx.%lx",(unsigned long) time (0),(unsigned long)getpid ()); ^ netmsg.c:64:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = fopen (tmp,"wb+")) unlink (tmp); ~~^~~~~~~~~~~~~~~~~~~ netmsg.c:64:11: note: place parentheses around the assignment to silence this warning if (f = fopen (tmp,"wb+")) unlink (tmp); ^ ( ) netmsg.c:64:11: note: use '==' to turn this assignment into an equality comparison if (f = fopen (tmp,"wb+")) unlink (tmp); ^ == netmsg.c:73:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = net_getline (stream)) { ~~^~~~~~~~~~~~~~~~~~~~~~ netmsg.c:73:12: note: place parentheses around the assignment to silence this warning while (s = net_getline (stream)) { ^ ( ) netmsg.c:73:12: note: use '==' to turn this assignment into an equality comparison while (s = net_getline (stream)) { ^ == 3 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` flstring.c -o flstring.so `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` fdstring.c -o fdstring.so fdstring.c:94:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s->cursize = min (s->chunksize,SIZE (s))) { ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fdstring.c:94:18: note: place parentheses around the assignment to silence this warning if (s->cursize = min (s->chunksize,SIZE (s))) { ^ ( ) fdstring.c:94:18: note: use '==' to turn this assignment into an equality comparison if (s->cursize = min (s->chunksize,SIZE (s))) { ^ == 1 warning generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` rfc822.c -o rfc822.so rfc822.c:153:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = d = strchr (tmp,':')) { ~~^~~~~~~~~~~~~~~~~~~~~~ rfc822.c:153:11: note: place parentheses around the assignment to silence this warning if (t = d = strchr (tmp,':')) { ^ ( ) rfc822.c:153:11: note: use '==' to turn this assignment into an equality comparison if (t = d = strchr (tmp,':')) { ^ == rfc822.c:157:14: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (tmp); /* coerce to uppercase */ ^~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:196:53: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!env->date && !strcmp (tmp+1,"ATE")) env->date = cpystr (d); ^ ~~~~~~~~~~ rfc822.c:202:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *d++) if (c != ' ') *t++ = c; ~~^~~~~~ rfc822.c:202:13: note: place parentheses around the assignment to silence this warning while (c = *d++) if (c != ' ') *t++ = c; ^ ( ) rfc822.c:202:13: note: use '==' to turn this assignment into an equality comparison while (c = *d++) if (c != ' ') *t++ = c; ^ == rfc822.c:216:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = rfc822_parse_phrase (d)) *t = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:216:10: note: place parentheses around the assignment to silence this warning if (t = rfc822_parse_phrase (d)) *t = '\0'; ^ ( ) rfc822.c:216:10: note: use '==' to turn this assignment into an equality comparison if (t = rfc822_parse_phrase (d)) *t = '\0'; ^ == rfc822.c:227:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *d++) if (c != ' ') *t++ = c; ~~^~~~~~ rfc822.c:227:13: note: place parentheses around the assignment to silence this warning while (c = *d++) if (c != ' ') *t++ = c; ^ ( ) rfc822.c:227:13: note: use '==' to turn this assignment into an equality comparison while (c = *d++) if (c != ' ') *t++ = c; ^ == rfc822.c:388:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (m = GETPOS (bs)) m--; /* get position in front of character */ ~~^~~~~~~~~~~~~ rfc822.c:388:13: note: place parentheses around the assignment to silence this warning if (m = GETPOS (bs)) m--; /* get position in front of character */ ^ ( ) rfc822.c:388:13: note: use '==' to turn this assignment into an equality comparison if (m = GETPOS (bs)) m--; /* get position in front of character */ ^ == rfc822.c:398:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = j - 2) for (s = s1; i-- && *s++ == (c = SNX (bs)) && --k;); ~~^~~~~~~ rfc822.c:398:8: note: place parentheses around the assignment to silence this warning if (k = j - 2) for (s = s1; i-- && *s++ == (c = SNX (bs)) && --k;); ^ ( ) rfc822.c:398:8: note: use '==' to turn this assignment into an equality comparison if (k = j - 2) for (s = s1; i-- && *s++ == (c = SNX (bs)) && --k;); ^ == rfc822.c:454:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = part->body.mime.text.size) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:454:13: note: place parentheses around the assignment to silence this warning if (i = part->body.mime.text.size) { ^ ( ) rfc822.c:454:13: note: use '==' to turn this assignment into an equality comparison if (i = part->body.mime.text.size) { ^ == rfc822.c:497:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] rfc822_parse_content_header (&part->body,ucase (s1+8),s); ^~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:497:47: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] rfc822_parse_content_header (&part->body,ucase (s1+8),s); ^~~~~~~~~~~~ ./rfc822.h:64:52: note: passing argument to parameter 'name' here void rfc822_parse_content_header (BODY *body,char *name,char *s); ^ rfc822.c:555:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (name,' ')) *t = '\0'; ~~^~~~~~~~~~~~~~~~~~~ rfc822.c:555:9: note: place parentheses around the assignment to silence this warning if (t = strchr (name,' ')) *t = '\0'; ^ ( ) rfc822.c:555:9: note: use '==' to turn this assignment into an equality comparison if (t = strchr (name,' ')) *t = '\0'; ^ == rfc822.c:568:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->disposition.type = ucase (cpystr (s)); ^~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:568:30: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->disposition.type = ucase (cpystr (s)); ^ ~~~~~~~~~~~~~~~~~~ rfc822.c:582:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stl->text.data = (unsigned char *) ucase (cpystr (s)); ^~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:609:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,body_types[i]); i++); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:609:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,body_types[i]); i++); ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:620:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body_types[body->type] = ucase (s); ^ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:620:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body_types[body->type] = ucase (s); ^ ~~~~~~~~~ rfc822.c:632:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s) body->subtype = ucase (rfc822_cpy (s)); ^~~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:632:23: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s) body->subtype = ucase (rfc822_cpy (s)); ^ ~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:650:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,body_encodings[i]); i++); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:650:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,body_encodings[i]); i++); ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:661:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body_encodings[body->encoding] = ucase (s); ^ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:661:35: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body_encodings[body->encoding] = ucase (s); ^ ~~~~~~~~~ rfc822.c:694:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] param->attribute = ucase (cpystr (s)); ^~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:694:24: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] param->attribute = ucase (cpystr (s)); ^ ~~~~~~~~~~~~~~~~~~ rfc822.c:745:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (adr = rfc822_parse_address (lst,last,&string,host,0)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:745:18: note: place parentheses around the assignment to silence this warning else if (adr = rfc822_parse_address (lst,last,&string,host,0)) { ^ ( ) rfc822.c:745:18: note: use '==' to turn this assignment into an equality comparison else if (adr = rfc822_parse_address (lst,last,&string,host,0)) { ^ == rfc822.c:799:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = rfc822_parse_group (lst,last,string,defaulthost,depth)) last = adr; ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:799:11: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_group (lst,last,string,defaulthost,depth)) last = adr; ^ ( ) rfc822.c:799:11: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_group (lst,last,string,defaulthost,depth)) last = adr; ^ == rfc822.c:801:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (adr = rfc822_parse_mailbox (string,defaulthost)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:801:16: note: place parentheses around the assignment to silence this warning else if (adr = rfc822_parse_mailbox (string,defaulthost)) { ^ ( ) rfc822.c:801:16: note: use '==' to turn this assignment into an equality comparison else if (adr = rfc822_parse_mailbox (string,defaulthost)) { ^ == rfc822.c:847:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = rfc822_parse_address (lst,last,string,defaulthost,depth+1)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:847:13: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_address (lst,last,string,defaulthost,depth+1)) { ^ ( ) rfc822.c:847:13: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_address (lst,last,string,defaulthost,depth+1)) { ^ == rfc822.c:906:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (end = rfc822_parse_phrase (s)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:906:16: note: place parentheses around the assignment to silence this warning else if (end = rfc822_parse_phrase (s)) { ^ ( ) rfc822.c:906:16: note: use '==' to turn this assignment into an equality comparison else if (end = rfc822_parse_phrase (s)) { ^ == rfc822.c:1035:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = rfc822_parse_word (string,wspecials)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1035:11: note: place parentheses around the assignment to silence this warning if (t = rfc822_parse_word (string,wspecials)) { ^ ( ) rfc822.c:1035:11: note: use '==' to turn this assignment into an equality comparison if (t = rfc822_parse_word (string,wspecials)) { ^ == rfc822.c:1103:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = rfc822_parse_word (string,wspecials)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1103:14: note: place parentheses around the assignment to silence this warning else if (t = rfc822_parse_word (string,wspecials)) { ^ ( ) rfc822.c:1103:14: note: use '==' to turn this assignment into an equality comparison else if (t = rfc822_parse_word (string,wspecials)) { ^ == rfc822.c:1113:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (string = rfc822_parse_domain (string,&t)) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1113:18: note: place parentheses around the assignment to silence this warning if (string = rfc822_parse_domain (string,&t)) { ^ ( ) rfc822.c:1113:18: note: use '==' to turn this assignment into an equality comparison if (string = rfc822_parse_domain (string,&t)) { ^ == rfc822.c:1180:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (st = strchr (st,I2C_ESC)) ~~~^~~~~~~~~~~~~~~~~~~~~ rfc822.c:1180:14: note: place parentheses around the assignment to silence this warning while (st = strchr (st,I2C_ESC)) ^ ( ) rfc822.c:1180:14: note: use '==' to turn this assignment into an equality comparison while (st = strchr (st,I2C_ESC)) ^ == rfc822.c:1379:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = min (len,buf->end - buf->cur)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1379:11: note: place parentheses around the assignment to silence this warning if (i = min (len,buf->end - buf->cur)) { ^ ( ) rfc822.c:1379:11: note: use '==' to turn this assignment into an equality comparison if (i = min (len,buf->end - buf->cur)) { ^ == rfc822.c:1470:45: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] rfc822_output_header_line (buf,"Date",i,env->date) && ^~~~~~~~~ ./rfc822.h:89:11: note: passing argument to parameter 'text' here char *text); ^ rfc822.c:1627:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (; s = strpbrk (src,"\\\""); src = s + 1) { ~~^~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1627:14: note: place parentheses around the assignment to silence this warning for (; s = strpbrk (src,"\\\""); src = s + 1) { ^ ( ) rfc822.c:1627:14: note: use '==' to turn this assignment into an equality comparison for (; s = strpbrk (src,"\\\""); src = s + 1) { ^ == rfc822.c:1745:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (part = part->next); /* until done */ ~~~~~^~~~~~~~~~~~ rfc822.c:1745:17: note: place parentheses around the assignment to silence this warning while (part = part->next); /* until done */ ^ ( ) rfc822.c:1745:17: note: use '==' to turn this assignment into an equality comparison while (part = part->next); /* until done */ ^ == rfc822.c:1813:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (part = part->next); /* until done */ ~~~~~^~~~~~~~~~~~ rfc822.c:1813:17: note: place parentheses around the assignment to silence this warning while (part = part->next); /* until done */ ^ ( ) rfc822.c:1813:17: note: use '==' to turn this assignment into an equality comparison while (part = part->next); /* until done */ ^ == rfc822.c:1969:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (tmp,"\015\012")) *s = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1969:8: note: place parentheses around the assignment to silence this warning if (s = strpbrk (tmp,"\015\012")) *s = NIL; ^ ( ) rfc822.c:1969:8: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (tmp,"\015\012")) *s = NIL; ^ == 42 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` nntp.c -o nntp.so nntp.c:351:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = net_getline (LOCAL->nntpstream->netstream)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:351:14: note: place parentheses around the assignment to silence this warning while (s = net_getline (LOCAL->nntpstream->netstream)) { ^ ( ) nntp.c:351:14: note: use '==' to turn this assignment into an equality comparison while (s = net_getline (LOCAL->nntpstream->netstream)) { ^ == nntp.c:356:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (s,' ')) { /* tie off after newsgroup name */ ~~^~~~~~~~~~~~~~~~ nntp.c:356:13: note: place parentheses around the assignment to silence this warning if (t = strchr (s,' ')) { /* tie off after newsgroup name */ ^ ( ) nntp.c:356:13: note: use '==' to turn this assignment into an equality comparison if (t = strchr (s,' ')) { /* tie off after newsgroup name */ ^ == nntp.c:360:19: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_list (stream,'.',name,NIL); ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:360:24: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_list (stream,'.',name,NIL); ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:363:21: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:363:26: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:395:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ~~^~~~~~~~~~~~~~~~~~~~ nntp.c:395:9: note: place parentheses around the assignment to silence this warning if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^ ( ) nntp.c:395:9: note: use '==' to turn this assignment into an equality comparison if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^ == nntp.c:395:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:395:66: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ nntp.c:398:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmp,&sdb)); ~~^~~~~~~~~~~~~~~~~~~~ nntp.c:398:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmp,&sdb)); ^ ( ) nntp.c:398:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmp,&sdb)); ^ == nntp.c:429:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (s = wildmat; s = strchr (s,'%'); *s = '*'); ~~^~~~~~~~~~~~~~~~ nntp.c:429:25: note: place parentheses around the assignment to silence this warning for (s = wildmat; s = strchr (s,'%'); *s = '*'); ^ ( ) nntp.c:429:25: note: use '==' to turn this assignment into an equality comparison for (s = wildmat; s = strchr (s,'%'); *s = '*'); ^ == nntp.c:555:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (state = newsrc_state (stream,name)) { ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:555:20: note: place parentheses around the assignment to silence this warning else if (state = newsrc_state (stream,name)) { ^ ( ) nntp.c:555:20: note: use '==' to turn this assignment into an equality comparison else if (state = newsrc_state (stream,name)) { ^ == nntp.c:565:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] newsrc_check_uid (state,k,&status.recent,&status.unseen); ^~~~~ ./newsrc.h:42:39: note: passing argument to parameter 'state' here void newsrc_check_uid (unsigned char *state,unsigned long uid, ^ nntp.c:574:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] newsrc_check_uid (state,i++,&status.recent,&status.unseen); ^~~~~ ./newsrc.h:42:39: note: passing argument to parameter 'state' here void newsrc_check_uid (unsigned char *state,unsigned long uid, ^ nntp.c:733:12: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lcase (strcpy (s,(long) mail_parameters (NIL,GET_NEWSRCCANONHOST,NIL) ? ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:83:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ nntp.c:852:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:853:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:895:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:895:67: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:928:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (t = v = s; c = *v++;) ~~^~~~~~ nntp.c:928:22: note: place parentheses around the assignment to silence this warning for (t = v = s; c = *v++;) ^ ( ) nntp.c:928:22: note: use '==' to turn this assignment into an equality comparison for (t = v = s; c = *v++;) ^ == nntp.c:998:15: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((s = net_getline (LOCAL->nntpstream->netstream)) && strcmp (s,".")){ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:998:72: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((s = net_getline (LOCAL->nntpstream->netstream)) && strcmp (s,".")){ ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ nntp.c:1038:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (ov->subject,'\t')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1038:9: note: place parentheses around the assignment to silence this warning if (t = strchr (ov->subject,'\t')) { ^ ( ) nntp.c:1038:9: note: use '==' to turn this assignment into an equality comparison if (t = strchr (ov->subject,'\t')) { ^ == nntp.c:1041:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->date = strchr (t,'\t')) { ~~~~~~~~~^~~~~~~~~~~~~~~~~ nntp.c:1041:18: note: place parentheses around the assignment to silence this warning if (ov->date = strchr (t,'\t')) { ^ ( ) nntp.c:1041:18: note: use '==' to turn this assignment into an equality comparison if (ov->date = strchr (t,'\t')) { ^ == nntp.c:1044:43: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!elt->day) mail_parse_date (elt,ov->date); ^~~~~~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ nntp.c:1048:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->message_id = strchr (ov->date,'\t')) { ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1048:26: note: place parentheses around the assignment to silence this warning if (ov->message_id = strchr (ov->date,'\t')) { ^ ( ) nntp.c:1048:26: note: use '==' to turn this assignment into an equality comparison if (ov->message_id = strchr (ov->date,'\t')) { ^ == nntp.c:1052:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->references = strchr (ov->message_id,'\t')) { ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1052:21: note: place parentheses around the assignment to silence this warning if (ov->references = strchr (ov->message_id,'\t')) { ^ ( ) nntp.c:1052:21: note: use '==' to turn this assignment into an equality comparison if (ov->references = strchr (ov->message_id,'\t')) { ^ == nntp.c:1056:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (ov->references,'\t')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1056:10: note: place parentheses around the assignment to silence this warning if (t = strchr (ov->references,'\t')) { ^ ( ) nntp.c:1056:10: note: use '==' to turn this assignment into an equality comparison if (t = strchr (ov->references,'\t')) { ^ == nntp.c:1061:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (t,'\t')) { ~~^~~~~~~~~~~~~~~~~ nntp.c:1061:12: note: place parentheses around the assignment to silence this warning if (t = strchr (t,'\t')) { ^ ( ) nntp.c:1061:12: note: use '==' to turn this assignment into an equality comparison if (t = strchr (t,'\t')) { ^ == nntp.c:1065:30: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->optional.xref = strchr (t,'\t')) ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ nntp.c:1065:30: note: place parentheses around the assignment to silence this warning if (ov->optional.xref = strchr (t,'\t')) ^ ( ) nntp.c:1065:30: note: use '==' to turn this assignment into an equality comparison if (ov->optional.xref = strchr (t,'\t')) ^ == nntp.c:1098:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = netmsg_slurp (LOCAL->nntpstream->netstream,size,NIL)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1098:13: note: place parentheses around the assignment to silence this warning if (f = netmsg_slurp (LOCAL->nntpstream->netstream,size,NIL)) { ^ ( ) nntp.c:1098:13: note: use '==' to turn this assignment into an equality comparison if (f = netmsg_slurp (LOCAL->nntpstream->netstream,size,NIL)) { ^ == nntp.c:1150:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (LOCAL->txt = netmsg_slurp (LOCAL->nntpstream->netstream, ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1150:22: note: place parentheses around the assignment to silence this warning if (LOCAL->txt = netmsg_slurp (LOCAL->nntpstream->netstream, ^ ( nntp.c:1150:22: note: use '==' to turn this assignment into an equality comparison if (LOCAL->txt = netmsg_slurp (LOCAL->nntpstream->netstream, ^ == nntp.c:1215:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msg = utf8_badcharset (charset)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1215:11: note: place parentheses around the assignment to silence this warning if (msg = utf8_badcharset (charset)) { ^ ( ) nntp.c:1215:11: note: use '==' to turn this assignment into an equality comparison if (msg = utf8_badcharset (charset)) { ^ == nntp.c:1260:39: warning: call to undeclared function 'time'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] unsigned long now = (unsigned long) time (0); ^ nntp.c:1268:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (set = pgm->msgno) { /* must be inside this sequence */ ~~~~^~~~~~~~~~~~ nntp.c:1268:13: note: place parentheses around the assignment to silence this warning if (set = pgm->msgno) { /* must be inside this sequence */ ^ ( ) nntp.c:1268:13: note: use '==' to turn this assignment into an equality comparison if (set = pgm->msgno) { /* must be inside this sequence */ ^ == nntp.c:1276:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (set = pgm->uid) { /* must be inside this sequence */ ~~~~^~~~~~~~~~ nntp.c:1276:13: note: place parentheses around the assignment to silence this warning if (set = pgm->uid) { /* must be inside this sequence */ ^ ( ) nntp.c:1276:13: note: use '==' to turn this assignment into an equality comparison if (set = pgm->uid) { /* must be inside this sequence */ ^ == nntp.c:1313:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!mail_parse_date (&delt,ov->date) || ^~~~~~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ nntp.c:1512:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (t = v = s; c = *v++;) if ((c != '\012') && (c != '\015')) *t++ = c; ~~^~~~~~ nntp.c:1512:25: note: place parentheses around the assignment to silence this warning for (t = v = s; c = *v++;) if ((c != '\012') && (c != '\015')) *t++ = c; ^ ( ) nntp.c:1512:25: note: use '==' to turn this assignment into an equality comparison for (t = v = s; c = *v++;) if ((c != '\012') && (c != '\015')) *t++ = c; ^ == nntp.c:1521:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (v,'\t')) { ~~^~~~~~~~~~~~~~~~~ nntp.c:1521:8: note: place parentheses around the assignment to silence this warning if (t = strchr (v,'\t')) { ^ ( ) nntp.c:1521:8: note: use '==' to turn this assignment into an equality comparison if (t = strchr (v,'\t')) { ^ == nntp.c:1523:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = rfc822_parse_address (&adr,adr,&v,BADHOST,0)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1523:12: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_address (&adr,adr,&v,BADHOST,0)) { ^ ( ) nntp.c:1523:12: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_address (&adr,adr,&v,BADHOST,0)) { ^ == nntp.c:1528:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (t,'\t')) { ~~^~~~~~~~~~~~~~~~~ nntp.c:1528:10: note: place parentheses around the assignment to silence this warning if (v = strchr (t,'\t')) { ^ ( ) nntp.c:1528:10: note: use '==' to turn this assignment into an equality comparison if (v = strchr (t,'\t')) { ^ == nntp.c:1530:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (mail_parse_date (&telt,t)) r->date = mail_longdate (&telt); ^ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ nntp.c:1678:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (netstream = /* try to open ordinary connection */ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1678:21: note: place parentheses around the assignment to silence this warning if (netstream = /* try to open ordinary connection */ ^ ( nntp.c:1678:21: note: use '==' to turn this assignment into an equality comparison if (netstream = /* try to open ordinary connection */ ^ == nntp.c:1719:35: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream->netstream->stream = ~~~~~~~~~~~~~~~~~~~~~~~~~~^ nntp.c:1719:35: note: place parentheses around the assignment to silence this warning if (stream->netstream->stream = ^ ( nntp.c:1719:35: note: use '==' to turn this assignment into an equality comparison if (stream->netstream->stream = ^ == nntp.c:1816:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (args = strchr (t,' ')) *args++ = '\0'; ~~~~~^~~~~~~~~~~~~~~~ nntp.c:1816:14: note: place parentheses around the assignment to silence this warning if (args = strchr (t,' ')) *args++ = '\0'; ^ ( ) nntp.c:1816:14: note: use '==' to turn this assignment into an equality comparison if (args = strchr (t,' ')) *args++ = '\0'; ^ == nntp.c:1817:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"LISTGROUP")) NNTP.ext.listgroup = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1817:29: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"LISTGROUP")) NNTP.ext.listgroup = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1818:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"OVER")) NNTP.ext.over = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1818:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"OVER")) NNTP.ext.over = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1819:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"HDR")) NNTP.ext.hdr = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1819:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"HDR")) NNTP.ext.hdr = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1820:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PAT")) NNTP.ext.pat = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1820:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PAT")) NNTP.ext.pat = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1821:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) NNTP.ext.starttls = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1821:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) NNTP.ext.starttls = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1822:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MULTIDOMAIN")) NNTP.ext.multidomain = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1822:34: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MULTIDOMAIN")) NNTP.ext.multidomain = T; ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1824:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"AUTHINFO") && args) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1824:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"AUTHINFO") && args) { ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1827:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (args,"USER")) NNTP.ext.authuser = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1827:29: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (args,"USER")) NNTP.ext.authuser = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1915:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = strstr (env->date," (")) *s = NIL; ^~~~~~~~~ /usr/include/string.h:129:26: note: passing argument to parameter here char *strstr(const char *, const char *) __pure; ^ nntp.c:1915:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strstr (env->date," (")) *s = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1915:9: note: place parentheses around the assignment to silence this warning if (s = strstr (env->date," (")) *s = NIL; ^ ( ) nntp.c:1915:9: note: use '==' to turn this assignment into an equality comparison if (s = strstr (env->date," (")) *s = NIL; ^ == nntp.c:2213:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = strstr (s,"\015\012.")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:2213:12: note: place parentheses around the assignment to silence this warning while (t = strstr (s,"\015\012.")) { ^ ( ) nntp.c:2213:12: note: use '==' to turn this assignment into an equality comparison while (t = strstr (s,"\015\012.")) { ^ == 64 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` smtp.c -o smtp.so smtp.c:162:34: warning: passing 'char[21]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (mb.service,"submit")) { ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:162:45: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (mb.service,"submit")) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:168:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (netstream = /* try to open ordinary connection */ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ smtp.c:168:21: note: place parentheses around the assignment to silence this warning if (netstream = /* try to open ordinary connection */ ^ ( smtp.c:168:21: note: use '==' to turn this assignment into an equality comparison if (netstream = /* try to open ordinary connection */ ^ == smtp.c:180:23: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = compare_cstring ("localhost",mb.host) ? ^~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:180:35: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = compare_cstring ("localhost",mb.host) ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:693:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"SIZE")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:693:31: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"SIZE")) { ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:697:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"DELIVERBY")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:697:36: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"DELIVERBY")) { ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:701:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:701:36: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) { ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:705:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"AUTH")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:705:36: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"AUTH")) ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:711:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SIZE")) ESMTP.size.ok = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:711:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SIZE")) ESMTP.size.ok = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:712:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"8BITMIME")) ESMTP.eightbit.ok = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:712:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"8BITMIME")) ESMTP.eightbit.ok = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:713:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"DSN")) ESMTP.dsn.ok = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:713:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"DSN")) ESMTP.dsn.ok = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:714:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) ESMTP.atrn.ok = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:714:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) ESMTP.atrn.ok = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:715:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SEND")) ESMTP.service.send = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:715:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SEND")) ESMTP.service.send = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:716:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SOML")) ESMTP.service.soml = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:716:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SOML")) ESMTP.service.soml = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:717:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SAML")) ESMTP.service.saml = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:717:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"SAML")) ESMTP.service.saml = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:718:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"EXPN")) ESMTP.service.expn = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:718:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"EXPN")) ESMTP.service.expn = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:719:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"HELP")) ESMTP.service.help = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:719:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"HELP")) ESMTP.service.help = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:720:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"TURN")) ESMTP.service.turn = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:720:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"TURN")) ESMTP.service.turn = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:721:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ETRN")) ESMTP.service.etrn = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:721:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ETRN")) ESMTP.service.etrn = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:722:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"STARTTLS")) ESMTP.service.starttls = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:722:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"STARTTLS")) ESMTP.service.starttls = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:723:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"RELAY")) ESMTP.service.relay = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:723:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"RELAY")) ESMTP.service.relay = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:724:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"PIPELINING")) ESMTP.service.pipe = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:724:34: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"PIPELINING")) ESMTP.service.pipe = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:725:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ENHANCEDSTATUSCODES")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:725:34: warning: passing 'char[20]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ENHANCEDSTATUSCODES")) ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:727:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"BINARYMIME")) ESMTP.service.bmime = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:727:34: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"BINARYMIME")) ESMTP.service.bmime = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:728:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"CHUNKING")) ESMTP.service.chunk = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:728:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"CHUNKING")) ESMTP.service.chunk = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:786:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = strstr (s,"\015\012.")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~ smtp.c:786:12: note: place parentheses around the assignment to silence this warning while (t = strstr (s,"\015\012.")) { ^ ( ) smtp.c:786:12: note: use '==' to turn this assignment into an equality comparison while (t = strstr (s,"\015\012.")) { ^ == 48 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` imap4r1.c -o imap4r1.so imap4r1.c:503:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:503:9: note: place parentheses around the assignment to silence this warning if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^ ( ) imap4r1.c:503:9: note: use '==' to turn this assignment into an equality comparison if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^ == imap4r1.c:503:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ imap4r1.c:503:66: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ imap4r1.c:506:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmp,&sdb)); ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:506:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmp,&sdb)); ^ ( ) imap4r1.c:506:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmp,&sdb)); ^ == imap4r1.c:563:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (cmd,"LIST")) cmd = "RLIST"; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:563:33: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (cmd,"LIST")) cmd = "RLIST"; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:565:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (cmd,"LSUB")) cmd = "RLSUB"; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:565:38: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (cmd,"LSUB")) cmd = "RLSUB"; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:577:12: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strcmp (imap_send (stream,"FIND ALL.MAILBOXES",args)->key,"BAD")) && ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:578:11: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strcmp (imap_send (stream,"FIND MAILBOXES",args)->key,"BAD")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:701:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ret ? NIL : ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:848:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (reply = imap_rimap (stream,"*imap",&mb,usr,tmp)); ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:848:20: note: place parentheses around the assignment to silence this warning else if (reply = imap_rimap (stream,"*imap",&mb,usr,tmp)); ^ ( ) imap4r1.c:848:20: note: use '==' to turn this assignment into an equality comparison else if (reply = imap_rimap (stream,"*imap",&mb,usr,tmp)); ^ == imap4r1.c:869:27: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!reply || strcmp (reply->tag,"*") || ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:870:11: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (strcmp (reply->key,"OK") && strcmp (reply->key,"PREAUTH"))) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:870:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (strcmp (reply->key,"OK") && strcmp (reply->key,"PREAUTH"))) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:871:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply) mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:876:37: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (LOCAL->netstream && strcmp (reply->key,"PREAUTH")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:984:36: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (mb.mailbox,"INBOX"); ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:984:47: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (mb.mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:994:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1040:13: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strcmp ((reply = imap_parse_reply (stream,cpystr (tmp)))->tag,"*")){ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:1044:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:1044:44: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:1080:37: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (reply->tag,tag)) { ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1082:70: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (compare_cstring ((reply = imap_reply (stream,tag))->tag,tag)) ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1097:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1147:39: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (compare_cstring (reply->tag,tag)) ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1148:67: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (compare_cstring ((reply = imap_reply (stream,tag))->tag,tag)) ^~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1157:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] lsterr = cpystr (reply->text); ^~~~~~~~~~~ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ imap4r1.c:1209:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1239:12: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strcmp (reply->tag,"*")) imap_parse_unsolicited (stream,reply); ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:1244:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strlen (reply->text),len))) { ^~~~~~~~~~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ imap4r1.c:1301:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1316:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1316:13: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:1316:13: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:1316:45: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~^~~~~ imap4r1.c:1316:45: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:1316:45: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:1341:40: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!imap_OK (stream,reply)) mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1362:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1415:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ov.date = env->date; ^ ~~~~~~~~~ imap4r1.c:1463:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1498:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = (set->last == 0xffffffff) ? stream->nmsgs : ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1498:10: note: place parentheses around the assignment to silence this warning if (j = (set->last == 0xffffffff) ? stream->nmsgs : ^ ( imap4r1.c:1498:10: note: use '==' to turn this assignment into an equality comparison if (j = (set->last == 0xffffffff) ? stream->nmsgs : ^ == imap4r1.c:1521:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = (k > i) ? k - i : 0) ~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1521:9: note: place parentheses around the assignment to silence this warning if (k = (k > i) ? k - i : 0) ^ ( ) imap4r1.c:1521:9: note: use '==' to turn this assignment into an equality comparison if (k = (k > i) ? k - i : 0) ^ == imap4r1.c:1590:17: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1592:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1699:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strstr (section,".HEADER")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1699:16: note: place parentheses around the assignment to silence this warning else if (t = strstr (section,".HEADER")) { ^ ( ) imap4r1.c:1699:16: note: use '==' to turn this assignment into an equality comparison else if (t = strstr (section,".HEADER")) { ^ == imap4r1.c:1822:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1832:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1841:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1845:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1883:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = imap_uidlookahead) {/* build UID list */ ~~^~~~~~~~~~~~~~~~~~~ imap4r1.c:1883:11: note: place parentheses around the assignment to silence this warning if (k = imap_uidlookahead) {/* build UID list */ ^ ( ) imap4r1.c:1883:11: note: use '==' to turn this assignment into an equality comparison if (k = imap_uidlookahead) {/* build UID list */ ^ == imap4r1.c:1898:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1934:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1975:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2043:11: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2047:50: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (set = ss; set; set = set->next) if (i = set->first) { ~~^~~~~~~~~~~~ imap4r1.c:2047:50: note: place parentheses around the assignment to silence this warning for (set = ss; set; set = set->next) if (i = set->first) { ^ ( ) imap4r1.c:2047:50: note: use '==' to turn this assignment into an equality comparison for (set = ss; set; set = set->next) if (i = set->first) { ^ == imap4r1.c:2062:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2068:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2104:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2167:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(flags & SE_UID) && !strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2174:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2183:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2270:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (thr->name,type)) ^~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2270:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (thr->name,type)) ^~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2330:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(flags & SE_UID) && !strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2337:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:2345:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2369:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,imap_OK (stream,reply) ? (long) NIL : ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2394:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mail_sequence (stream,sequence)) { ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ imap4r1.c:2422:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply) mm_log (reply->text,ret ? (long) NIL : ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2460:65: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (ir && pc && LOCAL->referral && mail_sequence (stream,sequence) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ imap4r1.c:2464:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2517:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2580:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2610:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ imap4r1.c:2614:44: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.tag = LOCAL->reply.line = cpystr ("*"); ^ ~~~~~~~~~~~~ imap4r1.c:2615:24: warning: assigning to 'unsigned char *' from 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.key = "BAD"; ^ ~~~~~ imap4r1.c:2616:25: warning: assigning to 'unsigned char *' from 'char[19]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.text = "Bad date in append"; ^ ~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2649:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = (MESSAGECACHE *) (*mc) (stream,i,CH_ELT)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2649:15: note: place parentheses around the assignment to silence this warning if (elt = (MESSAGECACHE *) (*mc) (stream,i,CH_ELT)) ^ ( ) imap4r1.c:2649:15: note: use '==' to turn this assignment into an equality comparison if (elt = (MESSAGECACHE *) (*mc) (stream,i,CH_ELT)) ^ == imap4r1.c:2704:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2704:13: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:2704:13: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:2704:45: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~^~~~~ imap4r1.c:2704:45: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:2704:45: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:2812:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2836:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2858:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2881:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2918:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*sc) (stream,cmd,((compare_cstring (cmd,"FETCH") && ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2918:46: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*sc) (stream,cmd,((compare_cstring (cmd,"FETCH") && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2919:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (cmd,"STORE") && ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2919:25: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (cmd,"STORE") && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2920:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (cmd,"SEARCH")) ? ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2920:25: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (cmd,"SEARCH")) ? ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2926:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (arglst = args) while (arg = *arglst++) { ~~~~~~~^~~~~~ imap4r1.c:2926:14: note: place parentheses around the assignment to silence this warning if (arglst = args) while (arg = *arglst++) { ^ ( ) imap4r1.c:2926:14: note: use '==' to turn this assignment into an equality comparison if (arglst = args) while (arg = *arglst++) { ^ == imap4r1.c:2926:33: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (arglst = args) while (arg = *arglst++) { ~~~~^~~~~~~~~~~ imap4r1.c:2926:33: note: place parentheses around the assignment to silence this warning if (arglst = args) while (arg = *arglst++) { ^ ( ) imap4r1.c:2926:33: note: use '==' to turn this assignment into an equality comparison if (arglst = args) while (arg = *arglst++) { ^ == imap4r1.c:2946:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,&s,&st,NIL,CMDBASE+MAXCOMMAND)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2946:17: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&st,NIL,CMDBASE+MAXCOMMAND)) ^ ( ) imap4r1.c:2946:17: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&st,NIL,CMDBASE+MAXCOMMAND)) ^ == imap4r1.c:2950:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_literal (stream,tag,&s,arg->text)) return reply; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2950:17: note: place parentheses around the assignment to silence this warning if (reply = imap_send_literal (stream,tag,&s,arg->text)) return reply; ^ ( ) imap4r1.c:2950:17: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_literal (stream,tag,&s,arg->text)) return reply; ^ == imap4r1.c:2958:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,&s,&list->text,NIL, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2958:12: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&list->text,NIL, ^ ( imap4r1.c:2958:12: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&list->text,NIL, ^ == imap4r1.c:2962:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (list = list->next); ~~~~~^~~~~~~~~~~~ imap4r1.c:2962:19: note: place parentheses around the assignment to silence this warning while (list = list->next); ^ ( ) imap4r1.c:2962:19: note: use '==' to turn this assignment into an equality comparison while (list = list->next); ^ == imap4r1.c:2966:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_spgm (stream,tag,CMDBASE,&s,arg->text, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2966:17: note: place parentheses around the assignment to silence this warning if (reply = imap_send_spgm (stream,tag,CMDBASE,&s,arg->text, ^ ( imap4r1.c:2966:17: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_spgm (stream,tag,CMDBASE,&s,arg->text, ^ == imap4r1.c:3052:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,&s,&st,T,CMDBASE+MAXCOMMAND)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3052:17: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&st,T,CMDBASE+MAXCOMMAND)) ^ ( ) imap4r1.c:3052:17: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&st,T,CMDBASE+MAXCOMMAND)) ^ == imap4r1.c:3073:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!map->date || mail_parse_date (&elt,map->date)) { ^~~~~~~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ imap4r1.c:3074:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = map->flags) { /* flags given? */ ~~^~~~~~~~~~~~ imap4r1.c:3074:10: note: place parentheses around the assignment to silence this warning if (t = map->flags) { /* flags given? */ ^ ( ) imap4r1.c:3074:10: note: use '==' to turn this assignment into an equality comparison if (t = map->flags) { /* flags given? */ ^ == imap4r1.c:3086:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,&s,&st,NIL, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3086:16: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&st,NIL, ^ ( imap4r1.c:3086:16: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&st,NIL, ^ == imap4r1.c:3090:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_literal (stream,tag,&s,map->message)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3090:14: note: place parentheses around the assignment to silence this warning if (reply = imap_send_literal (stream,tag,&s,map->message)) ^ ( ) imap4r1.c:3090:14: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_literal (stream,tag,&s,map->message)) ^ == imap4r1.c:3120:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (list = list->next); ~~~~~^~~~~~~~~~~~ imap4r1.c:3120:19: note: place parentheses around the assignment to silence this warning while (list = list->next); ^ ( ) imap4r1.c:3120:19: note: use '==' to turn this assignment into an equality comparison while (list = list->next); ^ == imap4r1.c:3199:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (strcmp (reply->tag,"+")) {/* prompt for more data? */ ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3354:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (hdr = pgm->header) do { ~~~~^~~~~~~~~~~~~ imap4r1.c:3354:11: note: place parentheses around the assignment to silence this warning if (hdr = pgm->header) do { ^ ( ) imap4r1.c:3354:11: note: use '==' to turn this assignment into an equality comparison if (hdr = pgm->header) do { ^ == imap4r1.c:3356:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,s,&hdr->line,NIL,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3356:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,s,&hdr->line,NIL,limit)) ^ ( ) imap4r1.c:3356:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,s,&hdr->line,NIL,limit)) ^ == imap4r1.c:3359:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_astring (stream,tag,s,&hdr->text,NIL,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3359:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,s,&hdr->text,NIL,limit)) ^ ( ) imap4r1.c:3359:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,s,&hdr->text,NIL,limit)) ^ == imap4r1.c:3361:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (hdr = hdr->next); ~~~~^~~~~~~~~~~ imap4r1.c:3361:16: note: place parentheses around the assignment to silence this warning } while (hdr = hdr->next); ^ ( ) imap4r1.c:3361:16: note: use '==' to turn this assignment into an equality comparison } while (hdr = hdr->next); ^ == imap4r1.c:3364:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_spgm (stream,tag,base,s,pgo->first,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3364:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_spgm (stream,tag,base,s,pgo->first,limit)) ^ ( ) imap4r1.c:3364:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_spgm (stream,tag,base,s,pgo->first,limit)) ^ == imap4r1.c:3367:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_spgm (stream,tag,base,s,pgo->second,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3367:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_spgm (stream,tag,base,s,pgo->second,limit)) ^ ( ) imap4r1.c:3367:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_spgm (stream,tag,base,s,pgo->second,limit)) ^ == imap4r1.c:3373:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_spgm (stream,tag,base,s,pgl->pgm,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3373:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_spgm (stream,tag,base,s,pgl->pgm,limit)) ^ ( ) imap4r1.c:3373:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_spgm (stream,tag,base,s,pgl->pgm,limit)) ^ == imap4r1.c:3451:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_literal (stream,tag,s,&st)) return reply; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3451:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_literal (stream,tag,s,&st)) return reply; ^ ( ) imap4r1.c:3451:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_literal (stream,tag,s,&st)) return reply; ^ == imap4r1.c:3453:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_send_sset (stream,tag,NIL,s,set,prefix,limit)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3453:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_sset (stream,tag,NIL,s,set,prefix,limit)) ^ ( ) imap4r1.c:3453:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_sset (stream,tag,NIL,s,set,prefix,limit)) ^ == imap4r1.c:3554:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (reply = imap_parse_reply (stream,net_getline (LOCAL->netstream))) { ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3554:15: note: place parentheses around the assignment to silence this warning if (reply = imap_parse_reply (stream,net_getline (LOCAL->netstream))) { ^ ( ) imap4r1.c:3554:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_parse_reply (stream,net_getline (LOCAL->netstream))) { ^ == imap4r1.c:3556:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->tag,"+")) return reply; ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3558:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->tag,"*")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3563:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (tag && !compare_cstring (tag,reply->tag)) return reply; ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3589:27: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.line = text)) { ^ ~~~~ imap4r1.c:3595:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->debug) mm_dlog (LOCAL->reply.line); ^~~~~~~~~~~~~~~~~ imap4r1.c:106:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ ./mail.h:1606:21: note: passing argument to parameter 'string' here void mm_dlog (char *string); ^ imap4r1.c:3596:38: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.tag = strtok_r (LOCAL->reply.line," ",&r))) { ^~~~~~~~~~~~~~~~~ imap4r1.c:106:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3596:26: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.tag = strtok_r (LOCAL->reply.line," ",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3602:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (strcmp (LOCAL->reply.tag,"+")) { ^~~~~~~~~~~~~~~~ imap4r1.c:106:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3604:28: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.key = strtok_r (NIL," ",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3614:29: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.text = strtok_r (NIL,"\n",&r))) ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3615:54: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.text = LOCAL->reply.key + strlen (LOCAL->reply.key); ^~~~~~~~~~~~~~~~ imap4r1.c:106:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ imap4r1.c:3618:22: warning: assigning to 'unsigned char *' from 'char[4]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.key = "BAD"; /* so it barfs if not expecting continuation */ ^ ~~~~~ imap4r1.c:3619:29: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(LOCAL->reply.text = strtok_r (NIL,"\n",&r))) ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3620:25: warning: assigning to 'unsigned char *' from 'char[1]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.text = ""; ^ ~~ imap4r1.c:3640:40: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.tag = LOCAL->reply.line = cpystr (tag ? tag : "*"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3641:20: warning: assigning to 'unsigned char *' from 'char[3]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.key = "NO"; ^ ~~~~ imap4r1.c:3642:21: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->reply.text = text; ^ ~~~~ imap4r1.c:3657:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"OK")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3658:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,NIL,NIL); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:3662:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"NO")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3663:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,WARN,NIL); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:3665:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3666:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,ERROR,NIL); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:3690:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] msgno = strtoul (reply->key,(char **) &s,10); ^~~~~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3704:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = ucase (strtok_r (reply->text," ",&r)); ^~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3704:16: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = ucase (strtok_r (reply->text," ",&r)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:3705:7: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] t = strtok_r (NIL,"\n",&r); /* and locate the text after it */ ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3708:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (s,"EXISTS") && (msgno >= stream->nmsgs)) ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3710:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (s,"RECENT") && (msgno <= stream->nmsgs)) ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3712:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (s,"EXPUNGE") && msgno && (msgno <= stream->nmsgs)) { ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3720:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t && (!strcmp (s,"FETCH") || !strcmp (s,"STORE")) && ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3720:52: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t && (!strcmp (s,"FETCH") || !strcmp (s,"STORE")) && ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3731:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((prop = (strtok_r (t," )",&r))) && (t = strtok_r (NIL,"\n",&r))) { ^ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3731:52: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((prop = (strtok_r (t," )",&r))) && (t = strtok_r (NIL,"\n",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3735:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (ucase (prop),"FLAGS")) imap_parse_flags (stream,elt,&t); ^~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:3735:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!strcmp (ucase (prop),"FLAGS")) imap_parse_flags (stream,elt,&t); ^~~~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3743:27: warning: passing 'char[27]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_parse_date (elt,"01-Jan-1970 00:00:00 +0000"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ imap4r1.c:3749:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->lastuid.uid = elt->private.uid = strtoul (t,(char **) &t,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3790:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(s = strchr (md.what,']'))) { ^ ~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3792:15: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = md.what; *s && (isdigit (*s) || (*s == '.')); s++); ^ ~~~~~~~ imap4r1.c:3794:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (strncmp (s,"HEADER.FIELDS",13) && ^ /usr/include/string.h:111:26: note: passing argument to parameter here int strncmp(const char *, const char *, size_t) __pure; ^ imap4r1.c:3795:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!s[13] || strcmp (s+13,".NOT"))) ^~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3805:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strchr (s = t,' ')) *t++ = '\0'; ^~~~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:3805:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strchr (s = t,' ')) *t++ = '\0'; ^ ~~~~~~~~~~~~~~~~~~ imap4r1.c:3805:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strchr (s = t,' ')) *t++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:3805:19: note: place parentheses around the assignment to silence this warning else if (t = strchr (s = t,' ')) *t++ = '\0'; ^ ( ) imap4r1.c:3805:19: note: use '==' to turn this assignment into an equality comparison else if (t = strchr (s = t,' ')) *t++ = '\0'; ^ == imap4r1.c:3810:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] md.first = strtoul (s+1,(char **) &s,10) + 1; ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3853:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] elt->rfc822_size = strtoul (t,(char **) &t,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3889:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (strcmp (s,"COPY")) { ^ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3896:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"FLAGS") && reply->text && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3898:20: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s = strtok_r (reply->text+1," )",&r))) ^~~~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3898:8: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s = strtok_r (reply->text+1," )",&r))) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3901:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] compare_cstring (s,stream->user_flags[i]); i++); ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3907:74: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!stream->user_flags[i]) stream->user_flags[i++] = cpystr (s); ^ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ imap4r1.c:3909:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (s = strtok_r (NIL," )",&r)); ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3909:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = strtok_r (NIL," )",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3909:14: note: place parentheses around the assignment to silence this warning while (s = strtok_r (NIL," )",&r)); ^ ( ) imap4r1.c:3909:14: note: use '==' to turn this assignment into an equality comparison while (s = strtok_r (NIL," )",&r)); ^ == imap4r1.c:3910:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"SEARCH")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3912:39: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) do ^~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3912:27: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) do ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3913:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (i = strtoul (t,NIL,10)) { ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3913:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = strtoul (t,NIL,10)) { ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:3913:13: note: place parentheses around the assignment to silence this warning if (i = strtoul (t,NIL,10)) { ^ ( ) imap4r1.c:3913:13: note: use '==' to turn this assignment into an equality comparison if (i = strtoul (t,NIL,10)) { ^ == imap4r1.c:3922:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] } while (t = strtok_r (NIL," ",&r)); ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3922:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (t = strtok_r (NIL," ",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3922:18: note: place parentheses around the assignment to silence this warning } while (t = strtok_r (NIL," ",&r)); ^ ( ) imap4r1.c:3922:18: note: use '==' to turn this assignment into an equality comparison } while (t = strtok_r (NIL," ",&r)); ^ == imap4r1.c:3924:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"SORT")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3932:39: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) { ^~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:3932:27: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3933:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] do if ((i = atol (t)) && (LOCAL->filter ? ^ /usr/include/stdlib.h:94:24: note: passing argument to parameter here long atol(const char *); ^ imap4r1.c:3936:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((t = strtok_r (NIL," ",&r)) && (LOCAL->sortsize < stream->nmsgs)); ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3942:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"THREAD")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3946:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = reply->text) { ~~^~~~~~~~~~~~~ imap4r1.c:3946:11: note: place parentheses around the assignment to silence this warning if (s = reply->text) { ^ ( ) imap4r1.c:3946:11: note: use '==' to turn this assignment into an equality comparison if (s = reply->text) { ^ == imap4r1.c:3957:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"STATUS") && reply->text) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:3961:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*txt++ == ' ') && (*txt++ == '(') && (s = strchr (txt,')')) && ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:3961:43: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*txt++ == ' ') && (*txt++ == '(') && (s = strchr (txt,')')) && ^ ~~~~~~~~~~~~~~~~ imap4r1.c:3967:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (*txt && (s = strchr (txt,' '))) { ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:3967:25: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (*txt && (s = strchr (txt,' '))) { ^ ~~~~~~~~~~~~~~~~ imap4r1.c:3970:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:3971:28: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (txt,"MESSAGES")) { ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3975:33: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (txt,"RECENT")) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3979:33: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (txt,"UNSEEN")) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3983:33: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (txt,"UIDNEXT")) { ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3987:33: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (txt,"UIDVALIDITY")) { ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3996:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strcpy (strncpy (LOCAL->tmp,stream->mailbox,i) + i,t); ^ /usr/include/string.h:87:56: note: passing argument to parameter here char *strcpy(char * __restrict, const char * __restrict); ^ imap4r1.c:4004:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((!strcmp (reply->key,"LIST") || !strcmp (reply->key,"LSUB")) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4004:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((!strcmp (reply->key,"LIST") || !strcmp (reply->key,"LSUB")) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4006:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s = strchr (reply->text,')')) && (s[1] == ' ')) { ^~~~~~~~~~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:4006:8: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (s = strchr (reply->text,')')) && (s[1] == ' ')) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4010:23: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (t = strtok_r (reply->text+1," ",&r)) do { ^~~~~~~~~~~~~ /usr/include/string.h:132:22: note: passing argument to parameter here char *strtok_r(char *, const char *, char **); ^ imap4r1.c:4010:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (t = strtok_r (reply->text+1," ",&r)) do { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4010:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strtok_r (reply->text+1," ",&r)) do { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4010:11: note: place parentheses around the assignment to silence this warning if (t = strtok_r (reply->text+1," ",&r)) do { ^ ( ) imap4r1.c:4010:11: note: use '==' to turn this assignment into an equality comparison if (t = strtok_r (reply->text+1," ",&r)) do { ^ == imap4r1.c:4011:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"\\NoInferiors")) i |= LATT_NOINFERIORS; ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4012:36: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\NoSelect")) i |= LATT_NOSELECT; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4013:36: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\Marked")) i |= LATT_MARKED; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4014:36: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\Unmarked")) i |= LATT_UNMARKED; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4015:36: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\HasChildren")) i |= LATT_HASCHILDREN; ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4016:36: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"\\HasNoChildren")) i |= LATT_HASNOCHILDREN; ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4019:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (t = strtok_r (NIL," ",&r)); ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4019:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = strtok_r (NIL," ",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4019:14: note: place parentheses around the assignment to silence this warning while (t = strtok_r (NIL," ",&r)); ^ ( ) imap4r1.c:4019:14: note: use '==' to turn this assignment into an equality comparison while (t = strtok_r (NIL," ",&r)); ^ == imap4r1.c:4030:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = imap_parse_astring (stream,&s,reply,&j)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4030:11: note: place parentheses around the assignment to silence this warning if (t = imap_parse_astring (stream,&s,reply,&j)) { ^ ( ) imap4r1.c:4030:11: note: use '==' to turn this assignment into an equality comparison if (t = imap_parse_astring (stream,&s,reply,&j)) { ^ == imap4r1.c:4033:13: warning: assigning to 'unsigned char *' from 'char[16384]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (s = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) t); ^ ~~~~~~~~~~ imap4r1.c:4033:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (s = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) t); ^~~~~~~~~~~~~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ imap4r1.c:4036:59: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (reply->key[1] == 'S') mm_lsub (stream,delimiter,s,i); ^ ./mail.h:1603:54: note: passing argument to parameter 'name' here void mm_lsub (MAILSTREAM *stream,int delimiter,char *name,long attributes); ^ imap4r1.c:4037:38: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else mm_list (stream,delimiter,s,i); ^ ./mail.h:1602:54: note: passing argument to parameter 'name' here void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes); ^ imap4r1.c:4041:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"NAMESPACE")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4048:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = reply->text) { /* parse namespace results */ ~~^~~~~~~~~~~~~ imap4r1.c:4048:11: note: place parentheses around the assignment to silence this warning if (s = reply->text) { /* parse namespace results */ ^ ( ) imap4r1.c:4048:11: note: use '==' to turn this assignment into an equality comparison if (s = reply->text) { /* parse namespace results */ ^ == imap4r1.c:4064:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"ACL") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4070:30: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] do if ((ac->identifier = imap_parse_astring (stream,&s,reply,NIL)) && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4072:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ac->rights = imap_parse_astring (stream,&s,reply,NIL); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4081:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (ar) (*ar) (stream,t,al); ^ imap4r1.c:4085:32: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (ar) (*ar) (stream,t,NIL); ^ imap4r1.c:4089:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"LISTRIGHTS") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4093:35: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && (*s++ == ' ') && (id = imap_parse_astring (stream,&s,reply,NIL))){ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4095:7: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (r = imap_parse_astring (stream,&s,reply,NIL))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4109:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (lr) (*lr) (stream,t,id,r,rl); ^ imap4r1.c:4114:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (lr) (*lr) (stream,t,id,r,NIL); ^ imap4r1.c:4132:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"MYRIGHTS") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4136:34: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s && (*s++ == ' ') && (r = imap_parse_astring (stream,&s,reply,NIL))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4142:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mr) (*mr) (stream,t,r); ^ imap4r1.c:4154:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"QUOTA") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4165:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((qc->name = imap_parse_astring (stream,&s,reply,NIL)) && s && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4167:43: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (isdigit (*s)) qc->usage = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:4168:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strchr (s,' ')) t = s; ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ imap4r1.c:4168:15: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strchr (s,' ')) t = s; ^ ~~~~~~~~~~~~~~ imap4r1.c:4168:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strchr (s,' ')) t = s; ~~^~~~~~~~~~~~~~~~ imap4r1.c:4168:15: note: place parentheses around the assignment to silence this warning else if (t = strchr (s,' ')) t = s; ^ ( ) imap4r1.c:4168:15: note: use '==' to turn this assignment into an equality comparison else if (t = strchr (s,' ')) t = s; ^ == imap4r1.c:4170:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (isdigit (*s)) qc->limit = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:4171:28: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strpbrk (s," )")) t = s; ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ imap4r1.c:4171:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (t = strpbrk (s," )")) t = s; ^ ~~~~~~~~~~~~~~~~ imap4r1.c:4171:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strpbrk (s," )")) t = s; ~~^~~~~~~~~~~~~~~~~~ imap4r1.c:4171:17: note: place parentheses around the assignment to silence this warning else if (t = strpbrk (s," )")) t = s; ^ ( ) imap4r1.c:4171:17: note: use '==' to turn this assignment into an equality comparison else if (t = strpbrk (s," )")) t = s; ^ == imap4r1.c:4176:30: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (qt) (*qt) (stream,t,ql); ^ imap4r1.c:4195:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"QUOTAROOT") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4210:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (qr) (*qr) (stream,t,rl); ^ imap4r1.c:4221:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4221:50: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4222:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,NIL,T); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4223:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"NO")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4224:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,WARN,T); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4225:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"BAD")) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4226:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,ERROR,T); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4227:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"BYE")) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4229:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_response (stream,reply->text,BYE,T); ^~~~~~~~~~~ imap4r1.c:227:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4231:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"CAPABILITY") && reply->text) ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4232:37: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] imap_parse_capabilities (stream,reply->text); ^~~~~~~~~~~ imap4r1.c:262:56: note: passing argument to parameter 't' here void imap_parse_capabilities (MAILSTREAM *stream,char *t); ^ imap4r1.c:4233:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!strcmp (reply->key,"MAILBOX") && reply->text) { ^~~~~~~~~~ /usr/include/string.h:85:25: note: passing argument to parameter here int strcmp(const char *, const char *) __pure; ^ imap4r1.c:4235:37: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((strlen (LOCAL->prefix) + strlen (reply->text)) < IMAPTMPLEN)) ^~~~~~~~~~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ imap4r1.c:4236:18: warning: assigning to 'unsigned char *' from 'char[16384]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (t = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) reply->text); ^ ~~~~~~~~~~ imap4r1.c:4236:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (t = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) reply->text); ^~~~~~~~~~~~~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ imap4r1.c:4238:25: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_list (stream,NIL,t,NIL); ^ ./mail.h:1602:54: note: passing argument to parameter 'name' here void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes); ^ imap4r1.c:4268:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (strncpy (t = LOCAL->tmp,s,i),' ')) *s++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4268:11: note: place parentheses around the assignment to silence this warning if (s = strchr (strncpy (t = LOCAL->tmp,s,i),' ')) *s++ = '\0'; ^ ( ) imap4r1.c:4268:11: note: use '==' to turn this assignment into an equality comparison if (s = strchr (strncpy (t = LOCAL->tmp,s,i),' ')) *s++ = '\0'; ^ == imap4r1.c:4271:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"CAPABILITY")) imap_parse_capabilities(stream,s); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4271:31: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"CAPABILITY")) imap_parse_capabilities(stream,s); ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4272:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PERMANENTFLAGS") && (*s == '(') && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4272:36: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PERMANENTFLAGS") && (*s == '(') && ^~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4278:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strtok_r (s+1," ",&r)) do { ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4278:8: note: place parentheses around the assignment to silence this warning if (s = strtok_r (s+1," ",&r)) do { ^ ( ) imap4r1.c:4278:8: note: use '==' to turn this assignment into an equality comparison if (s = strtok_r (s+1," ",&r)) do { ^ == imap4r1.c:4280:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"\\Seen")) stream->perm_seen = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4280:30: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"\\Seen")) stream->perm_seen = T; ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4281:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Deleted")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4281:35: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Deleted")) ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4283:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Flagged")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4283:35: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Flagged")) ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4285:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Answered")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4285:35: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Answered")) ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4287:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Draft")) stream->perm_draft = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4287:35: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"\\Draft")) stream->perm_draft = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4292:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = strtok_r (NIL," ",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4292:11: note: place parentheses around the assignment to silence this warning while (s = strtok_r (NIL," ",&r)); ^ ( ) imap4r1.c:4292:11: note: use '==' to turn this assignment into an equality comparison while (s = strtok_r (NIL," ",&r)); ^ == imap4r1.c:4295:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDVALIDITY") && (j = strtoul (s,NIL,10))){ ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4295:36: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDVALIDITY") && (j = strtoul (s,NIL,10))){ ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4302:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = (MESSAGECACHE *) (*mc) (stream,j,CH_ELT)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4302:14: note: place parentheses around the assignment to silence this warning if (elt = (MESSAGECACHE *) (*mc) (stream,j,CH_ELT)) ^ ( ) imap4r1.c:4302:14: note: use '==' to turn this assignment into an equality comparison if (elt = (MESSAGECACHE *) (*mc) (stream,j,CH_ELT)) ^ == imap4r1.c:4306:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDNEXT")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4306:36: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDNEXT")) ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4309:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (t,"COPYUID") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4309:29: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (t,"COPYUID") && ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4315:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (j && !compare_cstring (t,"APPENDUID") && ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4315:41: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (j && !compare_cstring (t,"APPENDUID") && ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4322:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"REFERRAL")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4322:26: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"REFERRAL")) ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4329:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"UIDNOTSTICKY")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4329:31: warning: passing 'char[13]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"UIDNOTSTICKY")) { ^~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4333:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"READ-ONLY")) stream->rdonly = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4333:36: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"READ-ONLY")) stream->rdonly = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4334:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"READ-WRITE")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4334:36: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"READ-WRITE")) ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4336:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PARSE") && !errflg) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4336:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PARSE") && !errflg) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4378:12: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] nam->name = imap_parse_string (stream,txtptr,reply,NIL,NIL,NIL); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4403:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(par->attribute = imap_parse_string (stream,txtptr,reply,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4415:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(par->value = imap_parse_string (stream,txtptr,reply,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4488:29: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (isdigit (*(s = *txtptr)) && ^ ~~~~~~~ /usr/include/ctype.h:92:32: note: expanded from macro 'isdigit' #define isdigit(c) __sbistype((c), _CTYPE_D) ^ imap4r1.c:4490:12: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strtoul (*txtptr,(char **) txtptr,10))) { ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:4575:21: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*env)->subject = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4582:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*env)->in_reply_to = imap_parse_string (stream,txtptr,reply,NIL,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4584:24: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (*env)->message_id = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4681:21: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] adr->personal = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4682:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] adr->adl = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4683:20: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] adr->mailbox = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4684:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] adr->host = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4781:19: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while (*(flag = ++*txtptr) == ' '); ^ ~~~~~~~~~ imap4r1.c:4789:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (flag,"\\Seen")) elt->seen = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4789:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (flag,"\\Seen")) elt->seen = T; ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4790:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Deleted")) elt->deleted = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4790:39: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Deleted")) elt->deleted = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4791:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Flagged")) elt->flagged = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4791:39: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Flagged")) elt->flagged = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4792:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Answered")) elt->answered = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4792:39: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Answered")) elt->answered = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4793:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Recent")) elt->recent = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4793:39: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Recent")) elt->recent = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4794:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Draft")) elt->draft = T; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4794:39: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (flag,"\\Draft")) elt->draft = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4822:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (flag,stream->user_flags[i])) return (1 << i); ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4822:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (flag,stream->user_flags[i])) return (1 << i); ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4853:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = *txtptr - s) { /* atom ends at atom_special */ ~~^~~~~~~~~~~~~ imap4r1.c:4853:11: note: place parentheses around the assignment to silence this warning if (i = *txtptr - s) { /* atom ends at atom_special */ ^ ( ) imap4r1.c:4853:11: note: use '==' to turn this assignment into an equality comparison if (i = *txtptr - s) { /* atom ends at atom_special */ ^ == imap4r1.c:4855:46: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = strncpy ((char *) fs_get (i + 1),s,i); ^ /usr/include/string.h:112:57: note: passing argument to parameter here char *strncpy(char * __restrict, const char * __restrict, size_t); ^ imap4r1.c:4855:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = strncpy ((char *) fs_get (i + 1),s,i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4896:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (c) st = ++*txtptr; /* remember start of string */ ^ ~~~~~~~~~ imap4r1.c:4951:28: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((i = strtoul (*txtptr,(char **) txtptr,10)) > MAXSERVERLIT) { ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:4973:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (rp) for (k = 0; j = min ((long) MAILTMPLEN,(long) i); i -= j) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4973:29: note: place parentheses around the assignment to silence this warning if (rp) for (k = 0; j = min ((long) MAILTMPLEN,(long) i); i -= j) { ^ ( ) imap4r1.c:4973:29: note: use '==' to turn this assignment into an equality comparison if (rp) for (k = 0; j = min ((long) MAILTMPLEN,(long) i); i -= j) { ^ == imap4r1.c:4981:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (st = string; st = strpbrk (st,"\015\012\011"); *st++ = ' '); ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4981:28: note: place parentheses around the assignment to silence this warning for (st = string; st = strpbrk (st,"\015\012\011"); *st++ = ' '); ^ ( ) imap4r1.c:4981:28: note: use '==' to turn this assignment into an equality comparison for (st = string; st = strpbrk (st,"\015\012\011"); *st++ = ' '); ^ == imap4r1.c:4983:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(reply->line = net_getline (LOCAL->netstream))) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4984:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] reply->line = cpystr (""); ^ ~~~~~~~~~~~ imap4r1.c:4985:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->debug) mm_dlog (reply->line); ^~~~~~~~~~~ ./mail.h:1606:21: note: passing argument to parameter 'string' here void mm_dlog (char *string); ^ imap4r1.c:5053:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(b = mail_body (stream,msgno,seg))) { ^~~ ./mail.h:1693:19: note: passing argument to parameter 'section' here unsigned char *section); ^ imap4r1.c:5131:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5131:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5131:25: note: place parentheses around the assignment to silence this warning if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ( ) imap4r1.c:5131:25: note: use '==' to turn this assignment into an equality comparison if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ == imap4r1.c:5132:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (body->subtype); ^~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5150:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->location = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5171:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5171:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5171:13: note: place parentheses around the assignment to silence this warning if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ( ) imap4r1.c:5171:13: note: use '==' to turn this assignment into an equality comparison if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ == imap4r1.c:5172:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (s); /* application always gets uppercase form */ ^ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5184:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5184:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5184:25: note: place parentheses around the assignment to silence this warning if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ( ) imap4r1.c:5184:25: note: use '==' to turn this assignment into an equality comparison if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ == imap4r1.c:5185:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (body->subtype); /* parse subtype */ ^~~~~~~~~~~~~ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5192:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->id = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5193:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->description = imap_parse_string (stream,txtptr,reply,NIL,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5195:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5195:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5195:13: note: place parentheses around the assignment to silence this warning if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ( ) imap4r1.c:5195:13: note: use '==' to turn this assignment into an equality comparison if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ == imap4r1.c:5196:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ucase (s); /* application always gets uppercase form */ ^ ./misc.h:82:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5212:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->size.bytes = strtoul (*txtptr,(char **) txtptr,10); ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:5233:30: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->size.lines = strtoul (*txtptr,(char **) txtptr,10); ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:5240:12: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->md5 = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5253:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->location = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5300:24: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if(!(par->attribute=imap_parse_string (stream,txtptr,reply,NIL,NIL, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5306:22: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(par->value = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT))){ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5332:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((*(s = *txtptr) == 'I') || (*s == 'i')) && ^ ~~~~~~~ imap4r1.c:5356:28: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] body->disposition.type = imap_parse_string (stream,txtptr,reply,NIL,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5399:14: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (s = imap_parse_string (stream,txtptr,reply,NIL,&i,LONGT)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5399:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (s = imap_parse_string (stream,txtptr,reply,NIL,&i,LONGT)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5399:14: note: place parentheses around the assignment to silence this warning else if (s = imap_parse_string (stream,txtptr,reply,NIL,&i,LONGT)) { ^ ( ) imap4r1.c:5399:14: note: use '==' to turn this assignment into an equality comparison else if (s = imap_parse_string (stream,txtptr,reply,NIL,&i,LONGT)) { ^ == imap4r1.c:5468:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (i = strtoul (*txtptr,(char **) txtptr,10)) do ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:5468:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = strtoul (*txtptr,(char **) txtptr,10)) do ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5468:11: note: place parentheses around the assignment to silence this warning if (i = strtoul (*txtptr,(char **) txtptr,10)) do ^ ( ) imap4r1.c:5468:11: note: use '==' to turn this assignment into an equality comparison if (i = strtoul (*txtptr,(char **) txtptr,10)) do ^ == imap4r1.c:5473:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(reply->line = net_getline (LOCAL->netstream))) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5474:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] reply->line = cpystr (""); ^ ~~~~~~~~~~~ imap4r1.c:5475:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stream->debug) mm_dlog (reply->line); ^~~~~~~~~~~ ./mail.h:1606:21: note: passing argument to parameter 'string' here void mm_dlog (char *string); ^ imap4r1.c:5480:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strtoul (*txtptr,(char **) txtptr,10); ^~~~~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ imap4r1.c:5504:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (th = thr) { ~~~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5504:13: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (th = thr) { ^ ( ) imap4r1.c:5504:13: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (th = thr) { ^ == imap4r1.c:5504:46: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (th = thr) { ~~~^~~~~ imap4r1.c:5504:46: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (th = thr) { ^ ( ) imap4r1.c:5504:46: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (th = thr) { ^ == imap4r1.c:5514:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"IMAP4")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5514:29: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"IMAP4")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5516:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP4rev1")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5516:34: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP4rev1")) ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5518:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2")) LOCAL->cap.rfc1176 = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5518:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2")) LOCAL->cap.rfc1176 = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5519:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2bis")) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5519:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2bis")) ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5521:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ACL")) LOCAL->cap.acl = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5521:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ACL")) LOCAL->cap.acl = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5522:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"QUOTA")) LOCAL->cap.quota = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5522:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"QUOTA")) LOCAL->cap.quota = T; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5523:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LITERAL+")) LOCAL->cap.litplus = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5523:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LITERAL+")) LOCAL->cap.litplus = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5524:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IDLE")) LOCAL->cap.idle = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5524:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IDLE")) LOCAL->cap.idle = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5525:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MAILBOX-REFERRALS")) LOCAL->cap.mbx_ref = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5525:34: warning: passing 'char[18]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MAILBOX-REFERRALS")) LOCAL->cap.mbx_ref = T; ^~~~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5526:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-REFERRALS")) LOCAL->cap.log_ref = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5526:34: warning: passing 'char[16]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-REFERRALS")) LOCAL->cap.log_ref = T; ^~~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5527:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"NAMESPACE")) LOCAL->cap.namespace = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5527:34: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"NAMESPACE")) LOCAL->cap.namespace = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5528:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDPLUS")) LOCAL->cap.uidplus = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5528:34: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDPLUS")) LOCAL->cap.uidplus = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5529:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) LOCAL->cap.starttls = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5529:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) LOCAL->cap.starttls = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5530:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGINDISABLED"))LOCAL->cap.logindisabled = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5530:34: warning: passing 'char[14]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGINDISABLED"))LOCAL->cap.logindisabled = T; ^~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5531:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ID")) LOCAL->cap.id = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5531:34: warning: passing 'char[3]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ID")) LOCAL->cap.id = T; ^~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5532:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CHILDREN")) LOCAL->cap.children = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5532:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CHILDREN")) LOCAL->cap.children = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5533:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MULTIAPPEND")) LOCAL->cap.multiappend = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5533:34: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"MULTIAPPEND")) LOCAL->cap.multiappend = T; ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5534:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"BINARY")) LOCAL->cap.binary = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5534:34: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"BINARY")) LOCAL->cap.binary = T; ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5535:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UNSELECT")) LOCAL->cap.unselect = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5535:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UNSELECT")) LOCAL->cap.unselect = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5536:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SASL-IR")) LOCAL->cap.sasl_ir = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5536:34: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SASL-IR")) LOCAL->cap.sasl_ir = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5537:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SCAN")) LOCAL->cap.scan = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5537:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SCAN")) LOCAL->cap.scan = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5538:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"URLAUTH")) LOCAL->cap.urlauth = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5538:34: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"URLAUTH")) LOCAL->cap.urlauth = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5539:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CATENATE")) LOCAL->cap.catenate = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5539:34: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CATENATE")) LOCAL->cap.catenate = T; ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5540:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CONDSTORE")) LOCAL->cap.condstore = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5540:34: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"CONDSTORE")) LOCAL->cap.condstore = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5541:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ESEARCH")) LOCAL->cap.esearch = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5541:34: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"ESEARCH")) LOCAL->cap.esearch = T; ^~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5547:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (s = strchr (t,'=')) { ~~^~~~~~~~~~~~~~~~ imap4r1.c:5547:16: note: place parentheses around the assignment to silence this warning else if (s = strchr (t,'=')) { ^ ( ) imap4r1.c:5547:16: note: use '==' to turn this assignment into an equality comparison else if (s = strchr (t,'=')) { ^ == imap4r1.c:5549:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"THREAD") && !LOCAL->loser) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5549:31: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"THREAD") && !LOCAL->loser) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5556:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"AUTH")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5556:36: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"AUTH")) { ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5559:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ANONYMOUS")) LOCAL->cap.authanon = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5559:31: warning: passing 'char[10]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (s,"ANONYMOUS")) LOCAL->cap.authanon = T; ^~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5636:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (s = sequence; t = strpbrk (s,",:"); ) switch (*t++) { ~~^~~~~~~~~~~~~~~~~~ imap4r1.c:5636:24: note: place parentheses around the assignment to silence this warning for (s = sequence; t = strpbrk (s,",:"); ) switch (*t++) { ^ ( ) imap4r1.c:5636:24: note: use '==' to turn this assignment into an equality comparison for (s = sequence; t = strpbrk (s,",:"); ) switch (*t++) { ^ == 423 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` pop3.c -o pop3.so pop3.c:177:22: warning: passing 'char[256]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (mb.mailbox,"INBOX")) ? &pop3driver : NIL; ^~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:177:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (mb.mailbox,"INBOX")) ? &pop3driver : NIL; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:229:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (pop3_valid (ref) && pmatch ("INBOX",pat)) : ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:229:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (pop3_valid (ref) && pmatch ("INBOX",pat)) : ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:230:60: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp))) ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:230:68: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp))) ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:245:37: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pop3_valid (ref) && pmatch ("INBOX",pat)) { ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:245:45: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pop3_valid (ref) && pmatch ("INBOX",pat)) { ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:250:64: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp)) { ^~~~~~~ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:250:72: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp)) { ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:276:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ~~^~~~~~~~~~~~~~~~~~~~ pop3.c:276:9: note: place parentheses around the assignment to silence this warning if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^ ( ) pop3.c:276:9: note: use '==' to turn this assignment into an equality comparison if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^ == pop3.c:276:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^ ./misc.h:78:16: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:276:66: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = sm_read (tmp,&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^~~ ./misc.h:78:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ pop3.c:279:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmp,&sdb)); ~~^~~~~~~~~~~~~~~~~~~~ pop3.c:279:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmp,&sdb)); ^ ( ) pop3.c:279:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmp,&sdb)); ^ == pop3.c:427:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (LOCAL->loser = mb.loser) strcat (tmp,"/loser"); ~~~~~~~~~~~~~^~~~~~~~~~ pop3.c:427:24: note: place parentheses around the assignment to silence this warning if (LOCAL->loser = mb.loser) strcat (tmp,"/loser"); ^ ( ) pop3.c:427:24: note: use '==' to turn this assignment into an equality comparison if (LOCAL->loser = mb.loser) strcat (tmp,"/loser"); ^ == pop3.c:497:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (args = strchr (t,' ')) *args++ = '\0'; ~~~~~^~~~~~~~~~~~~~~~ pop3.c:497:14: note: place parentheses around the assignment to silence this warning if (args = strchr (t,' ')) *args++ = '\0'; ^ ( ) pop3.c:497:14: note: use '==' to turn this assignment into an equality comparison if (args = strchr (t,' ')) *args++ = '\0'; ^ == pop3.c:498:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"STLS")) LOCAL->cap.stls = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:498:29: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (t,"STLS")) LOCAL->cap.stls = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:499:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PIPELINING")) LOCAL->cap.pipelining = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:499:34: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"PIPELINING")) LOCAL->cap.pipelining = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:500:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"RESP-CODES")) LOCAL->cap.respcodes = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:500:34: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"RESP-CODES")) LOCAL->cap.respcodes = T; ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:501:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"TOP")) LOCAL->cap.top = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:501:34: warning: passing 'char[4]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"TOP")) LOCAL->cap.top = T; ^~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:502:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDL")) LOCAL->cap.uidl = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:502:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"UIDL")) LOCAL->cap.uidl = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:503:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"USER")) LOCAL->cap.user = T; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:503:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"USER")) LOCAL->cap.user = T; ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:504:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMPLEMENTATION") && args) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:504:34: warning: passing 'char[15]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"IMPLEMENTATION") && args) ^~~~~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:506:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"EXPIRE") && args) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:506:34: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"EXPIRE") && args) { ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:508:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr(args,' ')){/* separate time from possible USER */ ~~^~~~~~~~~~~~~~~~~~ pop3.c:508:13: note: place parentheses around the assignment to silence this warning if (s = strchr(args,' ')){/* separate time from possible USER */ ^ ( ) pop3.c:508:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr(args,' ')){/* separate time from possible USER */ ^ == pop3.c:514:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (args,"NEVER")) ? 65535 : ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:514:26: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (args,"NEVER")) ? 65535 : ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:515:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((s && !compare_cstring (s,"USER")) ? -atoi (args) : atoi (args)); ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:515:31: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((s && !compare_cstring (s,"USER")) ? -atoi (args) : atoi (args)); ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:517:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-DELAY") && args) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:517:34: warning: passing 'char[12]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-DELAY") && args) { ^~~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:519:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr(args,' ')){/* separate time from possible USER */ ~~^~~~~~~~~~~~~~~~~~ pop3.c:519:13: note: place parentheses around the assignment to silence this warning if (s = strchr(args,' ')){/* separate time from possible USER */ ^ ( ) pop3.c:519:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr(args,' ')){/* separate time from possible USER */ ^ == pop3.c:525:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->cap.delaysecs = (s && !compare_cstring (s,"USER")) ? ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:525:56: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->cap.delaysecs = (s && !compare_cstring (s,"USER")) ? ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:528:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SASL") && args) ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:528:34: warning: passing 'char[5]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (t,"SASL") && args) ^~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:782:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:783:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:841:48: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (elt->private.msg.header.text.size = pop3_cache (stream,elt)) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ pop3.c:841:48: note: place parentheses around the assignment to silence this warning else if (elt->private.msg.header.text.size = pop3_cache (stream,elt)) ^ ( ) pop3.c:841:48: note: use '==' to turn this assignment into an equality comparison else if (elt->private.msg.header.text.size = pop3_cache (stream,elt)) ^ == pop3.c:946:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:947:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:945:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pop3.c:945:11: note: place parentheses around the assignment to silence this warning if (ret = sequence ? ((options & EX_UID) ? ^ ( pop3.c:945:11: note: use '==' to turn this assignment into an equality comparison if (ret = sequence ? ((options & EX_UID) ? ^ == 50 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` unix.c -o unix.so unix.c:418:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (s,'/')) { ~~^~~~~~~~~~~~~~~~~ unix.c:418:8: note: place parentheses around the assignment to silence this warning if (s = strrchr (s,'/')) { ^ ( ) unix.c:418:8: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (s,'/')) { ^ == unix.c:468:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:468:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:480:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:626:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:640:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (LOCAL->fd,s = (char *) fs_get (elt->private.msg.header.text.size+1), ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:653:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] *length = mail_filter (LOCAL->buf,*length,unix_hlines,FT_NOT); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1706:34: note: passing argument to parameter 'text' here unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines, ^ unix.c:703:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:731:13: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = tmp; /* initial buffer chunk */ ^ ~~~ unix.c:734:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = (char *) LOCAL->text.data; SIZE (&bs);) switch (c = SNX (&bs)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:787:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox stat failed, aborted: %s", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:789:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:846:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ unix.c:847:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ unix.c:845:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:845:11: note: place parentheses around the assignment to silence this warning if (ret = (sequence ? ((options & EX_UID) ? ^ ( unix.c:845:11: note: use '==' to turn this assignment into an equality comparison if (ret = (sequence ? ((options & EX_UID) ? ^ == unix.c:860:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (i) sprintf (msg = LOCAL->buf,"Expunged %lu messages",i); ^ ~~~~~~~~~~ unix.c:902:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ unix.c:903:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ unix.c:909:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:909:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:916:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:917:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:921:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid UNIX-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:922:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:926:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a UNIX-format mailbox: %.80s",mailbox); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:927:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:936:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write-open mailbox for COPYUID: %.80s", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:938:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:947:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't open destination mailbox: %s",strerror (errno)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:948:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR);/* log the error */ ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:957:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,elt->private.special.text.size) < 0) ret = NIL; ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ unix.c:965:27: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_xstatus (stream,LOCAL->buf,elt,++(tstream->uid_last),LONGT) : ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:131:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:966:27: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_xstatus (stream,LOCAL->buf,elt,NIL,NIL); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:131:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:967:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,j) < 0) ret = NIL; ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ unix.c:981:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Message copy failed: %s",strerror (errno)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1007:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!ret) MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1051:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1051:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1093:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ unix.c:1196:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((s = stream->user_flags[find_rightmost_bit (&uf)]) && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:1257:23: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = tmp; x = strchr (x,'\r'); --j) memmove (x,x+1,j-(x-tmp)); ~~^~~~~~~~~~~~~~~~~ unix.c:1257:23: note: place parentheses around the assignment to silence this warning for (x = tmp; x = strchr (x,'\r'); --j) memmove (x,x+1,j-(x-tmp)); ^ ( ) unix.c:1257:23: note: use '==' to turn this assignment into an equality comparison for (x = tmp; x = strchr (x,'\r'); --j) memmove (x,x+1,j-(x-tmp)); ^ == unix.c:1260:14: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((c == '\n')) switch (tmp[0]) { ~~^~~~~~~ unix.c:1260:14: note: remove extraneous parentheses around the comparison to silence this warning if ((c == '\n')) switch (tmp[0]) { ~ ^ ~ unix.c:1260:14: note: use '=' to turn this equality comparison into an assignment if ((c == '\n')) switch (tmp[0]) { ^~ = unix.c:1462:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1463:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1472:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Mailbox shrank from %lu to %lu bytes, aborted", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1474:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); /* this is pretty bad */ ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1483:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (i = sbuf.st_size - LOCAL->filesize) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:1483:14: note: place parentheses around the assignment to silence this warning else if (i = sbuf.st_size - LOCAL->filesize) { ^ ( ) unix.c:1483:14: note: use '==' to turn this assignment into an equality comparison else if (i = sbuf.st_size - LOCAL->filesize) { ^ == unix.c:1486:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ unix.c:1495:9: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = unix_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:1499:11: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Unexpected changes to mailbox (try restarting): %.20s", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1501:10: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1550:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Unable to parse internal date: %s",(char *) date); ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1551:12: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1555:10: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = t = unix_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:1572:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ unix.c:1572:13: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ ~~~~~~~~~~~~~~~~~~~ unix.c:1572:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ unix.c:1578:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_csizedtext (stream->user_flags[j],&uf)) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:107:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ unix.c:1626:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ unix.c:1626:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ ~~~~~~~~~~~~~~~~~~~ unix.c:1633:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strncpy (stream->user_flags[j],s,k); ^ /usr/include/string.h:112:57: note: passing argument to parameter here char *strncpy(char * __restrict, const char * __restrict, size_t); ^ unix.c:1661:16: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu already has UID %lu", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1666:16: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu less than %lu", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:1686:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:1742:34: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (tmp,"STATUS") || ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1743:27: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-STATUS") || ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1744:27: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-KEYWORDS") || ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1745:27: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-UID") || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1746:27: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-IMAP") || ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1747:27: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-IMAPBASE")) { ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:1770:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ ~~~~~~~~~~~~~~~~~~~~ unix.c:1770:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (u = strpbrk (err,"\r\n")) *u = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ unix.c:1770:14: note: place parentheses around the assignment to silence this warning if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ ( ) unix.c:1770:14: note: use '==' to turn this assignment into an equality comparison if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ == unix.c:1796:6: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = unix_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2015:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ~~^~~~~~~~~~~~~~~~~~~~~~~ unix.c:2015:44: note: place parentheses around the assignment to silence this warning for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ^ ( ) unix.c:2015:44: note: use '==' to turn this assignment into an equality comparison for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ^ == unix.c:2037:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = elt->user_flags) do { ~~^~~~~~~~~~~~~~~~~ unix.c:2037:11: note: place parentheses around the assignment to silence this warning if (n = elt->user_flags) do { ^ ( ) unix.c:2037:11: note: use '==' to turn this assignment into an equality comparison if (n = elt->user_flags) do { ^ == unix.c:2082:60: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unsigned long size = LOCAL->pseudo ? unix_pseudo (stream,LOCAL->buf) : 0; ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1962:53: note: passing argument to parameter 'hdr' here unsigned long unix_pseudo (MAILSTREAM *stream,char *hdr) ^ unix.c:2090:23: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_xstatus (stream,LOCAL->buf,elt,NIL,flag) + ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1989:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:2098:32: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] size = unix_pseudo (stream,LOCAL->buf); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1962:53: note: passing argument to parameter 'hdr' here unsigned long unix_pseudo (MAILSTREAM *stream,char *hdr) ^ unix.c:2101:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = unix_extend (stream,size)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2101:11: note: place parentheses around the assignment to silence this warning if (ret = unix_extend (stream,size)) { ^ ( ) unix.c:2101:11: note: use '==' to turn this assignment into an equality comparison if (ret = unix_extend (stream,size)) { ^ == unix.c:2118:53: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_write (&f,LOCAL->buf,unix_pseudo (stream,LOCAL->buf)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1962:53: note: passing argument to parameter 'hdr' here unsigned long unix_pseudo (MAILSTREAM *stream,char *hdr) ^ unix.c:2118:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_write (&f,LOCAL->buf,unix_pseudo (stream,LOCAL->buf)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:136:36: note: passing argument to parameter 's' here void unix_write (UNIXFILE *f,char *s,unsigned long i); ^ unix.c:2135:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_xstatus (stream,LOCAL->buf,elt,NIL,flag)))) { ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1989:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:2149:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_write (&f,LOCAL->buf,elt->private.special.text.size); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:136:36: note: passing argument to parameter 's' here void unix_write (UNIXFILE *f,char *s,unsigned long i); ^ unix.c:2170:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = unix_xstatus (stream,LOCAL->buf,elt,NIL,flag)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:1989:54: note: passing argument to parameter 'status' here unsigned long unix_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ unix.c:2169:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unix_write (&f,LOCAL->buf, ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ unix.c:136:36: note: passing argument to parameter 's' here void unix_write (UNIXFILE *f,char *s,unsigned long i); ^ unix.c:2255:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2256:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2277:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = i) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2282:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,i) >= 0) && !fsync (LOCAL->fd)) break; ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ unix.c:2288:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to extend mailbox: %s",strerror (e)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2289:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!stream->silent) MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2311:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2311:11: note: place parentheses around the assignment to silence this warning if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ^ ( ) unix.c:2311:11: note: use '==' to turn this assignment into an equality comparison if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ^ == unix.c:2327:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = min (i,f->protect - f->filepos)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:2327:11: note: place parentheses around the assignment to silence this warning if (j = min (i,f->protect - f->filepos)) { ^ ( ) unix.c:2327:11: note: use '==' to turn this assignment into an equality comparison if (j = min (i,f->protect - f->filepos)) { ^ == unix.c:2461:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,"INBOX") && (unix_valid ("mbox") || !errno) && ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:2461:30: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,"INBOX") && (unix_valid ("mbox") || !errno) && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:2476:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) return unix_create (NIL,"mbox"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:2476:33: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) return unix_create (NIL,"mbox"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ unix.c:2604:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mail drop %s is not in standard Unix format", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2606:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2618:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"New mail move failed: %s",strerror (errno)); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2619:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2625:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mail drop %s lock failure, old=%lu now=%lu", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2627:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ unix.c:2643:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Moved %lu bytes of new mail to %s from %s", ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ unix.c:2648:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ 105 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` mbx.c -o mbx.so mbx.c:307:61: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (((error = errno) == ENOENT) && !compare_cstring (name,"INBOX")) ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:307:66: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (((error = errno) == ENOENT) && !compare_cstring (name,"INBOX")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:480:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (tmp,'/')) { ~~^~~~~~~~~~~~~~~~~~~ mbx.c:480:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (tmp,'/')) { ^ ( ) mbx.c:480:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (tmp,'/')) { ^ == mbx.c:506:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) mbx_create (NIL,"INBOX"); ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:506:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) mbx_create (NIL,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:587:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:590:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:590:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:677:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:678:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:706:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = *length) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:709:23: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (LOCAL->fd,s = LOCAL->buf,*length); ^ ~~~~~~~~~~ mbx.c:746:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mbx.c:825:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (ret = mbx_parse (stream)) { ~~~~^~~~~~~~~~~~~~~~~~~~ mbx.c:825:20: note: place parentheses around the assignment to silence this warning else if (ret = mbx_parse (stream)) { ^ ( ) mbx.c:825:20: note: use '==' to turn this assignment into an equality comparison else if (ret = mbx_parse (stream)) { ^ == mbx.c:829:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = mbx_elt (stream,i,LOCAL->expok)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:829:12: note: place parentheses around the assignment to silence this warning if (elt = mbx_elt (stream,i,LOCAL->expok)) { ^ ( ) mbx.c:829:12: note: use '==' to turn this assignment into an equality comparison if (elt = mbx_elt (stream,i,LOCAL->expok)) { ^ == mbx.c:856:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Reclaimed %lu bytes of expunged space",i); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:857:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:889:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:890:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) { ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:888:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:888:11: note: place parentheses around the assignment to silence this warning if (ret = sequence ? ((options & EX_UID) ? ^ ( mbx.c:888:11: note: use '==' to turn this assignment into an equality comparison if (ret = sequence ? ((options & EX_UID) ? ^ == mbx.c:895:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (nexp = mbx_rewrite (stream,&reclaimed,sequence ? -1 : 1)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:895:19: note: place parentheses around the assignment to silence this warning else if (nexp = mbx_rewrite (stream,&reclaimed,sequence ? -1 : 1)) { ^ ( ) mbx.c:895:19: note: use '==' to turn this assignment into an equality comparison else if (nexp = mbx_rewrite (stream,&reclaimed,sequence ? -1 : 1)) { ^ == mbx.c:896:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",nexp); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:897:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:900:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Reclaimed %lu bytes of expunged space",reclaimed); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:901:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:938:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = hdrlen + txtlen) { ~~^~~~~~~~~~~~~~~~~ mbx.c:938:8: note: place parentheses around the assignment to silence this warning if (j = hdrlen + txtlen) { ^ ( ) mbx.c:938:8: note: use '==' to turn this assignment into an equality comparison if (j = hdrlen + txtlen) { ^ == mbx.c:940:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_date (LOCAL->buf,elt = mail_elt (sysibx,i)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1694:24: note: passing argument to parameter 'string' here char *mail_date (char *string,MESSAGECACHE *elt); ^ mbx.c:941:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:941:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:947:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:947:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:963:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:964:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:999:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:1000:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mbx.c:1009:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1010:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:1014:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid MBX-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1015:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:1019:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a MBX-format mailbox: %.80s",mailbox); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1020:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:1032:17: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_date(LOCAL->buf,elt);/* build target header */ ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1694:24: note: passing argument to parameter 'string' here char *mail_date (char *string,MESSAGECACHE *elt); ^ mbx.c:1035:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = stream->user_flags[find_rightmost_bit (&j)]) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1035:8: note: place parentheses around the assignment to silence this warning if (s = stream->user_flags[find_rightmost_bit (&j)]) ^ ( ) mbx.c:1035:8: note: use '==' to turn this assignment into an equality comparison if (s = stream->user_flags[find_rightmost_bit (&j)]) ^ == mbx.c:1037:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,t) && (k |= 1 << m)) break; ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:1037:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,t) && (k |= 1 << m)) break; ^ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:1038:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf+strlen(LOCAL->buf),",%lu;%08lx%04x-%08lx\015\012", ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:1038:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf+strlen(LOCAL->buf),",%lu;%08lx%04x-%08lx\015\012", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1044:47: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:1044:28: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1044:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1044:15: note: place parentheses around the assignment to silence this warning if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ^ ( ) mbx.c:1044:15: note: use '==' to turn this assignment into an equality comparison if (ret = (write (fd,LOCAL->buf,strlen (LOCAL->buf)) > 0)) { ^ == mbx.c:1047:20: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = write (fd,LOCAL->buf,j) >= 0; ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1058:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1059:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mbx.c:1065:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%08lx",dstream->uid_last); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1066:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] write (fd,LOCAL->buf,8); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1123:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:1123:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:1165:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mbx.c:1274:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->uid_validity = strtoul (LOCAL->buf + 7,NIL,16); ^~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1277:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = strtoul (LOCAL->buf + 15,NIL,16); ^~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1281:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (i < NUSERFLAGS) && (t = strchr (s,'\015')) && (t - s); ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mbx.c:1281:31: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (i < NUSERFLAGS) && (t = strchr (s,'\015')) && (t - s); ^ ~~~~~~~~~~~~~~~~~ mbx.c:1284:44: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!stream->user_flags[i] && (strlen (s) <= MAXUSERFLAG)) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mbx.c:1285:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->user_flags[i] = cpystr (s); ^ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ mbx.c:1295:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strtoul (LOCAL->buf + HDRSIZE - 8,NIL,16) : 0; ^~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1312:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,'\015')) && (s[1] == '\012'))) { ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mbx.c:1312:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,'\015')) && (s[1] == '\012'))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1321:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mbx.c:1321:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1321:57: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mbx.c:1321:47: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~ mbx.c:1351:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(j = strtoul (s,(char **) &x,10)) && (!(x && *x))) { ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1369:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((m = strtoul (t+13,NIL,16)) && ^~~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1385:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((k = strtoul (t+8,NIL,16)) & fEXPUNGED) { ^~~ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1419:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] elt->user_flags = strtoul (t,NIL,16); ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1501:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox shrank from %lu to %lu in flag read!", ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1503:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1510:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to read new status: %s",strerror (errno)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1511:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1515:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf+50,"Invalid flags for message %lu (%lu %lu): %s", ^~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1518:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf+50); ^~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1522:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] i = strtoul (LOCAL->buf+9,NIL,16); ^~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1531:30: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] elt->user_flags = strtoul (LOCAL->buf+1,NIL,16); ^~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1547:9: warning: initializing 'char *' with an expression of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] char *s = LOCAL->buf; ^ ~~~~~~~~~~ mbx.c:1558:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + HDRSIZE - 10,"%08lx\015\012",LOCAL->lastpid); ^~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1562:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf + CYGKLUDGEOFFSET, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1585:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox shrank from %lu to %lu in flag update!", ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1587:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1594:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to read old status: %s",strerror (errno)); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1595:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1599:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf+50,"Invalid flags for message %lu (%lu %lu): %s", ^~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1602:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf+50); ^~~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mbx.c:1607:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fEXPUNGED : (strtoul (LOCAL->buf+9,NIL,16)) & fEXPUNGED) + ^~~~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mbx.c:1605:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%08lx%04x-%08lx",elt->user_flags,(unsigned) ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mbx.c:1615:28: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf,21) > 0) break; ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1644:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (*size = elt->private.msg.header.text.size) return ret; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1644:13: note: place parentheses around the assignment to silence this warning if (*size = elt->private.msg.header.text.size) return ret; ^ ( ) mbx.c:1644:13: note: use '==' to turn this assignment into an equality comparison if (*size = elt->private.msg.header.text.size) return ret; ^ == mbx.c:1663:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (hdr) *hdr = LOCAL->buf; ^ ~~~~~~~~~~ mbx.c:1670:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (hdr) *hdr = LOCAL->buf; ^ ~~~~~~~~~~ mbx.c:1680:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (hdr) *hdr = LOCAL->buf; /* possibly return header too */ ^ ~~~~~~~~~~ mbx.c:1736:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (m = (elt = mbx_elt (stream,i,NIL))->private.special.offset - ppos) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1736:13: note: place parentheses around the assignment to silence this warning if (m = (elt = mbx_elt (stream,i,NIL))->private.special.offset - ppos) { ^ ( ) mbx.c:1736:13: note: use '==' to turn this assignment into an equality comparison if (m = (elt = mbx_elt (stream,i,NIL))->private.special.offset - ppos) { ^ == mbx.c:1761:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf,m) > 0) break; ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1776:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (m = (LOCAL->filesize -= delta) - pos) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbx.c:1776:11: note: place parentheses around the assignment to silence this warning if (m = (LOCAL->filesize -= delta) - pos) { ^ ( ) mbx.c:1776:11: note: use '==' to turn this assignment into an equality comparison if (m = (LOCAL->filesize -= delta) - pos) { ^ == mbx.c:1795:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = mbx_elt (stream,i,T)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~ mbx.c:1795:15: note: place parentheses around the assignment to silence this warning if (elt = mbx_elt (stream,i,T)) { ^ ( ) mbx.c:1795:15: note: use '==' to turn this assignment into an equality comparison if (elt = mbx_elt (stream,i,T)) { ^ == 103 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` mmdf.c -o mmdf.so mmdf.c:557:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (s,'/')) { ~~^~~~~~~~~~~~~~~~~ mmdf.c:557:8: note: place parentheses around the assignment to silence this warning if (s = strrchr (s,'/')) { ^ ( ) mmdf.c:557:8: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (s,'/')) { ^ == mmdf.c:607:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:607:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:619:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:765:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:779:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (LOCAL->fd,s = (char *) fs_get (elt->private.msg.header.text.size+1), ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:792:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] *length = mail_filter (LOCAL->buf,*length,mmdf_hlines,FT_NOT); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1706:34: note: passing argument to parameter 'text' here unsigned long mail_filter (char *text,unsigned long len,STRINGLIST *lines, ^ mmdf.c:842:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:870:13: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = tmp; /* initial buffer chunk */ ^ ~~~ mmdf.c:873:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = (char *) LOCAL->text.data; SIZE (&bs);) switch (c = SNX (&bs)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:926:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox stat failed, aborted: %s", ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:928:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:985:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mmdf.c:986:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mmdf.c:984:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:984:11: note: place parentheses around the assignment to silence this warning if (ret = (sequence ? ((options & EX_UID) ? ^ ( mmdf.c:984:11: note: use '==' to turn this assignment into an equality comparison if (ret = (sequence ? ((options & EX_UID) ? ^ == mmdf.c:999:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (i) sprintf (msg = LOCAL->buf,"Expunged %lu messages",i); ^ ~~~~~~~~~~ mmdf.c:1038:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mmdf.c:1039:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mmdf.c:1044:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1044:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1051:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1052:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1056:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid MMDF-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1057:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1061:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a MMDF-format mailbox: %.80s",mailbox); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1062:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1071:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write-open mailbox for COPYUID: %.80s", ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1073:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1082:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't open destination mailbox: %s",strerror (errno)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1083:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); /* log the error */ ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1092:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,elt->private.special.text.size) < 0) ret = NIL; ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mmdf.c:1100:27: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_xstatus (stream,LOCAL->buf,elt,++(tstream->uid_last),LONGT) : ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:287:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:1101:27: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_xstatus (stream,LOCAL->buf,elt,NIL,NIL); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:287:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:1102:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,j) < 0) ret = NIL; ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mmdf.c:1117:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Message copy failed: %s",strerror (errno)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1143:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!ret) MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1188:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1188:34: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1230:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mmdf.c:1332:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((s = stream->user_flags[find_rightmost_bit (&uf)]) && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1394:23: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (x = tmp; x = strpbrk (x,"\01\r"); --j) memmove (x,x+1,j-(x-tmp)); ~~^~~~~~~~~~~~~~~~~~~~~ mmdf.c:1394:23: note: place parentheses around the assignment to silence this warning for (x = tmp; x = strpbrk (x,"\01\r"); --j) memmove (x,x+1,j-(x-tmp)); ^ ( ) mmdf.c:1394:23: note: use '==' to turn this assignment into an equality comparison for (x = tmp; x = strpbrk (x,"\01\r"); --j) memmove (x,x+1,j-(x-tmp)); ^ == mmdf.c:1397:14: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((c == '\n')) switch (tmp[0]) { ~~^~~~~~~ mmdf.c:1397:14: note: remove extraneous parentheses around the comparison to silence this warning if ((c == '\n')) switch (tmp[0]) { ~ ^ ~ mmdf.c:1397:14: note: use '=' to turn this equality comparison into an assignment if ((c == '\n')) switch (tmp[0]) { ^~ = mmdf.c:1591:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1592:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1601:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Mailbox shrank from %lu to %lu bytes, aborted", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1603:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); /* this is pretty bad */ ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1612:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (i = sbuf.st_size - LOCAL->filesize) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1612:14: note: place parentheses around the assignment to silence this warning else if (i = sbuf.st_size - LOCAL->filesize) { ^ ( ) mmdf.c:1612:14: note: use '==' to turn this assignment into an equality comparison else if (i = sbuf.st_size - LOCAL->filesize) { ^ == mmdf.c:1615:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mmdf.c:1624:9: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1628:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Unexpected changes to mailbox (try restarting): %.20s", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1634:8: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1639:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1656:4: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1692:15: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Unable to parse internal date: %s",(char *) date); ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1693:14: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1710:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (t) s = t = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1736:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ mmdf.c:1736:13: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ ~~~~~~~~~~~~~~~~~~~ mmdf.c:1736:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mmdf.c:1742:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_csizedtext (stream->user_flags[j],&uf)) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:107:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ mmdf.c:1790:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ mmdf.c:1790:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ ~~~~~~~~~~~~~~~~~~~ mmdf.c:1797:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strncpy (stream->user_flags[j],s,k); ^ /usr/include/string.h:112:57: note: passing argument to parameter here char *strncpy(char * __restrict, const char * __restrict, size_t); ^ mmdf.c:1825:16: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu already has UID %lu", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1830:16: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu less than %lu", ^~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:1850:13: warning: passing 'unsigned char[1024]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:1906:34: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (tmp,"STATUS") || ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1907:27: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-STATUS") || ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1908:27: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-KEYWORDS") || ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1909:27: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-UID") || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1910:27: warning: passing 'char[7]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-IMAP") || ^~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1911:27: warning: passing 'char[11]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (tmp,"X-IMAPBASE")) { ^~~~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mmdf.c:1934:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ ~~~~~~~~~~~~~~~~~~~~ mmdf.c:1934:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (u = strpbrk (err,"\r\n")) *u = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1934:14: note: place parentheses around the assignment to silence this warning if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ ( ) mmdf.c:1934:14: note: use '==' to turn this assignment into an equality comparison if (u = strpbrk (err,"\r\n")) *u = '\0'; ^ == mmdf.c:1958:6: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:1983:6: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] s = mmdf_mbxline (stream,&bs,&i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2178:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ~~^~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2178:44: note: place parentheses around the assignment to silence this warning for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ^ ( ) mmdf.c:2178:44: note: use '==' to turn this assignment into an equality comparison for (n = 0; n < NUSERFLAGS; ++n) if (t = stream->user_flags[n]) ^ == mmdf.c:2200:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = elt->user_flags) do { ~~^~~~~~~~~~~~~~~~~ mmdf.c:2200:11: note: place parentheses around the assignment to silence this warning if (n = elt->user_flags) do { ^ ( ) mmdf.c:2200:11: note: use '==' to turn this assignment into an equality comparison if (n = elt->user_flags) do { ^ == mmdf.c:2245:60: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unsigned long size = LOCAL->pseudo ? mmdf_pseudo (stream,LOCAL->buf) : 0; ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2125:53: note: passing argument to parameter 'hdr' here unsigned long mmdf_pseudo (MAILSTREAM *stream,char *hdr) ^ mmdf.c:2253:23: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_xstatus (stream,LOCAL->buf,elt,NIL,flag) + ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2152:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:2261:32: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] size = mmdf_pseudo (stream,LOCAL->buf); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2125:53: note: passing argument to parameter 'hdr' here unsigned long mmdf_pseudo (MAILSTREAM *stream,char *hdr) ^ mmdf.c:2264:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = mmdf_extend (stream,size)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2264:11: note: place parentheses around the assignment to silence this warning if (ret = mmdf_extend (stream,size)) { ^ ( ) mmdf.c:2264:11: note: use '==' to turn this assignment into an equality comparison if (ret = mmdf_extend (stream,size)) { ^ == mmdf.c:2281:53: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_write (&f,LOCAL->buf,mmdf_pseudo (stream,LOCAL->buf)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2125:53: note: passing argument to parameter 'hdr' here unsigned long mmdf_pseudo (MAILSTREAM *stream,char *hdr) ^ mmdf.c:2281:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_write (&f,LOCAL->buf,mmdf_pseudo (stream,LOCAL->buf)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:292:36: note: passing argument to parameter 's' here void mmdf_write (MMDFFILE *f,char *s,unsigned long i); ^ mmdf.c:2298:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_xstatus (stream,LOCAL->buf,elt,NIL,flag)))) { ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2152:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:2312:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_write (&f,LOCAL->buf,elt->private.special.text.size); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:292:36: note: passing argument to parameter 's' here void mmdf_write (MMDFFILE *f,char *s,unsigned long i); ^ mmdf.c:2333:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = mmdf_xstatus (stream,LOCAL->buf,elt,NIL,flag)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:2152:54: note: passing argument to parameter 'status' here unsigned long mmdf_xstatus (MAILSTREAM *stream,char *status,MESSAGECACHE *elt, ^ mmdf.c:2332:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mmdf_write (&f,LOCAL->buf, ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ mmdf.c:292:36: note: passing argument to parameter 's' here void mmdf_write (MMDFFILE *f,char *s,unsigned long i); ^ mmdf.c:2401:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:2402:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:2423:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = i) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2428:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,i) >= 0) && !fsync (LOCAL->fd)) break; ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mmdf.c:2434:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to extend mailbox: %s",strerror (e)); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mmdf.c:2435:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!stream->silent) MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mmdf.c:2457:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2457:11: note: place parentheses around the assignment to silence this warning if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ^ ( ) mmdf.c:2457:11: note: use '==' to turn this assignment into an equality comparison if (j = i ? ((f->buflen - i) % OVERFLOWBUFLEN) : f->buflen) { ^ == mmdf.c:2473:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = min (i,f->protect - f->filepos)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:2473:11: note: place parentheses around the assignment to silence this warning if (j = min (i,f->protect - f->filepos)) { ^ ( ) mmdf.c:2473:11: note: use '==' to turn this assignment into an equality comparison if (j = min (i,f->protect - f->filepos)) { ^ == 96 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` tenex.c -o tenex.so tenex.c:211:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:211:56: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:324:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ~~^~~~~~~~~~~~~~~~~~~ tenex.c:324:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ^ ( ) tenex.c:324:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ^ == tenex.c:350:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:350:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:427:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:433:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:433:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:500:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:501:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:511:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (LOCAL->buflen + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:538:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:539:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:564:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (LOCAL->buflen = i + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:574:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] *length = strcrlfcpy (&LOCAL->buf,&LOCAL->buflen,s,i); ^ ./nl.h:33:21: note: passing argument to parameter 'src' here unsigned char *src,unsigned long srcl); ^ tenex.c:609:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (LOCAL->buflen = i + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:632:50: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strcrlfcpy (&LOCAL->text.data,&LOCAL->text.size,s,i); ^ ./nl.h:33:21: note: passing argument to parameter 'src' here unsigned char *src,unsigned long srcl); ^ tenex.c:772:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = hdrlen + txtlen) { ~~^~~~~~~~~~~~~~~~~ tenex.c:772:8: note: place parentheses around the assignment to silence this warning if (j = hdrlen + txtlen) { ^ ( ) tenex.c:772:8: note: use '==' to turn this assignment into an equality comparison if (j = hdrlen + txtlen) { ^ == tenex.c:774:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_date (LOCAL->buf,elt = mail_elt (sysibx,i)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1694:24: note: passing argument to parameter 'string' here char *mail_date (char *string,MESSAGECACHE *elt); ^ tenex.c:775:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ tenex.c:775:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:781:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ tenex.c:781:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ tenex.c:797:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:798:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:833:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:834:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:895:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf,m) > 0) break; ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ tenex.c:911:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:914:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:918:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",n); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:920:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:961:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!tenex_isvalid (mailbox,LOCAL->buf)) switch (errno) { ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ tenex.c:176:37: note: passing argument to parameter 'tmp' here int tenex_isvalid (char *name,char *tmp) ^ tenex.c:968:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:969:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:973:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid Tenex-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:974:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:978:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a Tenex-format mailbox: %.80s",mailbox); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:979:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:982:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:983:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:986:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to open copy mailbox: %s",strerror (errno)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:987:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:1009:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,j) < 0) ret = NIL; ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ tenex.c:1014:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:1015:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:1072:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:1072:35: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:1122:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ tenex.c:1244:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(s = strchr (LOCAL->buf,'\012'))) { ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ tenex.c:1244:13: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(s = strchr (LOCAL->buf,'\012'))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:1253:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ tenex.c:1253:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~ tenex.c:1253:57: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ tenex.c:1253:47: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~ tenex.c:1276:46: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (elt->private.msg.full.text.size = strtoul (s,(char **) &s,10)) && ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ tenex.c:1300:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = strtoul (t,NIL,8); /* get user flags value */ ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ tenex.c:1378:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to read new status: %s",strerror (errno)); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:1379:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ tenex.c:1387:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = strtoul(LOCAL->buf,NIL,8);/* get user flags value */ ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ tenex.c:1413:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%010lo%02o",k,(unsigned) ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ tenex.c:1421:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] write (LOCAL->fd,LOCAL->buf,12); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ tenex.c:1456:20: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] read (LOCAL->fd,s = LOCAL->buf,i = min (msiz-siz,(long) MAILTMPLEN)); ^ ~~~~~~~~~~ 63 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` mtx.c -o mtx.so mtx.c:204:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:204:56: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:317:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ~~^~~~~~~~~~~~~~~~~~~ mtx.c:317:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ^ ( ) mtx.c:317:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (tmp,'/')) {/* found superior to destination name? */ ^ == mtx.c:343:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:343:36: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:421:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:424:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:424:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:487:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:488:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:511:16: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = *length) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:546:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mtx.c:683:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = hdrlen + txtlen) { ~~^~~~~~~~~~~~~~~~~ mtx.c:683:8: note: place parentheses around the assignment to silence this warning if (j = hdrlen + txtlen) { ^ ( ) mtx.c:683:8: note: use '==' to turn this assignment into an equality comparison if (j = hdrlen + txtlen) { ^ == mtx.c:685:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_date (LOCAL->buf,elt = mail_elt (sysibx,i)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1694:24: note: passing argument to parameter 'string' here char *mail_date (char *string,MESSAGECACHE *elt); ^ mtx.c:686:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mtx.c:686:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:692:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mtx.c:692:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((write (LOCAL->fd,LOCAL->buf,strlen (LOCAL->buf)) < 0) || ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mtx.c:708:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:709:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:744:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:745:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:806:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (LOCAL->fd,LOCAL->buf,m) > 0) break; ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mtx.c:821:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:824:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:828:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",n); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:830:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:871:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mtx_isvalid (mailbox,LOCAL->buf)) switch (errno) { ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ mtx.c:169:35: note: passing argument to parameter 'tmp' here int mtx_isvalid (char *name,char *tmp) ^ mtx.c:878:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't access destination: %.80s",mailbox); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:879:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:883:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Invalid MTX-format mailbox name: %.80s",mailbox); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:884:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:888:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a MTX-format mailbox: %.80s",mailbox); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:889:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:892:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:893:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:896:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to open copy mailbox: %s",strerror (errno)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:897:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:919:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (write (fd,LOCAL->buf,j) < 0) ret = NIL; ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mtx.c:924:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:925:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:982:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:982:35: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:1032:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mtx.c:1132:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,'\015')) && (s[1] == '\012'))) { ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mtx.c:1132:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,'\015')) && (s[1] == '\012'))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:1141:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mtx.c:1141:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~ mtx.c:1141:57: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~ /usr/include/string.h:80:26: note: passing argument to parameter here char *strchr(const char *, int) __pure; ^ mtx.c:1141:47: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^ ~~~~~~~~~~~~~~~~ mtx.c:1164:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (elt->rfc822_size = strtoul (s,(char **) &s,10)) && (!(s && *s)) && ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mtx.c:1188:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = strtoul (t,NIL,8); /* get user flags value */ ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mtx.c:1266:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Unable to read new status: %s",strerror (errno)); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:1267:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] fatal (LOCAL->buf); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./ftl.h:32:19: note: passing argument to parameter 'string' here void fatal (char *string); ^ mtx.c:1275:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] j = strtoul(LOCAL->buf,NIL,8);/* get user flags value */ ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdlib.h:120:34: note: passing argument to parameter here strtoul(const char * __restrict, char ** __restrict, int); ^ mtx.c:1301:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%010lo%02o",k,(unsigned) ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mtx.c:1309:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] write (LOCAL->fd,LOCAL->buf,12); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ 57 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` news.c -o news.so news.c:218:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (pattern,'.')) *++s = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ news.c:218:13: note: place parentheses around the assignment to silence this warning if (s = strchr (pattern,'.')) *++s = '\0'; ^ ( ) news.c:218:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (pattern,'.')) *++s = '\0'; ^ == news.c:234:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ~~^~~~~~~~~~~~~~~~~~~~~~ news.c:234:11: note: place parentheses around the assignment to silence this warning if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ^ ( ) news.c:234:11: note: use '==' to turn this assignment into an equality comparison if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ^ == news.c:234:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ~~^~~~~~~~~~~~~~~~ news.c:234:44: note: place parentheses around the assignment to silence this warning if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ^ ( ) news.c:234:44: note: use '==' to turn this assignment into an equality comparison if (t = strtok_r (s,"\n",&r)) do if (u = strchr (t,' ')) { ^ == news.c:237:24: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_list (stream,'.',name,NIL); ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ news.c:237:29: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) mm_list (stream,'.',name,NIL); ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ news.c:240:19: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ news.c:240:24: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pattern,'.')) ^~~~~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ news.c:243:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (t = strtok_r (NIL,"\n",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~~ news.c:243:16: note: place parentheses around the assignment to silence this warning } while (t = strtok_r (NIL,"\n",&r)); ^ ( ) news.c:243:16: note: use '==' to turn this assignment into an equality comparison } while (t = strtok_r (NIL,"\n",&r)); ^ == news.c:286:34: warning: expression result unused [-Wunused-value] for (i = 0, s = pattern; *s; *s++) if ((*s == '*') || (*s == '%')) ++i; ^~~~ news.c:368:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = strchr (s,'.')) *s = '/'; ~~^~~~~~~~~~~~~~~~ news.c:368:12: note: place parentheses around the assignment to silence this warning while (s = strchr (s,'.')) *s = '/'; ^ ( ) news.c:368:12: note: use '==' to turn this assignment into an equality comparison while (s = strchr (s,'.')) *s = '/'; ^ == news.c:408:9: warning: initializing 'char *' with an expression of type 'const char[256]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *s = name->d_name; ^ ~~~~~~~~~~~~ news.c:409:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ news.c:409:12: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) news.c:409:12: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == news.c:455:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:456:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:473:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:473:67: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:494:12: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ news.c:61:15: note: expanded from macro 'LOCAL' #define LOCAL ((NEWSLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ news.c:499:20: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((fd = open (LOCAL->buf,O_RDONLY,NIL)) >= 0)) { ^~~~~~~~~~ news.c:61:15: note: expanded from macro 'LOCAL' #define LOCAL ((NEWSLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ news.c:503:13: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ news.c:568:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~~~~~~~~~~^~~~~~~~~ news.c:568:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~ ^ ~ news.c:568:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ^~ = news.c:588:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~~~~~~~~~~^~~~~~~~~ news.c:588:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~ ^ ~ news.c:588:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ^~ = 21 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` phile.c -o phile.so phile.c:292:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = t->tm_yday - k) i += ((k < 0) == (abs (k) == 1)) ? -24*60 : 24*60; ~~^~~~~~~~~~~~~~~~ phile.c:292:9: note: place parentheses around the assignment to silence this warning if (k = t->tm_yday - k) i += ((k < 0) == (abs (k) == 1)) ? -24*60 : 24*60; ^ ( ) phile.c:292:9: note: use '==' to turn this assignment into an equality comparison if (k = t->tm_yday - k) i += ((k < 0) == (abs (k) == 1)) ? -24*60 : 24*60; ^ == phile.c:305:20: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->env->date = cpystr (tmp); ^ ~~~~~~~~~~~~ phile.c:309:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (pw = getpwuid (sbuf.st_uid)) strcpy (tmp,pw->pw_name); ~~~^~~~~~~~~~~~~~~~~~~~~~~~ phile.c:309:10: note: place parentheses around the assignment to silence this warning if (pw = getpwuid (sbuf.st_uid)) strcpy (tmp,pw->pw_name); ^ ( ) phile.c:309:10: note: use '==' to turn this assignment into an equality comparison if (pw = getpwuid (sbuf.st_uid)) strcpy (tmp,pw->pw_name); ^ == phile.c:321:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = phile_type (buf->data,buf->size,&j)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phile.c:321:9: note: place parentheses around the assignment to silence this warning if (i = phile_type (buf->data,buf->size,&j)) { ^ ( ) phile.c:321:9: note: use '==' to turn this assignment into an equality comparison if (i = phile_type (buf->data,buf->size,&j)) { ^ == phile.c:327:45: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] buf->size = strcrlfcpy (&buf->data,&m,s,buf->size); ^ ./nl.h:33:21: note: passing argument to parameter 'src' here unsigned char *src,unsigned long srcl); ^ 5 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` mh.c -o mh.so mh.c:190:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((mh_allow_inbox && !compare_cstring (name,"INBOX")) || ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:190:49: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((mh_allow_inbox && !compare_cstring (name,"INBOX")) || ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:191:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (name,MHINBOX) || ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:191:30: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (name,MHINBOX) || ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:195:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = (synonly && compare_cstring (name,"INBOX")) ? ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:195:47: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = (synonly && compare_cstring (name,"INBOX")) ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:254:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strpbrk (s," \t")) { ~~^~~~~~~~~~~~~~~~~~~ mh.c:254:8: note: place parentheses around the assignment to silence this warning if (v = strpbrk (s," \t")) { ^ ( ) mh.c:254:8: note: use '==' to turn this assignment into an equality comparison if (v = strpbrk (s," \t")) { ^ == mh.c:256:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"Path:")) { ^ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:256:28: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (s,"Path:")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:327:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ mh.c:327:14: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) mh.c:327:14: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == mh.c:346:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (test,'/')) *++s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ mh.c:346:13: note: place parentheses around the assignment to silence this warning if (s = strchr (test,'/')) *++s = '\0'; ^ ( ) mh.c:346:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (test,'/')) *++s = '\0'; ^ == mh.c:359:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (test,"%*")) { ~~^~~~~~~~~~~~~~~~~~~~~ mh.c:359:13: note: place parentheses around the assignment to silence this warning if (s = strpbrk (test,"%*")) { ^ ( ) mh.c:359:13: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (test,"%*")) { ^ == mh.c:366:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (file,'/')) { ~~^~~~~~~~~~~~~~~~~~~~ mh.c:366:13: note: place parentheses around the assignment to silence this warning if (s = strrchr (file,'/')) { ^ ( ) mh.c:366:13: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (file,'/')) { ^ == mh.c:374:27: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (test,MHINBOX)) ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:374:32: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (test,MHINBOX)) ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:403:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] do if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,NIL); ^ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:403:27: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] do if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,NIL); ^~~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:404:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (tmp,&sdb)); /* until no more subscriptions */ ~~^~~~~~~~~~~~~~~~~~~~ mh.c:404:14: note: place parentheses around the assignment to silence this warning while (s = sm_read (tmp,&sdb)); /* until no more subscriptions */ ^ ( ) mh.c:404:14: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (tmp,&sdb)); /* until no more subscriptions */ ^ == mh.c:428:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dp = opendir (curdir)) { /* open directory */ ~~~^~~~~~~~~~~~~~~~~~ mh.c:428:10: note: place parentheses around the assignment to silence this warning if (dp = opendir (curdir)) { /* open directory */ ^ ( ) mh.c:428:10: note: use '==' to turn this assignment into an equality comparison if (dp = opendir (curdir)) { /* open directory */ ^ == mh.c:429:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = readdir (dp)) /* scan, ignore . and numeric names */ ~~^~~~~~~~~~~~~~ mh.c:429:14: note: place parentheses around the assignment to silence this warning while (d = readdir (dp)) /* scan, ignore . and numeric names */ ^ ( ) mh.c:429:14: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dp)) /* scan, ignore . and numeric names */ ^ == mh.c:435:21: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pat,'/')) mm_list (stream,'/',name,NIL); ^~~~ ./env.h:29:34: note: passing argument to parameter 's' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:435:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (pmatch_full (name,pat,'/')) mm_list (stream,'/',name,NIL); ^~~ ./env.h:29:51: note: passing argument to parameter 'pat' here long pmatch_full (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:437:16: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (dmatch (name,pat,'/') && ^~~~ ./env.h:30:29: note: passing argument to parameter 's' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:437:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (dmatch (name,pat,'/') && ^~~ ./env.h:30:46: note: passing argument to parameter 'pat' here long dmatch (unsigned char *s,unsigned char *pat,unsigned char delim); ^ mh.c:513:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dirp = opendir (tmp)) { /* open directory */ ~~~~~^~~~~~~~~~~~~~~ mh.c:513:12: note: place parentheses around the assignment to silence this warning if (dirp = opendir (tmp)) { /* open directory */ ^ ( ) mh.c:513:12: note: use '==' to turn this assignment into an equality comparison if (dirp = opendir (tmp)) { /* open directory */ ^ == mh.c:516:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = readdir (dirp)) if (mh_dirfmttest (d->d_name)) { ~~^~~~~~~~~~~~~~~~ mh.c:516:14: note: place parentheses around the assignment to silence this warning while (d = readdir (dirp)) if (mh_dirfmttest (d->d_name)) { ^ ( ) mh.c:516:14: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dirp)) if (mh_dirfmttest (d->d_name)) { ^ == mh.c:553:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (mh_file (tmp1,newname),'/')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mh.c:553:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (mh_file (tmp1,newname),'/')) { ^ ( ) mh.c:553:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (mh_file (tmp1,newname),'/')) { ^ == mh.c:587:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (stream->mailbox,MHINBOX) || ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:587:40: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (!compare_cstring (stream->mailbox,MHINBOX) || ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:592:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (stream->mailbox,"INBOX")) ? T : NIL; ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:592:40: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (stream->mailbox,"INBOX")) ? T : NIL; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:638:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:639:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:662:12: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:667:20: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((fd = open (LOCAL->buf,O_RDONLY,NIL)) >= 0)) { ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mh.c:671:13: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mh.c:737:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) { ~~~~~~~~~~^~~~~~~~~ mh.c:737:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) { ~ ^ ~ mh.c:737:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) { ^~ = mh.c:763:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) { ~~~~~~~~~~^~~~~~~~~ mh.c:763:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) { ~ ^ ~ mh.c:763:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) { ^~ = mh.c:886:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (void *) names) fs_give ((void **) &s); ~~^~~~~~~~~~~~~~~~ mh.c:886:11: note: place parentheses around the assignment to silence this warning if (s = (void *) names) fs_give ((void **) &s); ^ ( ) mh.c:886:11: note: use '==' to turn this assignment into an equality comparison if (s = (void *) names) fs_give ((void **) &s); ^ == mh.c:899:11: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,++old); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:902:19: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (((fd = open (LOCAL->buf,O_WRONLY|O_CREAT|O_EXCL, ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mh.c:926:16: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mh_setdate (LOCAL->buf,elt); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ mh.c:107:24: note: passing argument to parameter 'file' here void mh_setdate (char *file,MESSAGECACHE *elt); ^ mh.c:934:14: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unlink (LOCAL->buf);/* flush this file */ ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mh.c:981:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:982:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) { ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:980:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mh.c:980:11: note: place parentheses around the assignment to silence this warning if (ret = sequence ? ((options & EX_UID) ? ^ ( mh.c:980:11: note: use '==' to turn this assignment into an equality comparison if (ret = sequence ? ((options & EX_UID) ? ^ == mh.c:987:11: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:988:14: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (unlink (LOCAL->buf)) {/* try to delete the message */ ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mh.c:989:13: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunge of message %lu failed, aborted: %s",i, ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:991:12: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mh.c:1009:16: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",n); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:1010:15: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mm_log (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mh.c:1041:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:1042:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:1045:11: warning: passing 'unsigned char[65536]' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mh.c:1046:18: warning: passing 'unsigned char[65536]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((fd = open (LOCAL->buf,O_RDONLY,NIL)) < 0) return NIL; ^~~~~~~~~~ mh.c:69:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mh.c:1058:10: warning: assigning to 'char *' from 'unsigned char[65536]' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mh.c:1106:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((!compare_cstring (mailbox,MHINBOX) || ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1106:38: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!((!compare_cstring (mailbox,MHINBOX) || ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1107:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (mailbox,"INBOX")) && ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1107:31: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !compare_cstring (mailbox,"INBOX")) && ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1135:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (void *) names) fs_give ((void **) &s); ~~^~~~~~~~~~~~~~~~ mh.c:1135:9: note: place parentheses around the assignment to silence this warning if (s = (void *) names) fs_give ((void **) &s); ^ ( ) mh.c:1135:9: note: use '==' to turn this assignment into an equality comparison if (s = (void *) names) fs_give ((void **) &s); ^ == mh.c:1146:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mh.c:1197:9: warning: initializing 'char *' with an expression of type 'const char[256]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *s = name->d_name; ^ ~~~~~~~~~~~~ mh.c:1198:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ mh.c:1198:12: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) mh.c:1198:12: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == mh.c:1227:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1227:30: warning: passing 'char[9]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~~~~ mh.c:43:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1227:60: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1227:65: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1260:34: warning: expression result unused [-Wunused-value] for (i = 0, s = pattern; *s; *s++) if ((*s == '*') || (*s == '%')) ++i; ^~~~ 70 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` mx.c -o mx.so mx.c:186:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) errno = NIL; ^~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:186:35: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) errno = NIL; ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:241:31: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] if (strcmp (name,MXINDEXNAME+1)) ~~~~~~~~~~~^~ mx.c:241:31: note: use array indexing to silence this warning if (strcmp (name,MXINDEXNAME+1)) ^ & [ ] mx.c:242:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *name++) if (!isdigit (c)) return NIL; ~~^~~~~~~~~ mx.c:242:14: note: place parentheses around the assignment to silence this warning while (c = *name++) if (!isdigit (c)) return NIL; ^ ( ) mx.c:242:14: note: use '==' to turn this assignment into an equality comparison while (c = *name++) if (!isdigit (c)) return NIL; ^ == mx.c:289:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mx.c:289:9: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mx.c:289:9: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mx.c:395:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dirp = opendir (tmp)) { /* open directory */ ~~~~~^~~~~~~~~~~~~~~ mx.c:395:14: note: place parentheses around the assignment to silence this warning if (dirp = opendir (tmp)) { /* open directory */ ^ ( ) mx.c:395:14: note: use '==' to turn this assignment into an equality comparison if (dirp = opendir (tmp)) { /* open directory */ ^ == mx.c:398:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = readdir (dirp)) if (mx_select (d)) { ~~^~~~~~~~~~~~~~~~ mx.c:398:16: note: place parentheses around the assignment to silence this warning while (d = readdir (dirp)) if (mx_select (d)) { ^ ( ) mx.c:398:16: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dirp)) if (mx_select (d)) { ^ == mx.c:439:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:439:30: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:441:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (mx_file (tmp1,newname),'/')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:441:13: note: place parentheses around the assignment to silence this warning if (s = strrchr (mx_file (tmp1,newname),'/')) { ^ ( ) mx.c:441:13: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (mx_file (tmp1,newname),'/')) { ^ == mx.c:469:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mx.c:469:13: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mx.c:469:13: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mx.c:470:70: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] if (lasterror || mx_rename_work (tmp,srcl,tmp1,dstl,MXINDEXNAME+1)) ~~~~~~~~~~~^~ mx.c:470:70: note: use array indexing to silence this warning if (lasterror || mx_rename_work (tmp,srcl,tmp1,dstl,MXINDEXNAME+1)) ^ & [ ] mx.c:518:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:518:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:524:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:573:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:574:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:591:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",stream->mailbox,elt->private.uid); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:593:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!elt->rfc822_size && !stat (LOCAL->buf,&sbuf)) { ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/sys/stat.h:394:33: note: passing argument to parameter here int stat(const char * __restrict, struct stat * __restrict); ^ mx.c:633:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = elt->rfc822_size) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:648:43: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] cpytxt (&elt->private.msg.header.text,LOCAL->buf,i); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./misc.h:85:36: note: passing argument to parameter 'text' here char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size); ^ mx.c:649:41: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] cpytxt (&elt->private.msg.text.text,LOCAL->buf+i,elt->rfc822_size - i); ^~~~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./misc.h:85:36: note: passing argument to parameter 'text' here char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size); ^ mx.c:752:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (void *) names) fs_give ((void **) &s); ~~^~~~~~~~~~~~~~~~ mx.c:752:11: note: place parentheses around the assignment to silence this warning if (s = (void *) names) fs_give ((void **) &s); ^ ( ) mx.c:752:11: note: use '==' to turn this assignment into an equality comparison if (s = (void *) names) fs_give ((void **) &s); ^ == mx.c:767:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",stream->mailbox,++old); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:770:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (((fd = open (LOCAL->buf,O_WRONLY|O_CREAT|O_EXCL, ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mx.c:794:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mx_setdate (LOCAL->buf,elt); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ mx.c:106:24: note: passing argument to parameter 'file' here void mx_setdate (char *file,MESSAGECACHE *elt); ^ mx.c:801:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] unlink (LOCAL->buf);/* flush this file */ ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mx.c:804:8: warning: data argument not used by format string [-Wformat-extra-args] s,strerror (errno)); ^ mx.c:848:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:849:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:847:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:847:11: note: place parentheses around the assignment to silence this warning if (ret = (sequence ? ((options & EX_UID) ? ^ ( mx.c:847:11: note: use '==' to turn this assignment into an equality comparison if (ret = (sequence ? ((options & EX_UID) ? ^ == mx.c:855:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",stream->mailbox,elt->private.uid); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:856:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (unlink (LOCAL->buf)) {/* try to delete the message */ ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mx.c:857:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunge of message %lu failed, aborted: %s",i, ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:859:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mx.c:875:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",n); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:876:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mx.c:913:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Not a MX-format mailbox: %.80s",mailbox); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mx.c:914:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mx.c:921:63: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!(ret = ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:922:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)))); ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mx.c:939:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = ((fd = open (mx_fast_work (stream,elt),O_RDONLY,NIL)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:939:10: note: place parentheses around the assignment to silence this warning if (ret = ((fd = open (mx_fast_work (stream,elt),O_RDONLY,NIL)) ^ ( mx.c:939:10: note: use '==' to turn this assignment into an equality comparison if (ret = ((fd = open (mx_fast_work (stream,elt),O_RDONLY,NIL)) ^ == mx.c:944:12: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mx.c:949:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = elt->user_flags) do ~~^~~~~~~~~~~~~~~~~ mx.c:949:10: note: place parentheses around the assignment to silence this warning if (j = elt->user_flags) do ^ ( ) mx.c:949:10: note: use '==' to turn this assignment into an equality comparison if (j = elt->user_flags) do ^ == mx.c:950:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = stream->user_flags[find_rightmost_bit (&j)]) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:950:12: note: place parentheses around the assignment to silence this warning if (t = stream->user_flags[find_rightmost_bit (&j)]) ^ ( ) mx.c:950:12: note: use '==' to turn this assignment into an equality comparison if (t = stream->user_flags[find_rightmost_bit (&j)]) ^ == mx.c:960:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = mx_append_msg (astream,tmp,elt,&st,dest)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mx.c:960:12: note: place parentheses around the assignment to silence this warning if (ret = mx_append_msg (astream,tmp,elt,&st,dest)) { ^ ( ) mx.c:960:12: note: use '==' to turn this assignment into an equality comparison if (ret = mx_append_msg (astream,tmp,elt,&st,dest)) { ^ == mx.c:1003:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mx_create (NIL,"INBOX"); ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:1003:35: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mx_create (NIL,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mx.c:1038:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (date && !(ret = mail_parse_date (&elt,date))) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mx.c:1116:9: warning: initializing 'char *' with an expression of type 'const char[256]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *s = name->d_name; ^ ~~~~~~~~~~~~ mx.c:1117:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ mx.c:1117:12: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) mx.c:1117:12: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == mx.c:1188:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (t = ++s,'\n')) { ~~^~~~~~~~~~~~~~~~~~~~~~~ mx.c:1188:13: note: place parentheses around the assignment to silence this warning if (s = strchr (t = ++s,'\n')) { ^ ( ) mx.c:1188:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (t = ++s,'\n')) { ^ == 52 warnings generated. `cat CCTYPE` -fPIC -DPIC -c `cat SHLIBFLAGS` -c `cat CFLAGS` mix.c -o mix.so mix.c:334:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mix.c:334:9: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mix.c:334:9: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mix.c:478:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dirp = opendir (tmp)) { /* open directory */ ~~~~~^~~~~~~~~~~~~~~ mix.c:478:14: note: place parentheses around the assignment to silence this warning if (dirp = opendir (tmp)) { /* open directory */ ^ ( ) mix.c:478:14: note: use '==' to turn this assignment into an equality comparison if (dirp = opendir (tmp)) { /* open directory */ ^ == mix.c:481:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = readdir (dirp)) if (mix_dirfmttest (d->d_name)) { ~~^~~~~~~~~~~~~~~~ mix.c:481:16: note: place parentheses around the assignment to silence this warning while (d = readdir (dirp)) if (mix_dirfmttest (d->d_name)) { ^ ( ) mix.c:481:16: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dirp)) if (mix_dirfmttest (d->d_name)) { ^ == mix.c:527:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:527:30: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:529:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (tmp1,'/')) { ~~^~~~~~~~~~~~~~~~~~~~ mix.c:529:13: note: place parentheses around the assignment to silence this warning if (s = strrchr (tmp1,'/')) { ^ ( ) mix.c:529:13: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (tmp1,'/')) { ^ == mix.c:567:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mix.c:567:13: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mix.c:567:13: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mix.c:590:26: warning: passing 'const char[256]' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] return mix_dirfmttest (name->d_name); ^~~~~~~~~~~~ mix.c:285:28: note: passing argument to parameter 'name' here long mix_dirfmttest (char *name) ^ mix.c:606:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:606:53: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:608:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:611:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mix_dir (LOCAL->buf,stream->mailbox); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:163:22: note: passing argument to parameter 'dst' here char *mix_dir (char *dst,char *name); ^ mix.c:613:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] stream->mailbox = cpystr (LOCAL->buf); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./misc.h:84:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ mix.c:616:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((LOCAL->mfd = open (mix_file (LOCAL->buf,stream->mailbox,MIXMETA), ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:619:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ((LOCAL->mfd = open (mix_file (LOCAL->buf,stream->mailbox,MIXMETA), ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:627:38: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->index = cpystr (mix_file (LOCAL->buf,stream->mailbox,MIXINDEX)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:628:39: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->status = cpystr (mix_file (LOCAL->buf,stream->mailbox,MIXSTATUS)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:629:42: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->sortcache = cpystr (mix_file (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:164:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:634:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (silent = stream->silent) LOCAL->internal = T; ~~~~~~~^~~~~~~~~~~~~~~~ mix.c:634:16: note: place parentheses around the assignment to silence this warning if (silent = stream->silent) LOCAL->internal = T; ^ ( ) mix.c:634:16: note: use '==' to turn this assignment into an equality comparison if (silent = stream->silent) LOCAL->internal = T; ^ == mix.c:718:46: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((LOCAL->msgfd = open (mix_file_data (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:730:16: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = j) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:735:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] !strncmp (LOCAL->buf,MSGTOK,MSGTSZ) && ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:111:26: note: passing argument to parameter here int strncmp(const char *, const char *, size_t) __pure; ^ mix.c:752:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:120:27: note: passing argument to parameter here char *strpbrk(const char *, const char *) __pure; ^ mix.c:752:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:752:11: note: place parentheses around the assignment to silence this warning if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ^ ( ) mix.c:752:11: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ^ == mix.c:781:46: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((LOCAL->msgfd = open (mix_file_data (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:805:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mix.c:830:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (((flags & ST_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:831:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)) && ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:963:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (snarfok = mail_append_full (stream,"INBOX",flags,date,&msg)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:963:16: note: place parentheses around the assignment to silence this warning if (snarfok = mail_append_full (stream,"INBOX",flags,date,&msg)) { ^ ( ) mix.c:963:16: note: use '==' to turn this assignment into an equality comparison if (snarfok = mail_append_full (stream,"INBOX",flags,date,&msg)) { ^ == mix.c:973:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't copy new mail at message: %lu",i - 1); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:974:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:988:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (statf = mix_parse (stream,&idxf,LONGT, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:988:13: note: place parentheses around the assignment to silence this warning if (statf = mix_parse (stream,&idxf,LONGT, ^ ( mix.c:988:13: note: use '==' to turn this assignment into an equality comparison if (statf = mix_parse (stream,&idxf,LONGT, ^ == mix.c:1033:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1034:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence))) || stream->rdonly); ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1036:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (statf = mix_parse (stream,&idxf,LONGT, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1036:18: note: place parentheses around the assignment to silence this warning else if (statf = mix_parse (stream,&idxf,LONGT, ^ ( mix.c:1036:18: note: use '==' to turn this assignment into an equality comparison else if (statf = mix_parse (stream,&idxf,LONGT, ^ == mix.c:1085:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Can't locate mix message file %.08lx", ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1087:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1096:30: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mix_file_data (LOCAL->buf,stream->mailbox,cur->fileno) && ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:1098:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] truncate (LOCAL->buf,0) : unlink (LOCAL->buf))) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:447:27: note: passing argument to parameter here int truncate(const char *, __off_t); ^ mix.c:1098:43: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] truncate (LOCAL->buf,0) : unlink (LOCAL->buf))) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/unistd.h:370:25: note: passing argument to parameter here int unlink(const char *); ^ mix.c:1099:17: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1102:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1114:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mix.c:1114:13: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mix.c:1114:13: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mix.c:1123:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = mix_index_update (stream,idxf,NIL)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1123:15: note: place parentheses around the assignment to silence this warning if (ret = mix_index_update (stream,idxf,NIL)) { ^ ( ) mix.c:1123:15: note: use '==' to turn this assignment into an equality comparison if (ret = mix_index_update (stream,idxf,NIL)) { ^ == mix.c:1135:26: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (nexp) sprintf (s = LOCAL->buf,"Expunged %lu messages",nexp); ^ ~~~~~~~~~~ mix.c:1137:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (s=LOCAL->buf,"Reclaimed %lu bytes of expunged space",reclaimed); ^~~~~~~~~~~ mix.c:1157:23: warning: passing 'const char[256]' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] if (mix_dirfmttest (name->d_name)) { ^~~~~~~~~~~~ mix.c:285:28: note: passing argument to parameter 'name' here long mix_dirfmttest (char *name) ^ mix.c:1158:18: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] for (c = *(s = name->d_name + sizeof (MIXNAME) - 1); c && isxdigit (c); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1174:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *n1 = (*d1)->d_name + sizeof (MIXNAME) - 1; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1175:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *n2 = (*d2)->d_name + sizeof (MIXNAME) - 1; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1227:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mix_file_data (LOCAL->buf,stream->mailbox,burp->fileno); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:1231:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stat (LOCAL->buf,&sbuf)) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/sys/stat.h:394:33: note: passing argument to parameter here int stat(const char * __restrict, struct stat * __restrict); ^ mix.c:1232:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,staterr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1233:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1236:54: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mix_burp_check (&burp->set,sbuf.st_size,LOCAL->buf)) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:145:55: note: passing argument to parameter 'file' here long mix_burp_check (SEARCHSET *set,size_t size,char *file); ^ mix.c:1240:33: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (ret = !truncate (LOCAL->buf,burp->set.last)) ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:447:27: note: passing argument to parameter here int truncate(const char *, __off_t); ^ mix.c:1240:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (ret = !truncate (LOCAL->buf,burp->set.last)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1240:20: note: place parentheses around the assignment to silence this warning else if (ret = !truncate (LOCAL->buf,burp->set.last)) ^ ( ) mix.c:1240:20: note: use '==' to turn this assignment into an equality comparison else if (ret = !truncate (LOCAL->buf,burp->set.last)) ^ == mix.c:1243:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,truncerr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1244:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1249:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (((fd = open (LOCAL->buf,O_RDWR,NIL)) < 0) || ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/fcntl.h:377:22: note: passing argument to parameter here int open(const char *, int, ...); ^ mix.c:1251:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Error opening mix message file %.80s: %.80s", ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1253:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1257:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,staterr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1258:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1263:52: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (mix_burp_check (&burp->set,sbuf.st_size,LOCAL->buf)) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:145:55: note: passing argument to parameter 'file' here long mix_burp_check (SEARCHSET *set,size_t size,char *file); ^ mix.c:1268:13: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] strncmp (LOCAL->buf,MSGTOK,MSGTSZ)) { ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:111:26: note: passing argument to parameter here int strncmp(const char *, const char *, size_t) __pure; ^ mix.c:1269:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,"Bad message token in mix message file at %lu", ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1271:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1311:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,truncerr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1312:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1344:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (set = set->next); ~~~~^~~~~~~~~~~ mix.c:1344:16: note: place parentheses around the assignment to silence this warning } while (set = set->next); ^ ( ) mix.c:1344:16: note: use '==' to turn this assignment into an equality comparison } while (set = set->next); ^ == mix.c:1361:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] long ret = mix_isvalid (mailbox,LOCAL->buf); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:234:36: note: passing argument to parameter 'meta' here long mix_isvalid (char *name,char *meta) ^ mix.c:1379:68: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (!(ret = ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1763:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1380:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_sequence (stream,sequence)))); ^~~~~~~~ ./mail.h:1762:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1382:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1382:16: note: place parentheses around the assignment to silence this warning else if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ ( mix.c:1382:16: note: use '==' to turn this assignment into an equality comparison else if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ == mix.c:1397:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (local->buf,MSRFMT,MSGTOK,(unsigned long) 0,0,0,0,0,0,0,'+',0,0, ^~~~~~~~~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1399:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] hdrsize = strlen (local->buf); ^~~~~~~~~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mix.c:1408:43: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ^~~~~ mix.c:157:55: note: passing argument to parameter 'size' here FILE *mix_data_open (MAILSTREAM *stream,int *fd,long *size, ^ mix.c:1408:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1408:14: note: place parentheses around the assignment to silence this warning if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ^ ( ) mix.c:1408:14: note: use '==' to turn this assignment into an equality comparison if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ^ == mix.c:1420:47: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((LOCAL->msgfd = open (mix_file_data (LOCAL->buf, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:1432:14: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mix.c:1437:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = elt->user_flags) do ~~^~~~~~~~~~~~~~~~~ mix.c:1437:12: note: place parentheses around the assignment to silence this warning if (j = elt->user_flags) do ^ ( ) mix.c:1437:12: note: use '==' to turn this assignment into an equality comparison if (j = elt->user_flags) do ^ == mix.c:1460:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (mix_meta_update (astream) && ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1460:10: note: place parentheses around the assignment to silence this warning if (ret = (mix_meta_update (astream) && ^ ( mix.c:1460:10: note: use '==' to turn this assignment into an equality comparison if (ret = (mix_meta_update (astream) && ^ == mix.c:1524:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret = compare_cstring (mailbox,"INBOX") ? ^~~~~~~ ./misc.h:106:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:1524:40: warning: passing 'char[6]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (ret = compare_cstring (mailbox,"INBOX") ? ^~~~~~~ ./misc.h:106:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:1524:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = compare_cstring (mailbox,"INBOX") ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1524:13: note: place parentheses around the assignment to silence this warning if (ret = compare_cstring (mailbox,"INBOX") ? ^ ( mix.c:1524:13: note: use '==' to turn this assignment into an equality comparison if (ret = compare_cstring (mailbox,"INBOX") ? ^ == mix.c:1541:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1541:13: note: place parentheses around the assignment to silence this warning if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ ( mix.c:1541:13: note: use '==' to turn this assignment into an equality comparison if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ == mix.c:1555:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (local->buf,MSRFMT,MSGTOK,(unsigned long) 0,0,0,0,0,0,0,'+',0,0, ^~~~~~~~~~ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:1557:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] hdrsize = strlen (local->buf); ^~~~~~~~~~ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mix.c:1561:45: warning: passing 'unsigned long *' to parameter of type 'long *' converts between pointers to integer types with different sign [-Wpointer-sign] if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ^~~~~ mix.c:157:55: note: passing argument to parameter 'size' here FILE *mix_data_open (MAILSTREAM *stream,int *fd,long *size, ^ mix.c:1561:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1561:16: note: place parentheses around the assignment to silence this warning if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ^ ( ) mix.c:1561:16: note: use '==' to turn this assignment into an equality comparison if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ^ == mix.c:1569:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] else if (date && !(ret = mail_parse_date (&elt,date))) { ^~~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mix.c:1576:30: warning: passing 'char[1024]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] mail_parse_date (&elt,tmp); ^~~ ./mail.h:1696:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mix.c:1750:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (s = mix_meta_slurp (stream,&i)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1750:14: note: place parentheses around the assignment to silence this warning else if (s = mix_meta_slurp (stream,&i)) { ^ ( ) mix.c:1750:14: note: use '==' to turn this assignment into an equality comparison else if (s = mix_meta_slurp (stream,&i)) { ^ == mix.c:1757:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strstr (t = s,"\015\012")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1757:8: note: place parentheses around the assignment to silence this warning if (s = strstr (t = s,"\015\012")) { ^ ( ) mix.c:1757:8: note: use '==' to turn this assignment into an equality comparison if (s = strstr (t = s,"\015\012")) { ^ == mix.c:1786:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (k = t,' ')) *t++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~ mix.c:1786:14: note: place parentheses around the assignment to silence this warning if (t = strchr (k = t,' ')) *t++ = '\0'; ^ ( ) mix.c:1786:14: note: use '==' to turn this assignment into an equality comparison if (t = strchr (k = t,' ')) *t++ = '\0'; ^ == mix.c:1831:42: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((s = mix_read_record (*idxf,LOCAL->buf,LOCAL->buflen,"index")) && ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:161:38: note: passing argument to parameter 'buf' here char *mix_read_record (FILE *f,char *buf,unsigned long buflen,char *type); ^ mix.c:1973:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if (stat (mix_file_data (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:2055:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:2058:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1605:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:2068:43: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((t = s = mix_read_record (statf,LOCAL->buf,LOCAL->buflen, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:161:38: note: passing argument to parameter 'buf' here char *mix_read_record (FILE *f,char *buf,unsigned long buflen,char *type); ^ mix.c:2164:16: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = sbuf.st_size) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:2169:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (read (LOCAL->mfd,s = LOCAL->buf,sbuf.st_size) != sbuf.st_size)) ^ ~~~~~~~~~~ mix.c:2204:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf,SEQFMT,LOCAL->metaseq = mix_modseq (LOCAL->metaseq)); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:2205:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf),MTAFMT, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mix.c:2205:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf),MTAFMT, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:285:31: note: passing argument to parameter here int sprintf(char * __restrict, const char * __restrict, ...); ^ mix.c:2207:56: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (i = 0, c = 'K', s = ss = LOCAL->buf + strlen (LOCAL->buf); ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:100:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ mix.c:2208:26: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (i < NUSERFLAGS) && (t = stream->user_flags[i]); ++i) { ^ ~~~~~~~~~~~~~~~~~~~~~ mix.c:2222:30: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] ret = (write (LOCAL->mfd,LOCAL->buf,i) == i) ? LONGT : NIL; ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./env_unix.h:86:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mix.c:2417:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] if ((*fd = open (mix_file_data (LOCAL->buf,stream->mailbox,LOCAL->newmsg), ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:2434:7: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:2458:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msgf = fdopen (*fd,"r+b")) fseek (msgf,*size,SEEK_SET); ~~~~~^~~~~~~~~~~~~~~~~~~~ mix.c:2458:14: note: place parentheses around the assignment to silence this warning if (msgf = fdopen (*fd,"r+b")) fseek (msgf,*size,SEEK_SET); ^ ( ) mix.c:2458:14: note: use '==' to turn this assignment into an equality comparison if (msgf = fdopen (*fd,"r+b")) fseek (msgf,*size,SEEK_SET); ^ == mix.c:2499:44: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] while ((s = t = mix_read_record (srtcf,LOCAL->buf,LOCAL->buflen, ^~~~~~~~~~ mix.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:161:38: note: passing argument to parameter 'buf' here char *mix_read_record (FILE *f,char *buf,unsigned long buflen,char *type); ^ mix.c:2522:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = mail_msgno (stream,uid)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:2522:15: note: place parentheses around the assignment to silence this warning if (i = mail_msgno (stream,uid)) { ^ ( ) mix.c:2522:15: note: use '==' to turn this assignment into an equality comparison if (i = mail_msgno (stream,uid)) { ^ == mix.c:2598:21: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] LOCAL->buf = (char *) ^ ~~~~~~~~ mix.c:2610:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] for (s = LOCAL->buf,sl = NIL, ^ ~~~~~~~~~~ mix.c:2618:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] sl->text.data = cpystr (s); ^ ~~~~~~~~~~ mix.c:2701:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (sl = s->references) /* count length of references */ ~~~^~~~~~~~~~~~~~~ mix.c:2701:9: note: place parentheses around the assignment to silence this warning if (sl = s->references) /* count length of references */ ^ ( ) mix.c:2701:9: note: use '==' to turn this assignment into an equality comparison if (sl = s->references) /* count length of references */ ^ == mix.c:2756:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (buf,'\012')) { ~~^~~~~~~~~~~~~~~~~~~~~ mix.c:2756:11: note: place parentheses around the assignment to silence this warning if (s = strchr (buf,'\012')) { ^ ( ) mix.c:2756:11: note: use '==' to turn this assignment into an equality comparison if (s = strchr (buf,'\012')) { ^ == 119 warnings generated. `cat CCTYPE` -shared -Wl,-soname,`cat SHLIBNAME` -o `cat SHLIBNAME` osdep.so mail.so misc.so newsrc.so smanager.so utf8.so utf8aux.so siglocal.so dummy.so pseudo.so netmsg.so flstring.so fdstring.so rfc822.so nntp.so smtp.so imap4r1.so pop3.so unix.so mbx.so mmdf.so tenex.so mtx.so news.so phile.so mh.so mx.so mix.so `cat LDFLAGS` ln -fs `cat SHLIBNAME` libc-client.so `cat CCTYPE` -shared -Wl,-soname,`cat SHLIBNAME` -o `cat SHLIBNAME` osdep.so mail.so misc.so newsrc.so smanager.so utf8.so utf8aux.so siglocal.so dummy.so pseudo.so netmsg.so flstring.so fdstring.so rfc822.so nntp.so smtp.so imap4r1.so pop3.so unix.so mbx.so mmdf.so tenex.so mtx.so news.so phile.so mh.so mx.so mix.so `cat LDFLAGS` ln -fs `cat SHLIBNAME` libc-client.so echo bsf > OSTYPE touch rebuild sh -c 'rm -rf rebuild || true' =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> Staging for panda-cclient-20130621_3 ===> Generating temporary packing list /bin/mkdir -p /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/c-client.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/dummy.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/env.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/env_unix.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/fdstring.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/flockcyg.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/flocksim.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/flstring.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/fs.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/ftl.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/imap4r1.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/linkage.c /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/linkage.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/mail.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/misc.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/netmsg.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/newsrc.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/nl.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/nntp.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/osdep.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/pseudo.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/rfc822.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/smtp.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/sslio.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/tcp.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/tcp_unix.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/unix.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/utf8.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/utf8aux.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -s -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/libc-client.so.2010 /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/lib /bin/ln -sf libc-client.so.2010 /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/lib/libc-client.so install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/c-client.a /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/lib/libc-client.a install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/CFLAGS /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/LDFLAGS /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/panda-imap-3452f1598a8b4eeb44b38aead1c1598e379b05de/c-client/OSCFLAGS /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client install -m 0644 /wrkdirs/usr/ports/mail/panda-cclient/work/portrevision.h /wrkdirs/usr/ports/mail/panda-cclient/work/stage/usr/local/include/c-client ====> Compressing man pages (compress-man) =========================================================================== =================================================== ===== env: 'PKG_NOTES=build_timestamp ports_top_git_hash ports_top_checkout_unclean port_git_hash port_checkout_unclean built_by' 'PKG_NOTE_build_timestamp=2024-04-09T02:13:13+0000' 'PKG_NOTE_ports_top_git_hash=3d100fcffcd' 'PKG_NOTE_ports_top_checkout_unclean=yes' 'PKG_NOTE_port_git_hash=7c711691b37' 'PKG_NOTE_port_checkout_unclean=no' 'PKG_NOTE_built_by=poudriere-git-3.4.99.20240122_1' NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> Building packages for panda-cclient-20130621_3 ===> Building panda-cclient-20130621_3 =========================================================================== =>> Cleaning up wrkdir ===> Cleaning for panda-cclient-20130621_3 build of mail/panda-cclient | panda-cclient-20130621_3 ended at Tue Apr 9 04:15:35 CEST 2024 build time: 00:02:23