******************************************************************************** conan install c-client/2007f@ --build=c-client --profile=/home/conan/w/BuildSingleReference/73362/eb84d4d7-8663-41a7-a9cb-5bb4b287496f/profile.txt ******************************************************************************** Auto detecting your dev setup to initialize the default profile (/home/conan/w/BuildSingleReference/.conan/profiles/default) CC and CXX: clang, clang++ Found clang 11.1 clang>=8, using the major as version Default settings os=Linux os_build=Linux arch=x86_64 arch_build=x86_64 compiler=clang compiler.version=11 compiler.libcxx=libstdc++ build_type=Release *** You can change them in /home/conan/w/BuildSingleReference/.conan/profiles/default *** *** Or override with -s compiler='other' -s ...s*** Configuration: [settings] arch=x86_64 build_type=Debug compiler=clang compiler.libcxx=libstdc++ compiler.version=11 os=Linux [options] [build_requires] [env] openssl/1.1.1m: Not found in local cache, looking in remotes... openssl/1.1.1m: Trying with 'conan-center'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz openssl/1.1.1m: Downloaded recipe revision 18c0b6de6e23449e8c862a20d8dc4e87 c-client/2007f: Forced build from source Installing package: c-client/2007f Requirements c-client/2007f from local cache - Cache openssl/1.1.1m from 'conan-center' - Downloaded Packages c-client/2007f:acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb - Build openssl/1.1.1m:05441c20e7e7a68951563eb6a1ae544f71dd7263 - Download Installing (downloading, building) binaries... openssl/1.1.1m: Retrieving package 05441c20e7e7a68951563eb6a1ae544f71dd7263 from remote 'conan-center' Downloading conanmanifest.txt Downloading conaninfo.txt Downloading conan_package.tgz openssl/1.1.1m: Package installed 05441c20e7e7a68951563eb6a1ae544f71dd7263 openssl/1.1.1m: Downloaded package revision 718cbfd2782d5b8f28d1dce05a76960c [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK [HOOK - conan-center.py] post_package_info(): [LIBRARY DOES NOT EXIST (KB-H054)] OK [HOOK - conan-center.py] pre_source(): [IMMUTABLE SOURCES (KB-H010)] OK c-client/2007f: Configuring sources in /home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/source Unzipping 8.1MB, this can take a while [HOOK - conan-center.py] post_source(): [LIBCXX MANAGEMENT (KB-H011)] OK [HOOK - conan-center.py] post_source(): [CPPSTD MANAGEMENT (KB-H022)] OK c-client/2007f: Copying sources to build folder c-client/2007f: Building your package in /home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb c-client/2007f: Generator txt created conanbuildinfo.txt c-client/2007f: Aggregating env generators [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] OK. 'fPIC' option found and apparently well managed [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] OK c-client/2007f: Calling build() ----Running------ > make slx 'IP=6' -j3 ----------------- make[1]: Entering directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb' +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Building in full compliance with RFC 3501 security + requirements: ++ TLS/SSL encryption is supported ++ Unencrypted plaintext passwords are prohibited +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ make[1]: Leaving directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb' 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 . make build EXTRACFLAGS='' EXTRALDFLAGS='' EXTRADRIVERS='mbox' EXTRAAUTHENTICATORS='' PASSWDTYPE=std SSLTYPE=nopwd IP=6 EXTRASPECIALS='' BUILDTYPE=slx make[1]: Entering directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb' make[2]: Entering directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb' make[2]: 'ip6' is up to date. make[2]: Leaving directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb' Building c-client for slx... echo `cat SPECIALS` > c-client/SPECIALS cd c-client;make slx EXTRACFLAGS=''\ EXTRALDFLAGS=''\ EXTRADRIVERS='mbox'\ EXTRAAUTHENTICATORS=''\ PASSWDTYPE=std SSLTYPE=nopwd IP=6\ make[2]: Entering directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb/c-client' You are building for libc6/glibc versions of Secure Linux If you want libc5 versions you must use sl5 instead! If you want libc4 versions you must use sl4 instead! make build EXTRACFLAGS='' EXTRALDFLAGS='' EXTRADRIVERS='mbox' EXTRAAUTHENTICATORS='' PASSWDTYPE=std SSLTYPE=nopwd IP=6 `cat SPECIALS` OS=slx \ SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \ SPOOLDIR=/var/spool \ ACTIVEFILE=/var/lib/news/active \ RSHPATH=/usr/bin/rsh \ BASECFLAGS="-g -O2 -pipe -fno-omit-frame-pointer" \ BASELDFLAGS="-lcrypt" make[3]: Entering directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb/c-client' sh -c 'rm -rf auths.c crexcl.c ip_unix.c linkage.[ch] siglocal.c osdep*.[ch] *.o ARCHIVE *FLAGS *TYPE libc-client.a || true' Once-only environment setup... echo cc > CCTYPE echo -g -O2 -pipe -fno-omit-frame-pointer '' -DCHUNKSIZE=65536 > CFLAGS echo -DCREATEPROTO=unixproto -DEMPTYPROTO=unixproto \ -DMD5ENABLE=\"/etc/cram-md5.pwd\" -DMAILSPOOL=\"/var/spool/mail\" \ -DANONYMOUSHOME=\"/var/spool/mail/anonymous\" \ -DACTIVEFILE=\"/var/lib/news/active\" -DNEWSSPOOL=\"/var/spool/news\" \ -DRSHPATH=\"/usr/bin/rsh\" -DLOCKPGM=\"\" \ -DLOCKPGM1=\"/usr/libexec/mlock\" -DLOCKPGM2=\"/usr/sbin/mlock\" \ -DLOCKPGM3=\"/etc/mlock\" > OSCFLAGS echo -lcrypt > LDFLAGS echo "ar rc libc-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 libc-client.a" > ARCHIVE echo slx > 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_slx.h osdep.h ln -s os_slx.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 slx = sc5 || test slx = sco || test ! -f /usr/include/sys/statvfs.h) && echo -DNOFSTATVFS >> OSCFLAGS || fgrep statvfs64 /usr/include/sys/statvfs.h > /dev/null || echo -DNOFSTATVFS64 >> OSCFLAGS' Standard password authentication ln -s ckp_psx.c osdepckp.c Building with SSL ln -s ssl_unix.c osdepssl.c echo -I/home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include -I/home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl -DSSL_CERT_DIRECTORY=\"/home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/certs\" -DSSL_KEY_DIRECTORY=\"/home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/certs\" >> OSCFLAGS echo " ssl_onceonlyinit ();" >> linkage.c echo -L/home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/lib -lssl -lcrypto >> 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 cc -fPIC -DPIC -D_REENTRANT `cat CFLAGS` `cat OSCFLAGS` -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 slx SSLTYPE=none ======================================================================== cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` mail.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` misc.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` newsrc.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` smanager.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` utf8.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` utf8aux.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` siglocal.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` dummy.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` pseudo.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` netmsg.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` flstring.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` fdstring.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` rfc822.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` nntp.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` smtp.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` imap4r1.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` pop3.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` unix.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` mbx.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` mmdf.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` tenex.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` mtx.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` news.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` phile.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` mh.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` mx.c cc -fPIC -DPIC -D_REENTRANT -c `cat CFLAGS` mix.c sh -c 'rm -rf libc-client.a || true' ar rc libc-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 libc-client.a make[3]: Leaving directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb/c-client' make[2]: Leaving directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb/c-client' echo slx > OSTYPE touch rebuild sh -c 'rm -rf rebuild || true' make[1]: Leaving directory '/home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb' c-client/2007f: Package 'acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb' built c-client/2007f: Build folder /home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/build/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb c-client/2007f: Generated conaninfo.txt c-client/2007f: Generated conanbuildinfo.txt c-client/2007f: Generating the package c-client/2007f: Package folder /home/conan/w/BuildSingleReference/.conan/data/c-client/2007f/_/_/package/acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb c-client/2007f: Calling package() [HOOK - conan-center.py] post_package(): [PACKAGE LICENSE (KB-H012)] OK [HOOK - conan-center.py] post_package(): [DEFAULT PACKAGE LAYOUT (KB-H013)] OK [HOOK - conan-center.py] post_package(): [MATCHING CONFIGURATION (KB-H014)] OK [HOOK - conan-center.py] post_package(): [SHARED ARTIFACTS (KB-H015)] OK [HOOK - conan-center.py] post_package(): [PC-FILES (KB-H020)] OK [HOOK - conan-center.py] post_package(): [CMAKE-MODULES-CONFIG-FILES (KB-H016)] OK [HOOK - conan-center.py] post_package(): [PDB FILES NOT ALLOWED (KB-H017)] OK [HOOK - conan-center.py] post_package(): [LIBTOOL FILES PRESENCE (KB-H018)] OK [HOOK - conan-center.py] post_package(): [MS RUNTIME FILES (KB-H021)] OK c-client/2007f package(): Packaged 1 '.txt' file: LICENSE.txt c-client/2007f package(): Packaged 74 '.h' files c-client/2007f package(): Packaged 1 '.a' file: libc-client.a c-client/2007f: Package 'acdde5c2fc8bdaacfce478c57c9cc447d95f7ffb' created c-client/2007f: Created package revision 81732f98887d2eda0bc5e556b0272d64 [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK [HOOK - conan-center.py] post_package_info(): [LIBRARY DOES NOT EXIST (KB-H054)] OK Aggregating env generators make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. In file included from osdep.c:31: In file included from ./osdep.h:43: In file included from /usr/include/stdlib.h:25: In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33: /usr/include/features.h:184:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" ^ In file included from osdep.c:50: ./nl_unix.c:49:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!*dst) *dst = (char *) fs_get ((*dstl = i) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from osdep.c:51: In file included from ./env_unix.c:256: ./pmatch.c:41:43: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!pat[1]) return (delim && strchr (s,delim)) ? NIL : T; ^ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ In file included from osdep.c:51: In file included from ./env_unix.c:260: 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:51: In file included from ./env_unix.c:260: In file included from ./auths.c:2: ./auth_md5.c:105:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) { ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:105:17: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) { ^ ( ) ./auth_md5.c:105:17: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) { ^ == ./auth_md5.c:120:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (challenge = (*challenger) (stream,&clen)) ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:120:16: note: place parentheses around the assignment to silence this warning if (challenge = (*challenger) (stream,&clen)) ^ ( ) ./auth_md5.c:120:16: note: use '==' to turn this assignment into an equality comparison if (challenge = (*challenger) (stream,&clen)) ^ == ./auth_md5.c:155: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:155:12: note: place parentheses around the assignment to silence this warning if (user = (*responder) (chal,cl = strlen (chal),NIL)) { ^ ( ) ./auth_md5.c:155:12: note: use '==' to turn this assignment into an equality comparison if (user = (*responder) (chal,cl = strlen (chal),NIL)) { ^ == ./auth_md5.c:157:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (hash = strrchr (user,' ')) { ~~~~~^~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:157:14: note: place parentheses around the assignment to silence this warning if (hash = strrchr (user,' ')) { ^ ( ) ./auth_md5.c:157:14: note: use '==' to turn this assignment into an equality comparison if (hash = strrchr (user,' ')) { ^ == ./auth_md5.c:160:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (authuser = strchr (user,'*')) *authuser++ = '\0'; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ./auth_md5.c:160:20: note: place parentheses around the assignment to silence this warning if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ ( ) ./auth_md5.c:160:20: note: use '==' to turn this assignment into an equality comparison if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ == ./auth_md5.c:162: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:162:13: note: place parentheses around the assignment to silence this warning if (p = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ ( ) ./auth_md5.c:162:13: note: use '==' to turn this assignment into an equality comparison if (p = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ == ./auth_md5.c:195:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] read (fd,buf = (char *) fs_get (sbuf.st_size + 1),sbuf.st_size); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:197:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (s = user; *s && ((*s < 'A') || (*s > 'Z')); s++); ^ ~~~~ ./auth_md5.c:199:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] lusr = *s ? lcase (cpystr (user)) : NIL; ^~~~~~~~~~~~~ ./misc.h:87:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:51: In file included from ./env_unix.c:260: In file included from ./auths.c:2: ./auth_md5.c:200:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (s = strtok_r ((char *) buf,"\015\012",&r),lret = NIL; s; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:201:5: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] s = ret ? NIL : strtok_r (NIL,"\015\012",&r)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./auth_md5.c:203:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (*s && (*s != '#') && (t = strchr (s,'\t')) && t[1]) { ^ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ In file included from osdep.c:51: In file included from ./env_unix.c:260: In file included from ./auths.c:2: ./auth_md5.c:203:35: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (*s && (*s != '#') && (t = strchr (s,'\t')) && t[1]) { ^ ~~~~~~~~~~~~~~~ ./auth_md5.c:205:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (s,user)) ret = cpystr (t); ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ In file included from osdep.c:51: In file included from ./env_unix.c:260: In file included from ./auths.c:2: ./auth_md5.c:205:38: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (s,user)) ret = cpystr (t); ^ ./misc.h:88:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ In file included from osdep.c:51: In file included from ./env_unix.c:260: In file included from ./auths.c:2: ./auth_md5.c:206:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (lusr && !lret) if (!strcmp (s,lusr)) lret = t; ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ In file included from osdep.c:51: In file included from ./env_unix.c:260: In file included from ./auths.c:2: ./auth_md5.c:206:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (lusr && !lret) if (!strcmp (s,lusr)) lret = t; ^~~~ /usr/include/string.h:136:50: note: passing argument to parameter '__s2' here extern int strcmp (const char *__s1, const char *__s2) ^ In file included from osdep.c:51: In file included from ./env_unix.c:260: In file included from ./auths.c:2: ./auth_md5.c:209:37: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!ret && lret) ret = cpystr (lret); ^~~~ ./misc.h:88:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ In file included from osdep.c:51: In file included from ./env_unix.c:260: In file included from ./auths.c:2: ./auth_md5.c:238:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (authuser = strchr (user,'*')) *authuser++ = '\0'; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ./auth_md5.c:238:16: note: place parentheses around the assignment to silence this warning if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ ( ) ./auth_md5.c:238:16: note: use '==' to turn this assignment into an equality comparison if (authuser = strchr (user,'*')) *authuser++ = '\0'; ^ == ./auth_md5.c:240: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:240:9: note: place parentheses around the assignment to silence this warning if (s = auth_md5_pwd ((authuser && *authuser) ? authuser : user)) { ^ ( ) ./auth_md5.c:240: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:51: In file included from ./env_unix.c:260: 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:51: In file included from ./env_unix.c:260: 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:51: ./env_unix.c:514:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (julian = t->tm_yday -julian) ~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./env_unix.c:514:14: note: place parentheses around the assignment to silence this warning if (julian = t->tm_yday -julian) ^ ( ) ./env_unix.c:514:14: note: use '==' to turn this assignment into an equality comparison if (julian = t->tm_yday -julian) ^ == ./env_unix.c:641:33: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] struct passwd *pw = getpwnam (user); ^~~~ /usr/include/pwd.h:115:45: note: passing argument to parameter '__name' here extern struct passwd *getpwnam (const char *__name) __nonnull ((1)); ^ In file included from osdep.c:51: ./env_unix.c:645:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] pw = getpwnam (s = lcase (cpystr (user))); ^~~~ ./misc.h:88:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ In file included from osdep.c:51: ./env_unix.c:645:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] pw = getpwnam (s = lcase (cpystr (user))); ^~~~~~~~~~~~~ ./misc.h:87:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:51: ./env_unix.c:645:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] pw = getpwnam (s = lcase (cpystr (user))); ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/pwd.h:115:45: note: passing argument to parameter '__name' here extern struct passwd *getpwnam (const char *__name) __nonnull ((1)); ^ In file included from osdep.c:51: ./env_unix.c:669:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = auth_md5_pwd (user)) { ~~^~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:669:11: note: place parentheses around the assignment to silence this warning if (s = auth_md5_pwd (user)) { ^ ( ) ./env_unix.c:669:11: note: use '==' to turn this assignment into an equality comparison if (s = auth_md5_pwd (user)) { ^ == ./env_unix.c:671:16: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = pwuser (user); /* validated, get passwd entry for user */ ^~~~ ./env_unix.c:638:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:676:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (pw = pwuser (user)) {/* can get user? */ ^~~~ ./env_unix.c:638:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:676: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:676:15: note: place parentheses around the assignment to silence this warning else if (pw = pwuser (user)) {/* can get user? */ ^ ( ) ./env_unix.c:676:15: note: use '==' to turn this assignment into an equality comparison else if (pw = pwuser (user)) {/* can get user? */ ^ == ./env_unix.c:679:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (*pwd == ' ') && pwd[1] && (ret = pwuser (s))) ^ ./env_unix.c:638:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:710:58: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (valpwd (authuser,pwd,argc,argv)) pw = pwuser (user); ^~~~ ./env_unix.c:638:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:728:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] return pw_login (pwuser (user),authuser,user,NIL,argc,argv); ^~~~ ./env_unix.c:638:46: note: passing argument to parameter 'user' here static struct passwd *pwuser (unsigned char *user) ^ ./env_unix.c:767:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (user && auser && *auser && compare_cstring (auser,user)) { ^~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:767:59: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (user && auser && *auser && compare_cstring (auser,user)) { ^~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:770:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (auser,*t++)) ^~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:770:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (auser,*t++)) ^~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1057:47: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (dst,"%s/%s",s,compare_cstring (name+8,"INBOX") ? ^~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1057:54: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (dst,"%s/%s",s,compare_cstring (name+8,"INBOX") ? ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1067:63: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if ((s = strchr (name+1,'/')) && !compare_cstring (s+1,"INBOX")) { ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1067:67: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if ((s = strchr (name+1,'/')) && !compare_cstring (s+1,"INBOX")) { ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1087:55: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((s = strchr (name,'/')) && compare_cstring (s+1,"INBOX")) { ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1087:59: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((s = strchr (name,'/')) && compare_cstring (s+1,"INBOX")) { ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1101:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (name,"INBOX")) name = "INBOX"; ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1101:29: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (name,"INBOX")) name = "INBOX"; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1115:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (name+1,"NBOX")) { ^~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1115:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (name+1,"NBOX")) { ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1251:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (base->lock,'/')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:1251:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (base->lock,'/')) { ^ ( ) ./env_unix.c:1251:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (base->lock,'/')) { ^ == ./env_unix.c:1374:27: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (op & LOCK_NB) i = flock (fd,op); ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ In file included from osdep.c:51: ./env_unix.c:1429:8: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (!flock (fd,LOCK_EX|LOCK_NB)) unlink (lock); ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ In file included from osdep.c:51: ./env_unix.c:1565:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set keywords") && !userFlags[0]) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1565:31: warning: passing 'char [13]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set keywords") && !userFlags[0]) { ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1579:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set new-mailbox-format") || ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1579:28: warning: passing 'char [23]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set new-mailbox-format") || ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1580:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"set new-folder-format")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1580:28: warning: passing 'char [22]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"set new-folder-format")) { ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1581:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (k,"same-as-inbox")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1581:30: warning: passing 'char [14]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (k,"same-as-inbox")) { ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1582:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (d = mail_valid (NIL,"INBOX",NIL)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./env_unix.c:1582:14: note: place parentheses around the assignment to silence this warning if (d = mail_valid (NIL,"INBOX",NIL)) { ^ ( ) ./env_unix.c:1582:14: note: use '==' to turn this assignment into an equality comparison if (d = mail_valid (NIL,"INBOX",NIL)) { ^ == ./env_unix.c:1583:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (d->name,"mbox")) ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1583:33: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (d->name,"mbox")) ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1586:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (d->name,"dummy")) d = NIL; ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1586:38: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (d->name,"dummy")) d = NIL; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1590:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1590:35: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1593:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (k,"mbox")) k = "unix"; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1593:32: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (k,"mbox")) k = "unix"; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1595: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:1595:14: note: place parentheses around the assignment to silence this warning if (d = (DRIVER *) mail_parameters (NIL,GET_DRIVER,(void *) k)) ^ ( ) ./env_unix.c:1595:14: note: use '==' to turn this assignment into an equality comparison if (d = (DRIVER *) mail_parameters (NIL,GET_DRIVER,(void *) k)) ^ == ./env_unix.c:1604:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set empty-mailbox-format") || ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1604:28: warning: passing 'char [25]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set empty-mailbox-format") || ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1605:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"set empty-folder-format")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1605:28: warning: passing 'char [24]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"set empty-folder-format")) { ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1606:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (k,"invalid")) appendProto = NIL; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1606:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (k,"invalid")) appendProto = NIL; ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1607:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"same-as-inbox")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1607:35: warning: passing 'char [14]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"same-as-inbox")) ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1609:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (d->name,"dummy")) ? ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1609:34: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (d->name,"dummy")) ? ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1611:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1611:35: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"system-standard")) ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1615:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] d && compare_cstring (d->name,k); d = d->next); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1615:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] d && compare_cstring (d->name,k); d = d->next); ^ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1626:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set local-host")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1626:26: warning: passing 'char [15]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set local-host")) { ^~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1630:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set news-active-file")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1630:31: warning: passing 'char [21]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set news-active-file")) { ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1634:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set news-spool-directory")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1634:31: warning: passing 'char [25]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set news-spool-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1638:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set mh-path")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1638:31: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set mh-path")) ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1640:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set mh-allow-inbox")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1640:31: warning: passing 'char [19]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set mh-allow-inbox")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1642:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set news-state-file")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1642:31: warning: passing 'char [20]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set news-state-file")) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1646:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-export-directory")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1646:31: warning: passing 'char [25]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-export-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1650:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set public-home-directory")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1650:31: warning: passing 'char [26]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set public-home-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1654:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set shared-home-directory")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1654:31: warning: passing 'char [26]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set shared-home-directory")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1658:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set system-inbox")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1658:31: warning: passing 'char [17]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set system-inbox")) { ^~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1662:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set mail-subdirectory")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1662:31: warning: passing 'char [22]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set mail-subdirectory")) { ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1666:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set from-widget")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1666:31: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set from-widget")) ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1668:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (k,"header-only") ? ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1668:26: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (k,"header-only") ? ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1671:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-command")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1671:31: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-command")) ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1673:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-path")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1673:31: warning: passing 'char [13]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-path")) ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1675:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-command")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1675:31: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-command")) ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1677:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-path")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1677:31: warning: passing 'char [13]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-path")) ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1679:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-open-timeout")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1679:31: warning: passing 'char [21]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-open-timeout")) ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1681:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-read-timeout")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1681:31: warning: passing 'char [21]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-read-timeout")) ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1683:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-write-timeout")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1683:31: warning: passing 'char [22]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set tcp-write-timeout")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1685:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-timeout")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1685:31: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set rsh-timeout")) ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1687:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-timeout")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1687:31: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ssh-timeout")) ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1689:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set maximum-login-trials")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1689:31: warning: passing 'char [25]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set maximum-login-trials")) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1691:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set lookahead")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1691:31: warning: passing 'char [14]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set lookahead")) ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1693:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set prefetch")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1693:31: warning: passing 'char [13]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set prefetch")) ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1695:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set close-on-error")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1695:31: warning: passing 'char [19]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set close-on-error")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1697:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set imap-port")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1697:31: warning: passing 'char [14]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set imap-port")) ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1699:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set pop3-port")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1699:31: warning: passing 'char [14]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set pop3-port")) ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1701:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set uid-lookahead")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1701:31: warning: passing 'char [18]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set uid-lookahead")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1703:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set try-ssl-first")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1703:31: warning: passing 'char [18]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set try-ssl-first")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1706:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set mailbox-protection")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1706:31: warning: passing 'char [23]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set mailbox-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1708:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set directory-protection")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1708:31: warning: passing 'char [25]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1710:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set lock-protection")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1710:31: warning: passing 'char [20]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set lock-protection")) ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1712:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-protection")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1712:31: warning: passing 'char [19]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-protection")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1714:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set public-protection")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1714:31: warning: passing 'char [22]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set public-protection")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1716:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set shared-protection")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1716:31: warning: passing 'char [22]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set shared-protection")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1718:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-directory-protection")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1718:31: warning: passing 'char [29]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set ftp-directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1720:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set public-directory-protection")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1720:31: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set public-directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1722:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set shared-directory-protection")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1722:31: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set shared-directory-protection")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1724:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set dot-lock-file-timeout")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1724:31: warning: passing 'char [26]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set dot-lock-file-timeout")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1726:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set disable-fcntl-locking")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1726:31: warning: passing 'char [26]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set disable-fcntl-locking")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1728:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set disable-lock-warning")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1728:31: warning: passing 'char [25]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set disable-lock-warning")) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1730:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set disable-unix-UIDs-and-keywords")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1730:31: warning: passing 'char [35]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set disable-unix-UIDs-and-keywords")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1732:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set hide-dot-files")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1732:31: warning: passing 'char [19]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set hide-dot-files")) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1734:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set list-maximum-level")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1734:31: warning: passing 'char [23]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set list-maximum-level")) ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1736:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set trust-dns")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1736:31: warning: passing 'char [14]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set trust-dns")) ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1738:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set sasl-uses-ptr-name")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1738:31: warning: passing 'char [23]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set sasl-uses-ptr-name")) ^~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1740:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set network-filesystem-stat-bug")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1740:31: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set network-filesystem-stat-bug")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1742:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set nntp-range")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1742:31: warning: passing 'char [15]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set nntp-range")) ^~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1746:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set black-box-directory") && ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1746:28: warning: passing 'char [24]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"set black-box-directory") && ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1748:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring(s,"set black-box-default-home-directory")&& ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1748:32: warning: passing 'char [37]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring(s,"set black-box-default-home-directory")&& ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1751:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set anonymous-home-directory") && ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1751:33: warning: passing 'char [29]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set anonymous-home-directory") && ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1758:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set CA-certificate-path")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1758:33: warning: passing 'char [24]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set CA-certificate-path")) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1760:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set disable-plaintext")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1760:33: warning: passing 'char [22]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set disable-plaintext")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1762:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set allowed-login-attempts")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1762:33: warning: passing 'char [27]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set allowed-login-attempts")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1764:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set chroot-server")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1764:33: warning: passing 'char [18]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set chroot-server")) ^~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1766:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set restrict-mailbox-access")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1766:33: warning: passing 'char [28]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set restrict-mailbox-access")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1768:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (k,"root")) restrictBox |= RESTRICTROOT; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1768:32: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (k,"root")) restrictBox |= RESTRICTROOT; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1769:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"otherusers")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1769:37: warning: passing 'char [11]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"otherusers")) ^~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1771:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"all")) restrictBox = -1; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1771:37: warning: passing 'char [4]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (k,"all")) restrictBox = -1; ^~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1773:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set advertise-the-world")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1773:33: warning: passing 'char [24]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set advertise-the-world")) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1775:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set limited-advertise")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1775:33: warning: passing 'char [22]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set limited-advertise")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1778:7: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (s,"set disable-automatic-shared-namespaces")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1778:9: warning: passing 'char [40]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (s,"set disable-automatic-shared-namespaces")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1780:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set allow-user-config")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1780:33: warning: passing 'char [22]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set allow-user-config")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1782:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set allow-reverse-dns")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1782:33: warning: passing 'char [22]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set allow-reverse-dns")) ^~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1784:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set k5-cp-uses-service-name")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1784:33: warning: passing 'char [28]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set k5-cp-uses-service-name")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1788:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set plaintext-allowed-clients")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:51: ./env_unix.c:1788:33: warning: passing 'char [30]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"set plaintext-allowed-clients")) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ In file included from osdep.c:54: In file included from ./tcp_unix.c:29: ./ip_unix.c:136:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,text)),NIL,hints,&ai))) { ^~~~~~~~~~~~~~~~~ ./misc.h:87:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:54: In file included from ./tcp_unix.c:29: ./ip_unix.c:136:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (tmp,text)),NIL,hints,&ai))) { ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/netdb.h:660:48: note: passing argument to parameter '__name' here extern int getaddrinfo (const char *__restrict __name, ^ In file included from osdep.c:54: In file included from ./tcp_unix.c:29: ./ip_unix.c:253:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (lcname,name)),NIL,hints,&ai))) { ^~~~~~~~~~~~~~~~~~~~ ./misc.h:87:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ In file included from osdep.c:54: In file included from ./tcp_unix.c:29: ./ip_unix.c:253:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!getaddrinfo (lcase (strcpy (lcname,name)),NIL,hints,&ai))) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/netdb.h:660:48: note: passing argument to parameter '__name' here extern int getaddrinfo (const char *__restrict __name, ^ In file included from osdep.c:54: ./tcp_unix.c:175:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = ip_stringtoaddr (tmp,&adrlen,&family)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:175:13: note: place parentheses around the assignment to silence this warning if (adr = ip_stringtoaddr (tmp,&adrlen,&family)) { ^ ( ) ./tcp_unix.c:175:13: note: use '==' to turn this assignment into an equality comparison if (adr = ip_stringtoaddr (tmp,&adrlen,&family)) { ^ == ./tcp_unix.c:215: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:215:22: note: place parentheses around the assignment to silence this warning if (stream->ictr = ctr) *(stream->iptr = stream->ibuf) = tmp[0]; ^ ( ) ./tcp_unix.c:215:22: note: use '==' to turn this assignment into an equality comparison if (stream->ictr = ctr) *(stream->iptr = stream->ibuf) = tmp[0]; ^ == ./tcp_unix.c:350: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:350: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:350: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:450: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:59:17: note: passing argument to parameter 'contd' here long *contd); ^ ./tcp_unix.c:458: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:59:17: note: passing argument to parameter 'contd' here long *contd); ^ ./tcp_unix.c:526:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = min (size,stream->ictr)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:526:9: note: place parentheses around the assignment to silence this warning if (n = min (size,stream->ictr)) { ^ ( ) ./tcp_unix.c:526:9: note: use '==' to turn this assignment into an equality comparison if (n = min (size,stream->ictr)) { ^ == ./tcp_unix.c:832:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (s,' ')) *v = '\0'; ~~^~~~~~~~~~~~~~~~ ./tcp_unix.c:832:8: note: place parentheses around the assignment to silence this warning if (v = strchr (s,' ')) *v = '\0'; ^ ( ) ./tcp_unix.c:832:8: note: use '==' to turn this assignment into an equality comparison if (v = strchr (s,' ')) *v = '\0'; ^ == ./tcp_unix.c:959:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = tcp_name_valid (ip_sockaddrtoname (sadr))) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./tcp_unix.c:959:11: note: place parentheses around the assignment to silence this warning if (t = tcp_name_valid (ip_sockaddrtoname (sadr))) { ^ ( ) ./tcp_unix.c:959:11: note: use '==' to turn this assignment into an equality comparison if (t = tcp_name_valid (ip_sockaddrtoname (sadr))) { ^ == osdep.c:113:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (julian = t->tm_yday -julian) ~~~~~~~^~~~~~~~~~~~~~~~~~~~ osdep.c:113:14: note: place parentheses around the assignment to silence this warning if (julian = t->tm_yday -julian) ^ ( ) osdep.c:113:14: note: use '==' to turn this assignment into an equality comparison if (julian = t->tm_yday -julian) ^ == osdep.c:425:12: warning: 'TLSv1_client_method' is deprecated [-Wdeprecated-declarations] TLSv1_client_method () : ^ /home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl/ssl.h:1879:1: note: 'TLSv1_client_method' has been explicitly marked deprecated here DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void)) ^ /home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl/opensslconf.h:160:34: note: expanded from macro 'DEPRECATEDIN_1_1_0' # define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) ^ /home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl/opensslconf.h:118:55: note: expanded from macro 'DECLARE_DEPRECATED' # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); ^ osdep.c:444: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:444:9: note: place parentheses around the assignment to silence this warning if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL)) ^ ( ) osdep.c:444:9: note: use '==' to turn this assignment into an equality comparison if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL)) ^ == osdep.c:448: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:448: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:448: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:457: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:457: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:457: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:595: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:267:17: note: passing argument to parameter 'contd' here long *contd); ^ osdep.c:603: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:267:17: note: passing argument to parameter 'contd' here long *contd); ^ osdep.c:920:12: warning: 'TLSv1_server_method' is deprecated [-Wdeprecated-declarations] TLSv1_server_method () : ^ /home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl/ssl.h:1878:1: note: 'TLSv1_server_method' has been explicitly marked deprecated here DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_server_method(void)) ^ /home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl/opensslconf.h:160:34: note: expanded from macro 'DEPRECATEDIN_1_1_0' # define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) ^ /home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl/opensslconf.h:118:55: note: expanded from macro 'DECLARE_DEPRECATED' # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); ^ osdep.c:972:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (i = ERR_get_error ()) /* SSL failure */ ~~^~~~~~~~~~~~~~~~~~ osdep.c:972:12: note: place parentheses around the assignment to silence this warning while (i = ERR_get_error ()) /* SSL failure */ ^ ( ) osdep.c:972:12: note: use '==' to turn this assignment into an equality comparison while (i = ERR_get_error ()) /* SSL failure */ ^ == osdep.c:991:17: warning: 'RSA_generate_key' is deprecated [-Wdeprecated-declarations] if (!(key = RSA_generate_key (export ? keylength : 1024,RSA_F4,NIL,NIL))) { ^ /home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl/rsa.h:235:1: note: 'RSA_generate_key' has been explicitly marked deprecated here DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void ^ /home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl/opensslconf.h:172:34: note: expanded from macro 'DEPRECATEDIN_0_9_8' # define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) ^ /home/conan/w/BuildSingleReference/.conan/data/openssl/1.1.1m/_/_/package/05441c20e7e7a68951563eb6a1ae544f71dd7263/include/openssl/opensslconf.h:118:55: note: expanded from macro 'DECLARE_DEPRECATED' # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); ^ osdep.c:994:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (i = ERR_get_error ()) ~~^~~~~~~~~~~~~~~~~~ osdep.c:994:16: note: place parentheses around the assignment to silence this warning while (i = ERR_get_error ()) ^ ( ) osdep.c:994:16: note: use '==' to turn this assignment into an equality comparison while (i = ERR_get_error ()) ^ == 251 warnings generated. mail.c:212:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream->cache[i] = stream->cache[msgno]) ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:212:28: note: place parentheses around the assignment to silence this warning if (stream->cache[i] = stream->cache[msgno]) ^ ( ) mail.c:212:28: note: use '==' to turn this assignment into an equality comparison if (stream->cache[i] = stream->cache[msgno]) ^ == mail.c:378:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:378:57: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:383:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:383:57: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:385:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) d) d->flags &= ~DR_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:385:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) d) d->flags &= ~DR_DISABLE; ^ ( ) mail.c:385:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) d) d->flags &= ~DR_DISABLE; ^ == mail.c:388:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:388:57: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,(char *) value); ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:390:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) d) d->flags |= DR_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:390:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) d) d->flags |= DR_DISABLE; ^ ( ) mail.c:390:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) d) d->flags |= DR_DISABLE; ^ == mail.c:394:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:394:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:395:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags &= ~AU_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:395:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags &= ~AU_DISABLE; ^ ( ) mail.c:395:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags &= ~AU_DISABLE; ^ == mail.c:399:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:399:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:400:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags |= AU_DISABLE; ~~~~^~~~~~~~~~~~ mail.c:400:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags |= AU_DISABLE; ^ ( ) mail.c:400:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags |= AU_DISABLE; ^ == mail.c:404:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:404:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:405:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags &= ~AU_HIDE; ~~~~^~~~~~~~~~~~ mail.c:405:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags &= ~AU_HIDE; ^ ( ) mail.c:405:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags &= ~AU_HIDE; ^ == mail.c:409:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:409:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] a && compare_cstring (a->name,(char *) value); a = a->next); ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:410:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (void *) a) a->flags |= AU_HIDE; ~~~~^~~~~~~~~~~~ mail.c:410:13: note: place parentheses around the assignment to silence this warning if (ret = (void *) a) a->flags |= AU_HIDE; ^ ( ) mail.c:410:13: note: use '==' to turn this assignment into an equality comparison if (ret = (void *) a) a->flags |= AU_HIDE; ^ == mail.c:644:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = smtp_parameters (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:644:11: note: place parentheses around the assignment to silence this warning if (r = smtp_parameters (function,value)) ret = r; ^ ( ) mail.c:644:11: note: use '==' to turn this assignment into an equality comparison if (r = smtp_parameters (function,value)) ret = r; ^ == mail.c:645:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = env_parameters (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:645:11: note: place parentheses around the assignment to silence this warning if (r = env_parameters (function,value)) ret = r; ^ ( ) mail.c:645:11: note: use '==' to turn this assignment into an equality comparison if (r = env_parameters (function,value)) ret = r; ^ == mail.c:646:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = tcp_parameters (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:646:11: note: place parentheses around the assignment to silence this warning if (r = tcp_parameters (function,value)) ret = r; ^ ( ) mail.c:646:11: note: use '==' to turn this assignment into an equality comparison if (r = tcp_parameters (function,value)) ret = r; ^ == mail.c:648: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:648:13: note: place parentheses around the assignment to silence this warning if (r = (*stream->dtb->parameters) (function,value)) ret = r; ^ ( ) mail.c:648:13: note: use '==' to turn this assignment into an equality comparison if (r = (*stream->dtb->parameters) (function,value)) ret = r; ^ == mail.c:652:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (r = (d->parameters) (function,value)) ret = r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:652:13: note: place parentheses around the assignment to silence this warning if (r = (d->parameters) (function,value)) ret = r; ^ ( ) mail.c:652:13: note: use '==' to turn this assignment into an equality comparison if (r = (d->parameters) (function,value)) ret = r; ^ == mail.c:766:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strpbrk (s = t,"/:=")) { ~~^~~~~~~~~~~~~~~~~~~~~~~ mail.c:766:13: note: place parentheses around the assignment to silence this warning if (t = strpbrk (s = t,"/:=")) { ^ ( ) mail.c:766:13: note: use '==' to turn this assignment into an equality comparison if (t = strpbrk (s = t,"/:=")) { ^ == mail.c:784:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strpbrk (v = t,"/:")) { ~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:784:10: note: place parentheses around the assignment to silence this warning if (t = strpbrk (v = t,"/:")) { ^ ( ) mail.c:784:10: note: use '==' to turn this assignment into an equality comparison if (t = strpbrk (v = t,"/:")) { ^ == mail.c:791:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"service") && (i < NETMAXSRV) && !*mb->service) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:791:26: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"service") && (i < NETMAXSRV) && !*mb->service) ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:792:11: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] lcase (strcpy (mb->service,v)); ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:87:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ mail.c:793:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"user") && (i < NETMAXUSER) && !*mb->user) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:793:31: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"user") && (i < NETMAXUSER) && !*mb->user) ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:795:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"authuser") && (i < NETMAXUSER) && ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:795:31: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"authuser") && (i < NETMAXUSER) && ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:801:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"anonymous")) mb->anoflag = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:801:26: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"anonymous")) mb->anoflag = T; ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:802:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"debug")) mb->dbgflag = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:802:31: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"debug")) mb->dbgflag = T; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:803:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"readonly")) mb->readonlyflag = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:803:31: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"readonly")) mb->readonlyflag = T; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:804:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"secure")) mb->secflag = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:804:31: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"secure")) mb->secflag = T; ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:805:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"norsh")) mb->norsh = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:805:31: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"norsh")) mb->norsh = T; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:806:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"loser")) mb->loser = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:806:31: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"loser")) mb->loser = T; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:807:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"tls") && !mb->notlsflag) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:807:31: warning: passing 'char [4]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"tls") && !mb->notlsflag) ^~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"tls-sslv23") && !mb->notlsflag) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:809:31: warning: passing 'char [11]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"tls-sslv23") && !mb->notlsflag) ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"notls") && !mb->tlsflag) ^ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"notls") && !mb->tlsflag) ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"tryssl")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:813:31: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"tryssl")) ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:815:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"ssl") && !mb->tlsflag) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:815:48: warning: passing 'char [4]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"ssl") && !mb->tlsflag) ^~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:817:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"novalidate-cert")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:817:48: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"novalidate-cert")) ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:820:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"validate-cert")); ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:820:48: warning: passing 'char [14]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mailssldriver && !compare_cstring (s,"validate-cert")); ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:823:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"imap") || ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:823:31: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"imap") || ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:824:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"nntp") || ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:824:24: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"nntp") || ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:825:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"pop3") || ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:825:24: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"pop3") || ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:826:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"smtp") || ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:826:24: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"smtp") || ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:827:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"submit")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:827:24: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"submit")) ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:828:11: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] lcase (strcpy (mb->service,s)); ^~~~~~~~~~~~~~~~~~~~~~ ./misc.h:87:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ mail.c:829:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"imap2") || ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:829:31: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"imap2") || ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (s,"imap2bis") || ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:830:24: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"imap2bis") || ^~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (s,"imap4") || ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:831:24: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"imap4") || ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (s,"imap4rev1")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:832:24: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (s,"imap4rev1")) ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:834:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"pop")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:834:31: warning: passing 'char [4]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"pop")) ^~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:919:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = d->next); /* until at the end */ ~~^~~~~~~~~ mail.c:919:12: note: place parentheses around the assignment to silence this warning while (d = d->next); /* until at the end */ ^ ( ) mail.c:919:12: note: use '==' to turn this assignment into an equality comparison while (d = d->next); /* until at the end */ ^ == mail.c:952:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = d->next); /* until at the end */ ~~^~~~~~~~~ mail.c:952:12: note: place parentheses around the assignment to silence this warning while (d = d->next); /* until at the end */ ^ ( ) mail.c:952:12: note: use '==' to turn this assignment into an equality comparison while (d = d->next); /* until at the end */ ^ == mail.c:996:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (mailbox,"\015\012")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:996:9: note: place parentheses around the assignment to silence this warning if (s = strpbrk (mailbox,"\015\012")) { ^ ( ) mail.c:996:9: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (mailbox,"\015\012")) { ^ == mail.c:1007:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1007:33: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1012:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = mail_utf7_valid (mailbox)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1012:9: note: place parentheses around the assignment to silence this warning if (s = mail_utf7_valid (mailbox)) { ^ ( ) mail.c:1012:9: note: use '==' to turn this assignment into an equality comparison if (s = mail_utf7_valid (mailbox)) { ^ == mail.c:1092:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = mail_utf7_valid (newname)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1092:9: note: place parentheses around the assignment to silence this warning if (s = mail_utf7_valid (newname)) { ^ ( ) mail.c:1092:9: note: use '==' to turn this assignment into an equality comparison if (s = mail_utf7_valid (newname)) { ^ == mail.c:1199:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream = mail_open (stream,s+1,options)) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1199:18: note: place parentheses around the assignment to silence this warning if (stream = mail_open (stream,s+1,options)) { ^ ( ) mail.c:1199:18: note: use '==' to turn this assignment into an equality comparison if (stream = mail_open (stream,s+1,options)) { ^ == mail.c:1216:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream = mail_open (stream,mb.mailbox,options)) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1216:18: note: place parentheses around the assignment to silence this warning if (stream = mail_open (stream,mb.mailbox,options)) { ^ ( ) mail.c:1216:18: note: use '==' to turn this assignment into an equality comparison if (stream = mail_open (stream,mb.mailbox,options)) { ^ == mail.c:1243:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (tmp,"/\\:")) *s++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:1243:13: note: place parentheses around the assignment to silence this warning if (s = strpbrk (tmp,"/\\:")) *s++ = '\0'; ^ ( ) mail.c:1243:13: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (tmp,"/\\:")) *s++ = '\0'; ^ == mail.c:1249:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,tmp); d = d->next); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1249:59: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (d = maildrivers; d && compare_cstring (d->name,tmp); d = d->next); ^~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:1471:48: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (stream->dtb && mail_uid_sequence (stream,sequence) && ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:1487:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (stream->dtb && mail_sequence (stream,sequence) && ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:1512:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ov.date = env->date; ^ ~~~~~~~~~ mail.c:1543: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:1543:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1543:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1655: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:1655:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1655:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1725: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:1725:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1725:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1730:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!((b = mail_body (stream,msgno,section)) && ^~~~~~~ ./mail.h:1686:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:1778:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (rt.data = (unsigned char *) ~~~~~~~~^~~~~~~~~~~~~~~~~~~ mail.c:1778:19: note: place parentheses around the assignment to silence this warning if (rt.data = (unsigned char *) ^ ( mail.c:1778:19: note: use '==' to turn this assignment into an equality comparison if (rt.data = (unsigned char *) ^ == mail.c:1816: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:1816:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1816:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1821:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!((b = mail_body (stream,msgno,section)) && ^~~~~~~ ./mail.h:1686:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:1871: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:1871:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1871:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1875:61: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(section && *section && (b = mail_body (stream,msgno,section)))) ^~~~~~~ ./mail.h:1686:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:1954: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:1954:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:1954:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:1958:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(b = mail_body (stream,msgno,section))) return ""; ^~~~~~~ ./mail.h:1686:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:2012: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:2012:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:2012:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:2018:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!((b = mail_body (stream,msgno,section)) && ^~~~~~~ ./mail.h:1686:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:2082: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:2082:15: note: place parentheses around the assignment to silence this warning if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ ( ) mail.c:2082:15: note: use '==' to turn this assignment into an equality comparison if (msgno = mail_msgno (stream,msgno)) flags &= ~FT_UID; ^ == mail.c:2086:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(b = mail_body (stream,msgno,section))) return NIL; ^~~~~~~ ./mail.h:1686:19: note: passing argument to parameter 'section' here unsigned char *section); ^ mail.c:2232:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (delta = ((last - first) / 2)) { ~~~~~~^~~~~~~~~~~~~~~~~~~~~~ mail.c:2232:12: note: place parentheses around the assignment to silence this warning if (delta = ((last - first) / 2)) { ^ ( ) mail.c:2232:12: note: use '==' to turn this assignment into an equality comparison if (delta = ((last - first) / 2)) { ^ == mail.c:2308:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((flags & ST_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:2309:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) && ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mail.c:2386:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msg = utf8_badcharset (charset)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2386:11: note: place parentheses around the assignment to silence this warning if (msg = utf8_badcharset (charset)) { ^ ( ) mail.c:2386:11: note: use '==' to turn this assignment into an equality comparison if (msg = utf8_badcharset (charset)) { ^ == mail.c:2598:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strncmp (lcase (strcpy (tmp,mailbox)),"#driver.",8)) { ^~~~~~~~~~~~~~~~~~~~ ./misc.h:87:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ mail.c:2598:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strncmp (lcase (strcpy (tmp,mailbox)),"#driver.",8)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:139:33: note: passing argument to parameter '__s1' here extern int strncmp (const char *__s1, const char *__s2, size_t __n) ^ mail.c:2612:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (d = mail_valid (stream,mailbox,NIL)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2612:14: note: place parentheses around the assignment to silence this warning else if (d = mail_valid (stream,mailbox,NIL)) ^ ( ) mail.c:2612:14: note: use '==' to turn this assignment into an equality comparison else if (d = mail_valid (stream,mailbox,NIL)) ^ == mail.c:2650:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = (MESSAGECACHE *) (*mailcache) (stream,i,CH_ELT)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:2650:13: note: place parentheses around the assignment to silence this warning if (elt = (MESSAGECACHE *) (*mailcache) (stream,i,CH_ELT)) ^ ( ) mail.c:2650:13: note: use '==' to turn this assignment into an equality comparison if (elt = (MESSAGECACHE *) (*mailcache) (stream,i,CH_ELT)) ^ == mail.c:2720:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(i = strtoul (section,(char **) §ion,10)) || ^~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:2725: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:2725:11: note: place parentheses around the assignment to silence this warning if (pt = b->nested.part) while (--i && (pt = pt->next)); ^ ( ) mail.c:2725:11: note: use '==' to turn this assignment into an equality comparison if (pt = b->nested.part) while (--i && (pt = pt->next)); ^ == mail.c:2852:27: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s && *s && (strlen (s) < (size_t)MAILTMPLEN)) s = ucase (strcpy (tmp,s)); ^ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mail.c:2852:76: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s && *s && (strlen (s) < (size_t)MAILTMPLEN)) s = ucase (strcpy (tmp,s)); ^ /usr/include/string.h:121:70: note: passing argument to parameter '__src' here extern char *strcpy (char *__restrict __dest, const char *__restrict __src) ^ mail.c:2852:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s && *s && (strlen (s) < (size_t)MAILTMPLEN)) s = ucase (strcpy (tmp,s)); ^~~~~~~~~~~~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ mail.c:2858:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(m = strtoul (s,(char **) &s,10))) return NIL; ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:2862:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (isdigit (*++s) && (d = strtoul (s,(char **) &s,10)) && ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:2864:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] y = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:2874:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((m = strtoul (s+1,(char **) &s,10)) && (*s++ == '-') && ^~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:2875:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] (d = strtoul (s,(char **) &s,10)) && !*s) break; ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:2880:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (strlen (s) < (size_t) 5) return NIL; ^ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mail.c:2908:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] y = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:2932:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] d = strtoul (s+1,(char **) &s,10); ^~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:2934:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] m = strtoul (++s,(char **) &s,10); ^~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:2935:32: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] y = (*s == ':') ? strtoul (++s,(char **) &s,10) : 0; ^~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:3085: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:3085:11: note: place parentheses around the assignment to silence this warning if (t = gmtime (&tn)) { /* minus UTC minutes since midnight */ ^ ( ) mail.c:3085:11: note: use '==' to turn this assignment into an equality comparison if (t = gmtime (&tn)) { /* minus UTC minutes since midnight */ ^ == mail.c:3265:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!(i = strtoul (sequence,(char **) &sequence,10))) { ^~~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:3276:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!(j = strtoul (sequence,(char **) &sequence,10))) { ^~~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:3306: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:3306: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:3306: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:3339:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (lines = lines->next); ~~~~~~^~~~~~~~~~~~~ mail.c:3339:16: note: place parentheses around the assignment to silence this warning while (lines = lines->next); ^ ( ) mail.c:3339:16: note: use '==' to turn this assignment into an equality comparison while (lines = lines->next); ^ == mail.c:3371: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:3371:11: note: place parentheses around the assignment to silence this warning if (i = t - tmp) /* see if found in header */ ^ ( ) mail.c:3371:11: note: use '==' to turn this assignment into an equality comparison if (i = t - tmp) /* see if found in header */ ^ == mail.c:3373:53: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((hdrs->text.size == i) && !compare_csizedtext (tmp,&hdrs->text)) ^~~ ./misc.h:110:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ mail.c:3515:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] BODY *body = mail_body (stream,msgno,section); ^~~~~~~ mail.c:2710:72: note: passing argument to parameter 'section' here BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,unsigned char *section) ^ mail.c:3621:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (h.data = (unsigned char *) s) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~ mail.c:3621:14: note: place parentheses around the assignment to silence this warning if (h.data = (unsigned char *) s) { ^ ( ) mail.c:3621:14: note: use '==' to turn this assignment into an equality comparison if (h.data = (unsigned char *) s) { ^ == mail.c:3672: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:3672:12: note: place parentheses around the assignment to silence this warning if (st = st->next) s = s->next = mail_newstringlist (); ^ ( ) mail.c:3672:12: note: use '==' to turn this assignment into an equality comparison if (st = st->next) s = s->next = mail_newstringlist (); ^ == mail.c:3687:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if ((body = mail_body (stream,msgno,section)) && ^~~~~~~ mail.c:2710:72: note: passing argument to parameter 'section' here BODY *mail_body (MAILSTREAM *stream,unsigned long msgno,unsigned char *section) ^ mail.c:3754:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (body = body->nested.msg->body) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ mail.c:3754:16: note: place parentheses around the assignment to silence this warning if (body = body->nested.msg->body) ^ ( ) mail.c:3754:16: note: use '==' to turn this assignment into an equality comparison if (body = body->nested.msg->body) ^ == mail.c:3771:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (st.data = (unsigned char *) ~~~~~~~~^~~~~~~~~~~~~~~~~~~ mail.c:3771:14: note: place parentheses around the assignment to silence this warning if (st.data = (unsigned char *) ^ ( mail.c:3771:14: note: use '==' to turn this assignment into an equality comparison if (st.data = (unsigned char *) ^ == mail.c:3778: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:3778:14: note: place parentheses around the assignment to silence this warning if (st.data = rfc822_qprint ((unsigned char *) s,i,&st.size)) { ^ ( ) mail.c:3778:14: note: use '==' to turn this assignment into an equality comparison if (st.data = rfc822_qprint ((unsigned char *) s,i,&st.size)) { ^ == mail.c:3854:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_csizedtext (stream->user_flags[i],&st->text)) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:110:40: note: passing argument to parameter 's1' here int compare_csizedtext (unsigned char *s1,SIZEDTEXT *s2); ^ mail.c:3859:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (st = st->next); ~~~^~~~~~~~~~ mail.c:3859:15: note: place parentheses around the assignment to silence this warning } while (st = st->next); ^ ( ) mail.c:3859:15: note: use '==' to turn this assignment into an equality comparison } while (st = st->next); ^ == mail.c:3888: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:3888:25: note: place parentheses around the assignment to silence this warning if (tadr.personal = a->personal) k += 3 + 2*strlen (a->personal); ^ ( ) mail.c:3888:25: note: use '==' to turn this assignment into an equality comparison if (tadr.personal = a->personal) k += 3 + 2*strlen (a->personal); ^ == mail.c:3889: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:3889:20: note: place parentheses around the assignment to silence this warning if (tadr.adl = a->adl) k += 3 + 2*strlen (a->adl); ^ ( ) mail.c:3889:20: note: use '==' to turn this assignment into an equality comparison if (tadr.adl = a->adl) k += 3 + 2*strlen (a->adl); ^ == mail.c:3890: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:3890:21: note: place parentheses around the assignment to silence this warning if (tadr.host = a->host) k += 3 + 2*strlen (a->host); ^ ( ) mail.c:3890:21: note: use '==' to turn this assignment into an equality comparison if (tadr.host = a->host) k += 3 + 2*strlen (a->host); ^ == mail.c:3985:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] switch (*ucase (criterion)) { ^~~~~~~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ mail.c:4076:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_parse_date (&elt,(char *) s->text.data) && ^~~~~~~~~~~~~~~~~~~~~ mail.c:2834:56: note: passing argument to parameter 's' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *s) ^ mail.c:4125: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:4125:11: note: place parentheses around the assignment to silence this warning if (d = strtok_r (c,end,r)) n = strlen (d); ^ ( ) mail.c:4125:11: note: use '==' to turn this assignment into an equality comparison if (d = strtok_r (c,end,r)) n = strlen (d); ^ == mail.c:4332:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (env) t = env->date; ^ ~~~~~~~~~ mail.c:4336: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:4336:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4336:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4348:38: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(t && mail_parse_date (&telt,t) && ^ mail.c:2834:56: note: passing argument to parameter 's' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *s) ^ mail.c:4372: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:4372:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4372:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4380:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (v,':')) { ~~^~~~~~~~~~~~~~~~ mail.c:4380:9: note: place parentheses around the assignment to silence this warning if (v = strchr (v,':')) { ^ ( ) mail.c:4380:9: note: use '==' to turn this assignment into an equality comparison if (v = strchr (v,':')) { ^ == mail.c:4387:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = rfc822_parse_address (&adr,adr,&t,BADHOST,0)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4387:14: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_address (&adr,adr,&t,BADHOST,0)) { ^ ( ) mail.c:4387:14: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_address (&adr,adr,&t,BADHOST,0)) { ^ == mail.c:4405: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:4405:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4405:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4413:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (v,':')) { ~~^~~~~~~~~~~~~~~~ mail.c:4413:9: note: place parentheses around the assignment to silence this warning if (v = strchr (v,':')) { ^ ( ) mail.c:4413:9: note: use '==' to turn this assignment into an equality comparison if (v = strchr (v,':')) { ^ == mail.c:4420:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = rfc822_parse_address (&adr,adr,&t,BADHOST,0)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4420:14: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_address (&adr,adr,&t,BADHOST,0)) { ^ ( ) mail.c:4420:14: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_address (&adr,adr,&t,BADHOST,0)) { ^ == mail.c:4438: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:4438:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4438:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4446:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (v,':')) { ~~^~~~~~~~~~~~~~~~ mail.c:4446:9: note: place parentheses around the assignment to silence this warning if (v = strchr (v,':')) { ^ ( ) mail.c:4446:9: note: use '==' to turn this assignment into an equality comparison if (v = strchr (v,':')) { ^ == mail.c:4453:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (adr = rfc822_parse_address (&adr,adr,&t,BADHOST,0)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:4453:14: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_address (&adr,adr,&t,BADHOST,0)) { ^ ( ) mail.c:4453:14: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_address (&adr,adr,&t,BADHOST,0)) { ^ == mail.c:4472: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:4472:22: note: place parentheses around the assignment to silence this warning for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ ( ) mail.c:4472:22: note: use '==' to turn this assignment into an equality comparison for (x = ++t; x = strpbrk (x,"\012\015"); x++) ^ == mail.c:4506: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:4506:16: note: place parentheses around the assignment to silence this warning if (src.size = strlen (t)) { /* have non-empty subject? */ ^ ( ) mail.c:4506:16: note: use '==' to turn this assignment into an equality comparison if (src.size = strlen (t)) { /* have non-empty subject? */ ^ == mail.c:4648:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = compare_cstring (s1->from,s2->from); ^~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4648:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = compare_cstring (s1->from,s2->from); ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4651:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = compare_cstring (s1->to,s2->to); ^~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4651:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = compare_cstring (s1->to,s2->to); ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4654:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = compare_cstring (s1->cc,s2->cc); ^~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4654:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = compare_cstring (s1->cc,s2->cc); ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4657:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = compare_cstring (s1->subject,s2->subject); ^~~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4657:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = compare_cstring (s1->subject,s2->subject); ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4662:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (pgm = i ? NIL : pgm->next); ~~~~^~~~~~~~~~~~~~~~~~~~~ mail.c:4662:14: note: place parentheses around the assignment to silence this warning while (pgm = i ? NIL : pgm->next); ^ ( ) mail.c:4662:14: note: use '==' to turn this assignment into an equality comparison while (pgm = i ? NIL : pgm->next); ^ == mail.c:4756:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (type,t->name)) { ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4756:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (type,t->name)) { ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4789: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:4789: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:4789: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:4800:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (compare_cstring (top->sc->subject,s->subject)) { ^~~~~~~~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4800:40: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (compare_cstring (top->sc->subject,s->subject)) { ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:4903: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:4903:10: note: place parentheses around the assignment to silence this warning if (env = mail_fetch_structure (stream,s->num,NIL,NIL)) { ^ ( ) mail.c:4903:10: note: use '==' to turn this assignment into an equality comparison if (env = mail_fetch_structure (stream,s->num,NIL,NIL)) { ^ == mail.c:4951:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] THREADLINKS); st = st->next; con = nxc) { ~~~^~~~~~~~~~ mail.c:4951:28: note: place parentheses around the assignment to silence this warning THREADLINKS); st = st->next; con = nxc) { ^ ( ) mail.c:4951:28: note: use '==' to turn this assignment into an equality comparison THREADLINKS); st = st->next; con = nxc) { ^ == mail.c:5121:56: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!s->date && ov->date && mail_parse_date (&telt,ov->date)) { ^~~~~~~~ mail.c:2834:56: note: passing argument to parameter 's' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *s) ^ mail.c:5183:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = mail_thread_parse_msgid (s,&s)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:5183:9: note: place parentheses around the assignment to silence this warning if (t = mail_thread_parse_msgid (s,&s)) { ^ ( ) mail.c:5183:9: note: use '==' to turn this assignment into an equality comparison if (t = mail_thread_parse_msgid (s,&s)) { ^ == mail.c:5187: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:5187: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:5187: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:5289: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:5289: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:5289: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:5371:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!(i = strtoul (sequence,(char **) &sequence,10)) || ^~~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:5387:31: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!(j = strtoul (sequence,(char **) &sequence,10)) || ^~~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mail.c:5440:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = strchr (t,' ')) *n++ = '\0'; ~~^~~~~~~~~~~~~~~~ mail.c:5440:13: note: place parentheses around the assignment to silence this warning if (n = strchr (t,' ')) *n++ = '\0'; ^ ( ) mail.c:5440:13: note: use '==' to turn this assignment into an equality comparison if (n = strchr (t,' ')) *n++ = '\0'; ^ == mail.c:5442:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t+1,"SEEN")) f |= fSEEN; ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5442:28: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t+1,"SEEN")) f |= fSEEN; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5443:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t+1,"DELETED")) f |= fDELETED; ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5443:33: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t+1,"DELETED")) f |= fDELETED; ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5444:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t+1,"FLAGGED")) f |= fFLAGGED; ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5444:33: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t+1,"FLAGGED")) f |= fFLAGGED; ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5445:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t+1,"ANSWERED")) f |= fANSWERED; ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5445:33: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t+1,"ANSWERED")) f |= fANSWERED; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5446:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t+1,"DRAFT")) f |= fDRAFT; ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5446:33: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t+1,"DRAFT")) f |= fDRAFT; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5456:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,s)) *uf |= i = 1 << j; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5456:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,s)) *uf |= i = 1 << j; ^ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5505:24: warning: passing 'char [256]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((!compare_cstring (smb.host, ^~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5506:10: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] trustdns ? tcp_canonical (nmb.host) : nmb.host)&& ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5511:24: warning: passing 'char [256]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!compare_cstring (omb.host,nmb.host) && ^~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:5511:33: warning: passing 'char [256]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!compare_cstring (omb.host,nmb.host) && ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6081:43: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (auth->server && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6081:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (auth->server && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6114:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !(auth->flags & AU_DISABLE) && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6114:62: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !(auth->flags & AU_DISABLE) && !compare_cstring (auth->name,mechanism)) ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mail.c:6201:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tstream = (*dv->open) (host,service,port | flags)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:6201:15: note: place parentheses around the assignment to silence this warning if (tstream = (*dv->open) (host,service,port | flags)) { ^ ( ) mail.c:6201:15: note: use '==' to turn this assignment into an equality comparison if (tstream = (*dv->open) (host,service,port | flags)) { ^ == mail.c:6223:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tstream = (*dv->aopen) (mb,service,user)) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:6223:15: note: place parentheses around the assignment to silence this warning if (tstream = (*dv->aopen) (mb,service,user)) { ^ ( ) mail.c:6223:15: note: use '==' to turn this assignment into an equality comparison if (tstream = (*dv->aopen) (mb,service,user)) { ^ == 216 warnings generated. misc.c:276: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:276: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:276: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:318: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:318: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:318: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:335: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:335:19: note: place parentheses around the assignment to silence this warning for (ret = 0; i = (unsigned int) *key++; ret += i) ret *= HASHMULT; ^ ( ) misc.c:335:19: note: use '==' to turn this assignment into an equality comparison for (ret = 0; i = (unsigned int) *key++; ret += i) ret *= HASHMULT; ^ == misc.c:452: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:452: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:452: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:471:10: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (s = (char *) s2->data,j = s2->size; *s1 && j; ++s1,++s,--j) ^ ~~~~~~~~~~~~~~~~~ misc.c:472:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = (compare_uchar (*s1,*s))) return i; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ misc.c:472:11: note: place parentheses around the assignment to silence this warning if (i = (compare_uchar (*s1,*s))) return i; ^ ( ) misc.c:472:11: note: use '==' to turn this assignment into an equality comparison if (i = (compare_uchar (*s1,*s))) return i; ^ == 6 warnings generated. 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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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. smanager.c:44:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:44:33: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:46: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:46:9: note: place parentheses around the assignment to silence this warning if (f = fopen (db,"r")) { /* make sure not already there */ ^ ( ) smanager.c:46:9: note: use '==' to turn this assignment into an equality comparison if (f = fopen (db,"r")) { /* make sure not already there */ ^ == smanager.c:48:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (tmp,'\n')) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ smanager.c:48:13: note: place parentheses around the assignment to silence this warning if (s = strchr (tmp,'\n')) *s = '\0'; ^ ( ) smanager.c:48:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (tmp,'\n')) *s = '\0'; ^ == smanager.c:77:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:77:33: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mailbox = "INBOX"; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smanager.c:88:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (tmp,'\n')) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ smanager.c:88:13: note: place parentheses around the assignment to silence this warning if (s = strchr (tmp,'\n')) *s = '\0'; ^ ( ) smanager.c:88:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (tmp,'\n')) *s = '\0'; ^ == smanager.c:119:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = fopen (sbname,"r")) *sdb = (void *) f; ~~^~~~~~~~~~~~~~~~~~~~ smanager.c:119:11: note: place parentheses around the assignment to silence this warning if (f = fopen (sbname,"r")) *sdb = (void *) f; ^ ( ) smanager.c:119:11: note: use '==' to turn this assignment into an equality comparison if (f = fopen (sbname,"r")) *sdb = (void *) f; ^ == smanager.c:123:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (sbname,'\n')) *s = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~ smanager.c:123:11: note: place parentheses around the assignment to silence this warning if (s = strchr (sbname,'\n')) *s = '\0'; ^ ( ) smanager.c:123:11: note: use '==' to turn this assignment into an equality comparison if (s = strchr (sbname,'\n')) *s = '\0'; ^ == 9 warnings generated. utf8.c:383:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (script,utf8_scvalid[i].name)) ^~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:383:36: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (script,utf8_scvalid[i].name)) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:400:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (charset,utf8_csvalid[i].name)) ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:400:37: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (charset,utf8_csvalid[i].name)) ^~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:586:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] short iso2022jp = !compare_cstring (charset,"ISO-2022-JP"); ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:586:47: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] short iso2022jp = !compare_cstring (charset,"ISO-2022-JP"); ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:613:26: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (dcs->name,"ISO-2022-JP"))) ? ^~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:613:36: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (dcs->name,"ISO-2022-JP"))) ? ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:647:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] return (currmapcs && !compare_cstring (charset,currmapcs->name)) ? currmap : ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:647:50: warning: passing 'char *const' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] return (currmapcs && !compare_cstring (charset,currmapcs->name)) ? currmap : ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:662:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (ret = utf8_rmap_gen (cs,currmap)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:662:16: note: place parentheses around the assignment to silence this warning else if (ret = utf8_rmap_gen (cs,currmap)) { ^ ( ) utf8.c:662:16: note: use '==' to turn this assignment into an equality comparison else if (ret = utf8_rmap_gen (cs,currmap)) { ^ == utf8.c:794:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = utf8_rmapsize (text,rmap,errch,iso2022jp)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:794:9: note: place parentheses around the assignment to silence this warning if (i = utf8_rmapsize (text,rmap,errch,iso2022jp)) { ^ ( ) utf8.c:794:9: note: use '==' to turn this assignment into an equality comparison if (i = utf8_rmapsize (text,rmap,errch,iso2022jp)) { ^ == utf8.c:1189:11: warning: implicit conversion from 'int' to 'unsigned char' changes value from 65533 to 253 [-Wconstant-conversion] c = JISTOUNICODE (c,c1,ku,ten); ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./jis_0208.c:49:26: note: expanded from macro 'JISTOUNICODE' jis0208tab[ku][ten] : UBOGON) ^~~~~~ ./utf8.h:386:16: note: expanded from macro 'UBOGON' #define UBOGON UCS2_BOGON ^~~~~~~~~~ ./utf8.h:351:20: note: expanded from macro 'UCS2_BOGON' #define UCS2_BOGON 0xfffd /* replacement character */ ^~~~~~ utf8.c:1291:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"ISO-2022-JP")) s = "EUC-JP"; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:1291:29: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"ISO-2022-JP")) s = "EUC-JP"; ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ utf8.c:1293:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (cs = utf8_charset (s)) { ~~~^~~~~~~~~~~~~~~~~~ utf8.c:1293:12: note: place parentheses around the assignment to silence this warning if (cs = utf8_charset (s)) { ^ ( ) utf8.c:1293:12: note: use '==' to turn this assignment into an equality comparison if (cs = utf8_charset (s)) { ^ == utf8.c:2395:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (m = (struct decomposemore *) *more) switch (m->type) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2395:11: note: place parentheses around the assignment to silence this warning if (m = (struct decomposemore *) *more) switch (m->type) { ^ ( ) utf8.c:2395:11: note: use '==' to turn this assignment into an equality comparison if (m = (struct decomposemore *) *more) switch (m->type) { ^ == utf8.c:2418:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = ucs4_dbmploixtab[c - UCS4_BMPLOMIN]) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2418:13: note: place parentheses around the assignment to silence this warning if (i = ucs4_dbmploixtab[c - UCS4_BMPLOMIN]) { ^ ( ) utf8.c:2418:13: note: use '==' to turn this assignment into an equality comparison if (i = ucs4_dbmploixtab[c - UCS4_BMPLOMIN]) { ^ == utf8.c:2448:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = ucs4_dbmphiixtab[c - UCS4_BMPHIMIN]) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2448:13: note: place parentheses around the assignment to silence this warning if (i = ucs4_dbmphiixtab[c - UCS4_BMPHIMIN]) { ^ ( ) utf8.c:2448:13: note: use '==' to turn this assignment into an equality comparison if (i = ucs4_dbmphiixtab[c - UCS4_BMPHIMIN]) { ^ == utf8.c:2513:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (mr = (RECURSIVEMORE *) *more) switch (mr->more->type) { ~~~^~~~~~~~~~~~~~~~~~~~~~~~~ utf8.c:2513:12: note: place parentheses around the assignment to silence this warning if (mr = (RECURSIVEMORE *) *more) switch (mr->more->type) { ^ ( ) utf8.c:2513:12: note: use '==' to turn this assignment into an equality comparison if (mr = (RECURSIVEMORE *) *more) switch (mr->more->type) { ^ == utf8.c:2533: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:2533:12: note: place parentheses around the assignment to silence this warning if (mr = mn) { /* did this value recurse on us? */ ^ ( ) utf8.c:2533:12: note: use '==' to turn this assignment into an equality comparison if (mr = mn) { /* did this value recurse on us? */ ^ == 21 warnings generated. 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 with different sign [-Wpointer-sign] if (mail_utf7_valid (src)) return NIL; ^~~ ./mail.h:1623: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 with different sign [-Wpointer-sign] for (s = cpytxt (&utf7,src,strlen (src)); *s; ++s) switch (*s) { ^~~ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ utf8aux.c:420:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (s = cpytxt (&utf7,src,strlen (src)); *s; ++s) switch (*s) { ^~~ ./misc.h:89: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 with different sign [-Wpointer-sign] for (s = cpytxt (&utf7,src,strlen (src)); *s; ++s) switch (*s) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 warnings generated. dummy.c:124:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) return &dummydriver; ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:124:37: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) return &dummydriver; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:162:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (test,'/')) *++s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ dummy.c:162:13: note: place parentheses around the assignment to silence this warning if (s = strchr (test,'/')) *++s = '\0'; ^ ( ) dummy.c:162:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (test,'/')) *++s = '\0'; ^ == dummy.c:170:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (test,"%*")) { ~~^~~~~~~~~~~~~~~~~~~~~ dummy.c:170:11: note: place parentheses around the assignment to silence this warning if (s = strpbrk (test,"%*")) { ^ ( ) dummy.c:170:11: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (test,"%*")) { ^ == dummy.c:176:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (file,'/')){/* find directory name */ ~~^~~~~~~~~~~~~~~~~~~~ dummy.c:176:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (file,'/')){/* find directory name */ ^ ( ) dummy.c:176:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (file,'/')){/* find directory name */ ^ == dummy.c:185:32: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (pmatch ("INBOX",ucase (test))) { ^~~~ ./misc.h:82:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ dummy.c:185:17: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (pmatch ("INBOX",ucase (test))) { ^~~~~~~ ./misc.h:82: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 with different sign [-Wpointer-sign] if (!compare_cstring (s,"INBOX") && ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:224:31: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"INBOX") && ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:225:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] pmatch ("INBOX",ucase (strcpy (tmp,test)))) ^~~~~~~~~~~~~~~~~ ./misc.h:82:18: note: expanded from macro 'pmatch' pmatch_full (s,pat,NIL) ^~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ dummy.c:225:12: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] pmatch ("INBOX",ucase (strcpy (tmp,test)))) ^~~~~~~ ./misc.h:82: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:227:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:227:31: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:230:19: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:230:21: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:233:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (&sdb)); /* until no more subscriptions */ ~~^~~~~~~~~~~~~~~~ dummy.c:233:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ ( ) dummy.c:233:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ == dummy.c:282: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:282:10: note: place parentheses around the assignment to silence this warning if (dp = opendir (tmp)) { /* do nothing if can't open directory */ ^ ( ) dummy.c:282:10: note: use '==' to turn this assignment into an equality comparison if (dp = opendir (tmp)) { /* do nothing if can't open directory */ ^ == dummy.c:290:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:290:43: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:290:64: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~ ./misc.h:82: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:290:68: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!level && dir && pmatch_full (dir,pat,'/') && !pmatch (dir,"INBOX")) ^~~~~~~ ./misc.h:82: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:294: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:294:64: note: place parentheses around the assignment to silence this warning if (!dir || dir[(len = strlen (dir)) - 1] == '/') while (d = readdir (dp)) ^ ( ) dummy.c:294:64: note: use '==' to turn this assignment into an equality comparison if (!dir || dir[(len = strlen (dir)) - 1] == '/') while (d = readdir (dp)) ^ == dummy.c:304:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:304:38: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:305:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:305:38: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:306:15: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:306:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:315:19: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!pmatch (tmp,"INBOX")) { ^~~ ./misc.h:82: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:315:23: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!pmatch (tmp,"INBOX")) { ^~~~~~~ ./misc.h:82: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:316:25: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:316:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:321:30: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:321:35: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:325:18: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:325:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:331:23: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:331:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:331:56: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:331:60: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (pmatch_full (tmp,pat,'/') && compare_cstring (tmp,"INBOX")) ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:458:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) { ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:458:34: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) { ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:485: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:485:9: note: place parentheses around the assignment to silence this warning if (s = strrchr (path,'/')) { /* found superior to this name? */ ^ ( ) dummy.c:485:9: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (path,'/')) { /* found superior to this name? */ ^ == dummy.c:568:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (old,"INBOX") && stat (oldname,&sbuf)) ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:568:29: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (old,"INBOX") && stat (oldname,&sbuf)) ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:597:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (compare_cstring (stream->mailbox,"INBOX")) ^~~~~~~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:597:42: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (compare_cstring (stream->mailbox,"INBOX")) ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:704:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ dummy.c:705:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) fatal ("Impossible dummy_copy"); ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ dummy.c:726:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:726:33: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ dummy.c:728:23: warning: unsequenced modification and access to 'ts' [-Wunsequenced] if (!ts && !(*(ts = default_proto (NIL))->dtb->create) (ts,"INBOX")) ^ ~~ dummy.c:803:28: warning: expression result unused [-Wunused-value] for (i = 0, s = tmp; *s; *s++) if ((*s == '*') || (*s == '%')) ++i; ^~~~ 53 warnings generated. 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)) { ^ == 2 warnings generated. In file included from fdstring.c:30: In file included from ./osdep.h:43: In file included from /usr/include/stdlib.h:25: In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33: /usr/include/features.h:184:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" ^ 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))) { ^ == 2 warnings generated. rfc822.c:155:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = d = strchr (tmp,':')) { ~~^~~~~~~~~~~~~~~~~~~~~~ rfc822.c:155:11: note: place parentheses around the assignment to silence this warning if (t = d = strchr (tmp,':')) { ^ ( ) rfc822.c:155:11: note: use '==' to turn this assignment into an equality comparison if (t = d = strchr (tmp,':')) { ^ == rfc822.c:159:14: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ucase (tmp); /* coerce to uppercase */ ^~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:198:53: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!env->date && !strcmp (tmp+1,"ATE")) env->date = cpystr (d); ^ ~~~~~~~~~~ rfc822.c:204:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *d++) if (c != ' ') *t++ = c; ~~^~~~~~ rfc822.c:204:13: note: place parentheses around the assignment to silence this warning while (c = *d++) if (c != ' ') *t++ = c; ^ ( ) rfc822.c:204:13: note: use '==' to turn this assignment into an equality comparison while (c = *d++) if (c != ' ') *t++ = c; ^ == rfc822.c:218:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = rfc822_parse_phrase (d)) *t = '\0'; ~~^~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:218:10: note: place parentheses around the assignment to silence this warning if (t = rfc822_parse_phrase (d)) *t = '\0'; ^ ( ) rfc822.c:218:10: note: use '==' to turn this assignment into an equality comparison if (t = rfc822_parse_phrase (d)) *t = '\0'; ^ == rfc822.c:229:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *d++) if (c != ' ') *t++ = c; ~~^~~~~~ rfc822.c:229:13: note: place parentheses around the assignment to silence this warning while (c = *d++) if (c != ' ') *t++ = c; ^ ( ) rfc822.c:229:13: note: use '==' to turn this assignment into an equality comparison while (c = *d++) if (c != ' ') *t++ = c; ^ == rfc822.c:381: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:381:13: note: place parentheses around the assignment to silence this warning if (m = GETPOS (bs)) m--; /* get position in front of character */ ^ ( ) rfc822.c:381:13: note: use '==' to turn this assignment into an equality comparison if (m = GETPOS (bs)) m--; /* get position in front of character */ ^ == rfc822.c:394: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:394: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:394: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:449:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = part->body.mime.text.size) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:449:13: note: place parentheses around the assignment to silence this warning if (i = part->body.mime.text.size) { ^ ( ) rfc822.c:449:13: note: use '==' to turn this assignment into an equality comparison if (i = part->body.mime.text.size) { ^ == rfc822.c:493:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] rfc822_parse_content_header (&part->body,ucase (s1+8),s); ^~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:493:47: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:550:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (name,' ')) *t = '\0'; ~~^~~~~~~~~~~~~~~~~~~ rfc822.c:550:9: note: place parentheses around the assignment to silence this warning if (t = strchr (name,' ')) *t = '\0'; ^ ( ) rfc822.c:550:9: note: use '==' to turn this assignment into an equality comparison if (t = strchr (name,' ')) *t = '\0'; ^ == rfc822.c:563:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->disposition.type = ucase (cpystr (s)); ^~~~~~~~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:563:30: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->disposition.type = ucase (cpystr (s)); ^ ~~~~~~~~~~~~~~~~~~ rfc822.c:577:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] stl->text.data = (unsigned char *) ucase (cpystr (s)); ^~~~~~~~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:604:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (s,body_types[i]); i++); ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:604:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (s,body_types[i]); i++); ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:615:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body_types[body->type] = ucase (s); ^ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:615:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body_types[body->type] = ucase (s); ^ ~~~~~~~~~ rfc822.c:627:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s) body->subtype = ucase (rfc822_cpy (s)); ^~~~~~~~~~~~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:627:23: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s) body->subtype = ucase (rfc822_cpy (s)); ^ ~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:645:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (s,body_encodings[i]); i++); ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:645:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (s,body_encodings[i]); i++); ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ rfc822.c:656:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body_encodings[body->encoding] = ucase (s); ^ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:656:35: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body_encodings[body->encoding] = ucase (s); ^ ~~~~~~~~~ rfc822.c:689:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] param->attribute = ucase (cpystr (s)); ^~~~~~~~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ rfc822.c:689:24: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] param->attribute = ucase (cpystr (s)); ^ ~~~~~~~~~~~~~~~~~~ rfc822.c:740: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:740:18: note: place parentheses around the assignment to silence this warning else if (adr = rfc822_parse_address (lst,last,&string,host,0)) { ^ ( ) rfc822.c:740:18: note: use '==' to turn this assignment into an equality comparison else if (adr = rfc822_parse_address (lst,last,&string,host,0)) { ^ == rfc822.c:794: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:794: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:794: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:796:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (adr = rfc822_parse_mailbox (string,defaulthost)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:796:16: note: place parentheses around the assignment to silence this warning else if (adr = rfc822_parse_mailbox (string,defaulthost)) { ^ ( ) rfc822.c:796:16: note: use '==' to turn this assignment into an equality comparison else if (adr = rfc822_parse_mailbox (string,defaulthost)) { ^ == rfc822.c:842: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:842:13: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_address (lst,last,string,defaulthost,depth+1)) { ^ ( ) rfc822.c:842:13: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_address (lst,last,string,defaulthost,depth+1)) { ^ == rfc822.c:901:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (end = rfc822_parse_phrase (s)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:901:16: note: place parentheses around the assignment to silence this warning else if (end = rfc822_parse_phrase (s)) { ^ ( ) rfc822.c:901:16: note: use '==' to turn this assignment into an equality comparison else if (end = rfc822_parse_phrase (s)) { ^ == rfc822.c:1030:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = rfc822_parse_word (string,wspecials)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1030:11: note: place parentheses around the assignment to silence this warning if (t = rfc822_parse_word (string,wspecials)) { ^ ( ) rfc822.c:1030:11: note: use '==' to turn this assignment into an equality comparison if (t = rfc822_parse_word (string,wspecials)) { ^ == rfc822.c:1098:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = rfc822_parse_word (string,wspecials)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1098:14: note: place parentheses around the assignment to silence this warning else if (t = rfc822_parse_word (string,wspecials)) { ^ ( ) rfc822.c:1098:14: note: use '==' to turn this assignment into an equality comparison else if (t = rfc822_parse_word (string,wspecials)) { ^ == rfc822.c:1108:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (string = rfc822_parse_domain (string,&t)) { ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1108:18: note: place parentheses around the assignment to silence this warning if (string = rfc822_parse_domain (string,&t)) { ^ ( ) rfc822.c:1108:18: note: use '==' to turn this assignment into an equality comparison if (string = rfc822_parse_domain (string,&t)) { ^ == rfc822.c:1175:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (st = strchr (st,I2C_ESC)) ~~~^~~~~~~~~~~~~~~~~~~~~ rfc822.c:1175:14: note: place parentheses around the assignment to silence this warning while (st = strchr (st,I2C_ESC)) ^ ( ) rfc822.c:1175:14: note: use '==' to turn this assignment into an equality comparison while (st = strchr (st,I2C_ESC)) ^ == rfc822.c:1374:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = min (len,buf->end - buf->cur)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1374:11: note: place parentheses around the assignment to silence this warning if (i = min (len,buf->end - buf->cur)) { ^ ( ) rfc822.c:1374:11: note: use '==' to turn this assignment into an equality comparison if (i = min (len,buf->end - buf->cur)) { ^ == rfc822.c:1465:45: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:1622:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (; s = strpbrk (src,"\\\""); src = s + 1) { ~~^~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1622:14: note: place parentheses around the assignment to silence this warning for (; s = strpbrk (src,"\\\""); src = s + 1) { ^ ( ) rfc822.c:1622:14: note: use '==' to turn this assignment into an equality comparison for (; s = strpbrk (src,"\\\""); src = s + 1) { ^ == rfc822.c:1740:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (part = part->next); /* until done */ ~~~~~^~~~~~~~~~~~ rfc822.c:1740:17: note: place parentheses around the assignment to silence this warning while (part = part->next); /* until done */ ^ ( ) rfc822.c:1740:17: note: use '==' to turn this assignment into an equality comparison while (part = part->next); /* until done */ ^ == rfc822.c:1808:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (part = part->next); /* until done */ ~~~~~^~~~~~~~~~~~ rfc822.c:1808:17: note: place parentheses around the assignment to silence this warning while (part = part->next); /* until done */ ^ ( ) rfc822.c:1808:17: note: use '==' to turn this assignment into an equality comparison while (part = part->next); /* until done */ ^ == rfc822.c:1964:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (tmp,"\015\012")) *s = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ rfc822.c:1964:8: note: place parentheses around the assignment to silence this warning if (s = strpbrk (tmp,"\015\012")) *s = NIL; ^ ( ) rfc822.c:1964:8: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (tmp,"\015\012")) *s = NIL; ^ == 42 warnings generated. nntp.c:353:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = net_getline (LOCAL->nntpstream->netstream)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:353:14: note: place parentheses around the assignment to silence this warning while (s = net_getline (LOCAL->nntpstream->netstream)) { ^ ( ) nntp.c:353:14: note: use '==' to turn this assignment into an equality comparison while (s = net_getline (LOCAL->nntpstream->netstream)) { ^ == nntp.c:358: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:358:13: note: place parentheses around the assignment to silence this warning if (t = strchr (s,' ')) { /* tie off after newsgroup name */ ^ ( ) nntp.c:358:13: note: use '==' to turn this assignment into an equality comparison if (t = strchr (s,' ')) { /* tie off after newsgroup name */ ^ == nntp.c:362:19: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:362:24: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:365:21: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:365:26: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:397:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = sm_read (&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ~~^~~~~~~~~~~~~~~~ nntp.c:397:9: note: place parentheses around the assignment to silence this warning if (s = sm_read (&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^ ( ) nntp.c:397:9: note: use '==' to turn this assignment into an equality comparison if (s = sm_read (&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^ == nntp.c:397:60: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = sm_read (&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^ ./misc.h:82: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:397:62: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = sm_read (&sdb)) do if (nntp_valid (s) && pmatch (s,mbx)) ^~~ ./misc.h:82: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:399:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (&sdb)); /* until no more subscriptions */ ~~^~~~~~~~~~~~~~~~ nntp.c:399:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ ( ) nntp.c:399:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ == nntp.c:430:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (s = wildmat; s = strchr (s,'%'); *s = '*'); ~~^~~~~~~~~~~~~~~~ nntp.c:430:25: note: place parentheses around the assignment to silence this warning for (s = wildmat; s = strchr (s,'%'); *s = '*'); ^ ( ) nntp.c:430:25: note: use '==' to turn this assignment into an equality comparison for (s = wildmat; s = strchr (s,'%'); *s = '*'); ^ == nntp.c:556:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (state = newsrc_state (stream,name)) { ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:556:20: note: place parentheses around the assignment to silence this warning else if (state = newsrc_state (stream,name)) { ^ ( ) nntp.c:556:20: note: use '==' to turn this assignment into an equality comparison else if (state = newsrc_state (stream,name)) { ^ == nntp.c:566:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:575:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:734:12: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] lcase (strcpy (s,(long) mail_parameters (NIL,GET_NEWSRCCANONHOST,NIL) ? ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:87:38: note: passing argument to parameter 'string' here unsigned char *lcase (unsigned char *string); ^ nntp.c:853:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:854:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:896:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:896:67: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ nntp.c:929:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (t = v = s; c = *v++;) ~~^~~~~~ nntp.c:929:22: note: place parentheses around the assignment to silence this warning for (t = v = s; c = *v++;) ^ ( ) nntp.c:929:22: note: use '==' to turn this assignment into an equality comparison for (t = v = s; c = *v++;) ^ == nntp.c:999:15: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] while ((s = net_getline (LOCAL->nntpstream->netstream)) && strcmp (s,".")){ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:999:72: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] while ((s = net_getline (LOCAL->nntpstream->netstream)) && strcmp (s,".")){ ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ nntp.c:1039:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (ov->subject,'\t')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1039:9: note: place parentheses around the assignment to silence this warning if (t = strchr (ov->subject,'\t')) { ^ ( ) nntp.c:1039:9: note: use '==' to turn this assignment into an equality comparison if (t = strchr (ov->subject,'\t')) { ^ == nntp.c:1042:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->date = strchr (t,'\t')) { ~~~~~~~~~^~~~~~~~~~~~~~~~~ nntp.c:1042:18: note: place parentheses around the assignment to silence this warning if (ov->date = strchr (t,'\t')) { ^ ( ) nntp.c:1042:18: note: use '==' to turn this assignment into an equality comparison if (ov->date = strchr (t,'\t')) { ^ == nntp.c:1045:43: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!elt->day) mail_parse_date (elt,ov->date); ^~~~~~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ nntp.c:1049:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->message_id = strchr (ov->date,'\t')) { ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1049:26: note: place parentheses around the assignment to silence this warning if (ov->message_id = strchr (ov->date,'\t')) { ^ ( ) nntp.c:1049:26: note: use '==' to turn this assignment into an equality comparison if (ov->message_id = strchr (ov->date,'\t')) { ^ == nntp.c:1053:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->references = strchr (ov->message_id,'\t')) { ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1053:21: note: place parentheses around the assignment to silence this warning if (ov->references = strchr (ov->message_id,'\t')) { ^ ( ) nntp.c:1053:21: note: use '==' to turn this assignment into an equality comparison if (ov->references = strchr (ov->message_id,'\t')) { ^ == nntp.c:1057:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (ov->references,'\t')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1057:10: note: place parentheses around the assignment to silence this warning if (t = strchr (ov->references,'\t')) { ^ ( ) nntp.c:1057:10: note: use '==' to turn this assignment into an equality comparison if (t = strchr (ov->references,'\t')) { ^ == nntp.c:1062:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (t,'\t')) { ~~^~~~~~~~~~~~~~~~~ nntp.c:1062:12: note: place parentheses around the assignment to silence this warning if (t = strchr (t,'\t')) { ^ ( ) nntp.c:1062:12: note: use '==' to turn this assignment into an equality comparison if (t = strchr (t,'\t')) { ^ == nntp.c:1066:30: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ov->optional.xref = strchr (t,'\t')) ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ nntp.c:1066:30: note: place parentheses around the assignment to silence this warning if (ov->optional.xref = strchr (t,'\t')) ^ ( ) nntp.c:1066:30: note: use '==' to turn this assignment into an equality comparison if (ov->optional.xref = strchr (t,'\t')) ^ == nntp.c:1099: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:1099:13: note: place parentheses around the assignment to silence this warning if (f = netmsg_slurp (LOCAL->nntpstream->netstream,size,NIL)) { ^ ( ) nntp.c:1099:13: note: use '==' to turn this assignment into an equality comparison if (f = netmsg_slurp (LOCAL->nntpstream->netstream,size,NIL)) { ^ == nntp.c:1151:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (LOCAL->txt = netmsg_slurp (LOCAL->nntpstream->netstream, ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1151:22: note: place parentheses around the assignment to silence this warning if (LOCAL->txt = netmsg_slurp (LOCAL->nntpstream->netstream, ^ ( nntp.c:1151:22: note: use '==' to turn this assignment into an equality comparison if (LOCAL->txt = netmsg_slurp (LOCAL->nntpstream->netstream, ^ == nntp.c:1216:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (msg = utf8_badcharset (charset)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1216:11: note: place parentheses around the assignment to silence this warning if (msg = utf8_badcharset (charset)) { ^ ( ) nntp.c:1216:11: note: use '==' to turn this assignment into an equality comparison if (msg = utf8_badcharset (charset)) { ^ == nntp.c:1269: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:1269:13: note: place parentheses around the assignment to silence this warning if (set = pgm->msgno) { /* must be inside this sequence */ ^ ( ) nntp.c:1269:13: note: use '==' to turn this assignment into an equality comparison if (set = pgm->msgno) { /* must be inside this sequence */ ^ == nntp.c:1277: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:1277:13: note: place parentheses around the assignment to silence this warning if (set = pgm->uid) { /* must be inside this sequence */ ^ ( ) nntp.c:1277:13: note: use '==' to turn this assignment into an equality comparison if (set = pgm->uid) { /* must be inside this sequence */ ^ == nntp.c:1314:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!mail_parse_date (&delt,ov->date) || ^~~~~~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ nntp.c:1513: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:1513: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:1513: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:1522:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (v,'\t')) { ~~^~~~~~~~~~~~~~~~~ nntp.c:1522:8: note: place parentheses around the assignment to silence this warning if (t = strchr (v,'\t')) { ^ ( ) nntp.c:1522:8: note: use '==' to turn this assignment into an equality comparison if (t = strchr (v,'\t')) { ^ == nntp.c:1524: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:1524:12: note: place parentheses around the assignment to silence this warning if (adr = rfc822_parse_address (&adr,adr,&v,BADHOST,0)) { ^ ( ) nntp.c:1524:12: note: use '==' to turn this assignment into an equality comparison if (adr = rfc822_parse_address (&adr,adr,&v,BADHOST,0)) { ^ == nntp.c:1529:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strchr (t,'\t')) { ~~^~~~~~~~~~~~~~~~~ nntp.c:1529:10: note: place parentheses around the assignment to silence this warning if (v = strchr (t,'\t')) { ^ ( ) nntp.c:1529:10: note: use '==' to turn this assignment into an equality comparison if (v = strchr (t,'\t')) { ^ == nntp.c:1531:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (mail_parse_date (&telt,t)) r->date = mail_longdate (&telt); ^ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ nntp.c:1679:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (netstream = /* try to open ordinary connection */ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1679:21: note: place parentheses around the assignment to silence this warning if (netstream = /* try to open ordinary connection */ ^ ( nntp.c:1679:21: note: use '==' to turn this assignment into an equality comparison if (netstream = /* try to open ordinary connection */ ^ == nntp.c:1720:35: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (stream->netstream->stream = ~~~~~~~~~~~~~~~~~~~~~~~~~~^ nntp.c:1720:35: note: place parentheses around the assignment to silence this warning if (stream->netstream->stream = ^ ( nntp.c:1720:35: note: use '==' to turn this assignment into an equality comparison if (stream->netstream->stream = ^ == nntp.c:1817:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (args = strchr (t,' ')) *args++ = '\0'; ~~~~~^~~~~~~~~~~~~~~~ nntp.c:1817:14: note: place parentheses around the assignment to silence this warning if (args = strchr (t,' ')) *args++ = '\0'; ^ ( ) nntp.c:1817:14: note: use '==' to turn this assignment into an equality comparison if (args = strchr (t,' ')) *args++ = '\0'; ^ == nntp.c:1818:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"LISTGROUP")) NNTP.ext.listgroup = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1818:29: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"LISTGROUP")) NNTP.ext.listgroup = T; ^~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"OVER")) NNTP.ext.over = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1819:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"OVER")) NNTP.ext.over = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"HDR")) NNTP.ext.hdr = T; ^ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"HDR")) NNTP.ext.hdr = T; ^~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"PAT")) NNTP.ext.pat = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1821:34: warning: passing 'char [4]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"PAT")) NNTP.ext.pat = T; ^~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) NNTP.ext.starttls = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1822:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) NNTP.ext.starttls = T; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1823:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"MULTIDOMAIN")) NNTP.ext.multidomain = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1823:34: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"MULTIDOMAIN")) NNTP.ext.multidomain = T; ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1825:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"AUTHINFO") && args) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1825:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"AUTHINFO") && args) { ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1828:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (args,"USER")) NNTP.ext.authuser = T; ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1828:29: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (args,"USER")) NNTP.ext.authuser = T; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ nntp.c:1916:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = strstr (env->date," (")) *s = NIL; ^~~~~~~~~ /usr/include/string.h:329:34: note: passing argument to parameter '__haystack' here extern char *strstr (const char *__haystack, const char *__needle) ^ nntp.c:1916:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strstr (env->date," (")) *s = NIL; ~~^~~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:1916:9: note: place parentheses around the assignment to silence this warning if (s = strstr (env->date," (")) *s = NIL; ^ ( ) nntp.c:1916:9: note: use '==' to turn this assignment into an equality comparison if (s = strstr (env->date," (")) *s = NIL; ^ == nntp.c:2214:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = strstr (s,"\015\012.")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~ nntp.c:2214:12: note: place parentheses around the assignment to silence this warning while (t = strstr (s,"\015\012.")) { ^ ( ) nntp.c:2214:12: note: use '==' to turn this assignment into an equality comparison while (t = strstr (s,"\015\012.")) { ^ == 63 warnings generated. smtp.c:166:34: warning: passing 'char [21]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (mb.service,"submit")) { ^~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:166:45: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (mb.service,"submit")) { ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:172:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (netstream = /* try to open ordinary connection */ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ smtp.c:172:21: note: place parentheses around the assignment to silence this warning if (netstream = /* try to open ordinary connection */ ^ ( smtp.c:172:21: note: use '==' to turn this assignment into an equality comparison if (netstream = /* try to open ordinary connection */ ^ == smtp.c:184:23: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] s = compare_cstring ("localhost",mb.host) ? ^~~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:184:35: warning: passing 'char [256]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] s = compare_cstring ("localhost",mb.host) ? ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:690:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"SIZE")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:690:31: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"SIZE")) { ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:694:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"DELIVERBY")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:694:36: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"DELIVERBY")) { ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:698:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:698:36: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) { ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:702:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"AUTH")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:702:36: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"AUTH")) ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:708:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"SIZE")) ESMTP.size.ok = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:708:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"SIZE")) ESMTP.size.ok = T; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:709:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"8BITMIME")) ESMTP.eightbit.ok = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:709:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"8BITMIME")) ESMTP.eightbit.ok = T; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:710:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"DSN")) ESMTP.dsn.ok = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:710:34: warning: passing 'char [4]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"DSN")) ESMTP.dsn.ok = T; ^~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) ESMTP.atrn.ok = T; ^ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ATRN")) ESMTP.atrn.ok = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"SEND")) ESMTP.service.send = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:712:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"SEND")) ESMTP.service.send = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"SOML")) ESMTP.service.soml = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:713:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"SOML")) ESMTP.service.soml = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"SAML")) ESMTP.service.saml = T; ^ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"SAML")) ESMTP.service.saml = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"EXPN")) ESMTP.service.expn = T; ^ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"EXPN")) ESMTP.service.expn = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"HELP")) ESMTP.service.help = T; ^ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"HELP")) ESMTP.service.help = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"TURN")) ESMTP.service.turn = T; ^ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"TURN")) ESMTP.service.turn = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ETRN")) ESMTP.service.etrn = T; ^ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ETRN")) ESMTP.service.etrn = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"STARTTLS")) ESMTP.service.starttls = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:719:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"STARTTLS")) ESMTP.service.starttls = T; ^~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"RELAY")) ESMTP.service.relay = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:720:34: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"RELAY")) ESMTP.service.relay = T; ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"PIPELINING")) ESMTP.service.pipe = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:721:34: warning: passing 'char [11]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"PIPELINING")) ESMTP.service.pipe = T; ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ENHANCEDSTATUSCODES")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:722:34: warning: passing 'char [20]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ENHANCEDSTATUSCODES")) ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"BINARYMIME")) ESMTP.service.bmime = T; ^ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"BINARYMIME")) ESMTP.service.bmime = T; ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (s,"CHUNKING")) ESMTP.service.chunk = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:725:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"CHUNKING")) ESMTP.service.chunk = T; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ smtp.c:783:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = strstr (s,"\015\012.")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~ smtp.c:783:12: note: place parentheses around the assignment to silence this warning while (t = strstr (s,"\015\012.")) { ^ ( ) smtp.c:783:12: note: use '==' to turn this assignment into an equality comparison while (t = strstr (s,"\015\012.")) { ^ == 48 warnings generated. imap4r1.c:505:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = sm_read (&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ~~^~~~~~~~~~~~~~~~ imap4r1.c:505:9: note: place parentheses around the assignment to silence this warning if (s = sm_read (&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^ ( ) imap4r1.c:505:9: note: use '==' to turn this assignment into an equality comparison if (s = sm_read (&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^ == imap4r1.c:505:60: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = sm_read (&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^ ./misc.h:82: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:505:62: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = sm_read (&sdb)) do if (imap_valid (s) && pmatch (s,mbx)) ^~~ ./misc.h:82: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:507:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (&sdb)); /* until no more subscriptions */ ~~^~~~~~~~~~~~~~~~ imap4r1.c:507:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ ( ) imap4r1.c:507:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ == imap4r1.c:564:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (cmd,"LIST")) cmd = "RLIST"; ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:564:33: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (cmd,"LIST")) cmd = "RLIST"; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:566:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (cmd,"LSUB")) cmd = "RLSUB"; ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:566:38: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (cmd,"LSUB")) cmd = "RLSUB"; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:578:12: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] strcmp (imap_send (stream,"FIND ALL.MAILBOXES",args)->key,"BAD")) && ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:579:11: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] !strcmp (imap_send (stream,"FIND MAILBOXES",args)->key,"BAD")) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:702:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ret ? NIL : ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:849: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:849:20: note: place parentheses around the assignment to silence this warning else if (reply = imap_rimap (stream,"*imap",&mb,usr,tmp)); ^ ( ) imap4r1.c:849:20: note: use '==' to turn this assignment into an equality comparison else if (reply = imap_rimap (stream,"*imap",&mb,usr,tmp)); ^ == imap4r1.c:870:27: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!reply || strcmp (reply->tag,"*") || ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:871:11: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] (strcmp (reply->key,"OK") && strcmp (reply->key,"PREAUTH"))) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:871:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] (strcmp (reply->key,"OK") && strcmp (reply->key,"PREAUTH"))) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:872:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (reply) mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:877:37: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (LOCAL->netstream && strcmp (reply->key,"PREAUTH")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:985:36: warning: passing 'char [256]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (mb.mailbox,"INBOX"); ^~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:985:47: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (mb.mailbox,"INBOX"); ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:995:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1041:13: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] !strcmp ((reply = imap_parse_reply (stream,cpystr (tmp)))->tag,"*")){ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:1045:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:1045:44: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:1081:37: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (compare_cstring (reply->tag,tag)) { ^~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1083:70: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] while (compare_cstring ((reply = imap_reply (stream,tag))->tag,tag)) ^~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1098:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1148:39: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (compare_cstring (reply->tag,tag)) ^~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1149:67: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] while (compare_cstring ((reply = imap_reply (stream,tag))->tag,tag)) ^~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:1158:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] lsterr = cpystr (reply->text); ^~~~~~~~~~~ ./misc.h:88:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ imap4r1.c:1210:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1240:12: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] !strcmp (reply->tag,"*")) imap_parse_unsolicited (stream,reply); ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:1245:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] strlen (reply->text),len))) { ^~~~~~~~~~~ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ imap4r1.c:1302:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1317:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1317:13: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:1317:13: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:1317:45: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~^~~~~ imap4r1.c:1317:45: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:1317:45: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:1342:40: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!imap_OK (stream,reply)) mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1363:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1416:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ov.date = env->date; ^ ~~~~~~~~~ imap4r1.c:1464:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1499:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = (set->last == 0xffffffff) ? stream->nmsgs : ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1499:10: note: place parentheses around the assignment to silence this warning if (j = (set->last == 0xffffffff) ? stream->nmsgs : ^ ( imap4r1.c:1499:10: note: use '==' to turn this assignment into an equality comparison if (j = (set->last == 0xffffffff) ? stream->nmsgs : ^ == imap4r1.c:1522:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = (k > i) ? k - i : 0) ~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1522:9: note: place parentheses around the assignment to silence this warning if (k = (k > i) ? k - i : 0) ^ ( ) imap4r1.c:1522:9: note: use '==' to turn this assignment into an equality comparison if (k = (k > i) ? k - i : 0) ^ == imap4r1.c:1591:17: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1593:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1700:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strstr (section,".HEADER")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:1700:16: note: place parentheses around the assignment to silence this warning else if (t = strstr (section,".HEADER")) { ^ ( ) imap4r1.c:1700:16: note: use '==' to turn this assignment into an equality comparison else if (t = strstr (section,".HEADER")) { ^ == imap4r1.c:1823:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1833:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1842:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,WARN); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1846:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1884:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = imap_uidlookahead) {/* build UID list */ ~~^~~~~~~~~~~~~~~~~~~ imap4r1.c:1884:11: note: place parentheses around the assignment to silence this warning if (k = imap_uidlookahead) {/* build UID list */ ^ ( ) imap4r1.c:1884:11: note: use '==' to turn this assignment into an equality comparison if (k = imap_uidlookahead) {/* build UID list */ ^ == imap4r1.c:1899:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1935:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:1976:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2044:11: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] !strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:2048: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:2048:50: note: place parentheses around the assignment to silence this warning for (set = ss; set; set = set->next) if (i = set->first) { ^ ( ) imap4r1.c:2048:50: note: use '==' to turn this assignment into an equality comparison for (set = ss; set; set = set->next) if (i = set->first) { ^ == imap4r1.c:2063:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:2069:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2105:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2168:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(flags & SE_UID) && !strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:2175:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:2184:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2271:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (thr->name,type)) ^~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2271:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (thr->name,type)) ^~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2331:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(flags & SE_UID) && !strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:2338:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:2346:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2370:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,imap_OK (stream,reply) ? (long) NIL : ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2395:36: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mail_sequence (stream,sequence)) { ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ imap4r1.c:2423:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (reply) mm_log (reply->text,ret ? (long) NIL : ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2461:65: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (ir && pc && LOCAL->referral && mail_sequence (stream,sequence) && ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ imap4r1.c:2465:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2518:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2581:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2611:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ imap4r1.c:2615:44: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->reply.tag = LOCAL->reply.line = cpystr ("*"); ^ ~~~~~~~~~~~~ imap4r1.c:2616:24: warning: assigning to 'unsigned char *' from 'char [4]' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->reply.key = "BAD"; ^ ~~~~~ imap4r1.c:2617:25: warning: assigning to 'unsigned char *' from 'char [19]' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->reply.text = "Bad date in append"; ^ ~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2650:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = (MESSAGECACHE *) (*mc) (stream,i,CH_ELT)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2650:15: note: place parentheses around the assignment to silence this warning if (elt = (MESSAGECACHE *) (*mc) (stream,i,CH_ELT)) ^ ( ) imap4r1.c:2650:15: note: use '==' to turn this assignment into an equality comparison if (elt = (MESSAGECACHE *) (*mc) (stream,i,CH_ELT)) ^ == imap4r1.c:2705:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:2705:13: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:2705:13: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:2705:45: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (t = thr) { ~~^~~~~ imap4r1.c:2705:45: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (t = thr) { ^ ( ) imap4r1.c:2705:45: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (t = thr) { ^ == imap4r1.c:2813:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2837:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2859:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2882:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_log (reply->text,ERROR); ^~~~~~~~~~~ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ imap4r1.c:2919:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (*sc) (stream,cmd,((compare_cstring (cmd,"FETCH") && ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2919:46: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (*sc) (stream,cmd,((compare_cstring (cmd,"FETCH") && ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] compare_cstring (cmd,"STORE") && ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2920:25: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (cmd,"STORE") && ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2921:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (cmd,"SEARCH")) ? ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2921:25: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (cmd,"SEARCH")) ? ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:2927:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (arglst = args) while (arg = *arglst++) { ~~~~~~~^~~~~~ imap4r1.c:2927:14: note: place parentheses around the assignment to silence this warning if (arglst = args) while (arg = *arglst++) { ^ ( ) imap4r1.c:2927:14: note: use '==' to turn this assignment into an equality comparison if (arglst = args) while (arg = *arglst++) { ^ == imap4r1.c:2927:33: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (arglst = args) while (arg = *arglst++) { ~~~~^~~~~~~~~~~ imap4r1.c:2927:33: note: place parentheses around the assignment to silence this warning if (arglst = args) while (arg = *arglst++) { ^ ( ) imap4r1.c:2927:33: note: use '==' to turn this assignment into an equality comparison if (arglst = args) while (arg = *arglst++) { ^ == imap4r1.c:2947: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:2947: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:2947: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:2951: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:2951: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:2951: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:2959: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:2959:12: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&list->text,NIL, ^ ( imap4r1.c:2959:12: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&list->text,NIL, ^ == imap4r1.c:2963:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (list = list->next); ~~~~~^~~~~~~~~~~~ imap4r1.c:2963:19: note: place parentheses around the assignment to silence this warning while (list = list->next); ^ ( ) imap4r1.c:2963:19: note: use '==' to turn this assignment into an equality comparison while (list = list->next); ^ == imap4r1.c:2967: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:2967:17: note: place parentheses around the assignment to silence this warning if (reply = imap_send_spgm (stream,tag,CMDBASE,&s,arg->text, ^ ( imap4r1.c:2967:17: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_spgm (stream,tag,CMDBASE,&s,arg->text, ^ == imap4r1.c:3053: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:3053: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:3053: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:3074:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!map->date || mail_parse_date (&elt,map->date)) { ^~~~~~~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ imap4r1.c:3075:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = map->flags) { /* flags given? */ ~~^~~~~~~~~~~~ imap4r1.c:3075:10: note: place parentheses around the assignment to silence this warning if (t = map->flags) { /* flags given? */ ^ ( ) imap4r1.c:3075:10: note: use '==' to turn this assignment into an equality comparison if (t = map->flags) { /* flags given? */ ^ == imap4r1.c:3087: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:3087:16: note: place parentheses around the assignment to silence this warning if (reply = imap_send_astring (stream,tag,&s,&st,NIL, ^ ( imap4r1.c:3087:16: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_astring (stream,tag,&s,&st,NIL, ^ == imap4r1.c:3091: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:3091:14: note: place parentheses around the assignment to silence this warning if (reply = imap_send_literal (stream,tag,&s,map->message)) ^ ( ) imap4r1.c:3091:14: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_literal (stream,tag,&s,map->message)) ^ == imap4r1.c:3121:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (list = list->next); ~~~~~^~~~~~~~~~~~ imap4r1.c:3121:19: note: place parentheses around the assignment to silence this warning while (list = list->next); ^ ( ) imap4r1.c:3121:19: note: use '==' to turn this assignment into an equality comparison while (list = list->next); ^ == imap4r1.c:3200:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (strcmp (reply->tag,"+")) {/* prompt for more data? */ ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3355:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (hdr = pgm->header) do { ~~~~^~~~~~~~~~~~~ imap4r1.c:3355:11: note: place parentheses around the assignment to silence this warning if (hdr = pgm->header) do { ^ ( ) imap4r1.c:3355:11: note: use '==' to turn this assignment into an equality comparison if (hdr = pgm->header) do { ^ == imap4r1.c:3357: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:3357: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:3357: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:3360: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:3360: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:3360: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:3362:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (hdr = hdr->next); ~~~~^~~~~~~~~~~ imap4r1.c:3362:16: note: place parentheses around the assignment to silence this warning } while (hdr = hdr->next); ^ ( ) imap4r1.c:3362:16: note: use '==' to turn this assignment into an equality comparison } while (hdr = hdr->next); ^ == imap4r1.c:3365: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:3365: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:3365: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:3368: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:3368: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:3368: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:3374: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:3374: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:3374: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:3452: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:3452:15: note: place parentheses around the assignment to silence this warning if (reply = imap_send_literal (stream,tag,s,&st)) return reply; ^ ( ) imap4r1.c:3452:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_send_literal (stream,tag,s,&st)) return reply; ^ == imap4r1.c:3454: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:3454: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:3454: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:3555: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:3555:15: note: place parentheses around the assignment to silence this warning if (reply = imap_parse_reply (stream,net_getline (LOCAL->netstream))) { ^ ( ) imap4r1.c:3555:15: note: use '==' to turn this assignment into an equality comparison if (reply = imap_parse_reply (stream,net_getline (LOCAL->netstream))) { ^ == imap4r1.c:3557:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (reply->tag,"+")) return reply; ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3559:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->tag,"*")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3564:31: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (tag && !compare_cstring (tag,reply->tag)) return reply; ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3590:27: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(LOCAL->reply.line = text)) { ^ ~~~~ imap4r1.c:3596:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (stream->debug) mm_dlog (LOCAL->reply.line); ^~~~~~~~~~~~~~~~~ imap4r1.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ ./mail.h:1599:21: note: passing argument to parameter 'string' here void mm_dlog (char *string); ^ imap4r1.c:3597:38: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(LOCAL->reply.tag = strtok_r (LOCAL->reply.line," ",&r))) { ^~~~~~~~~~~~~~~~~ imap4r1.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ /usr/include/string.h:345:41: note: passing argument to parameter '__s' here extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, ^ imap4r1.c:3597:26: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(LOCAL->reply.tag = strtok_r (LOCAL->reply.line," ",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3603:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (strcmp (LOCAL->reply.tag,"+")) { ^~~~~~~~~~~~~~~~ imap4r1.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3605:28: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(LOCAL->reply.key = strtok_r (NIL," ",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3615:29: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(LOCAL->reply.text = strtok_r (NIL,"\n",&r))) ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3616:54: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->reply.text = LOCAL->reply.key + strlen (LOCAL->reply.key); ^~~~~~~~~~~~~~~~ imap4r1.c:108:15: note: expanded from macro 'LOCAL' #define LOCAL ((IMAPLOCAL *) stream->local) ^ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ imap4r1.c:3619:22: warning: assigning to 'unsigned char *' from 'char [4]' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->reply.key = "BAD"; /* so it barfs if not expecting continuation */ ^ ~~~~~ imap4r1.c:3620:29: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(LOCAL->reply.text = strtok_r (NIL,"\n",&r))) ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3621:25: warning: assigning to 'unsigned char *' from 'char [1]' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->reply.text = ""; ^ ~~ imap4r1.c:3641:40: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->reply.tag = LOCAL->reply.line = cpystr (tag ? tag : "*"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3642:20: warning: assigning to 'unsigned char *' from 'char [3]' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->reply.key = "NO"; ^ ~~~~ imap4r1.c:3643:21: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->reply.text = text; ^ ~~~~ imap4r1.c:3658:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (reply->key,"OK")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3659:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] imap_parse_response (stream,reply->text,NIL,NIL); ^~~~~~~~~~~ imap4r1.c:229:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:3663:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"NO")) ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3664:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] imap_parse_response (stream,reply->text,WARN,NIL); ^~~~~~~~~~~ imap4r1.c:229:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:3666:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (reply->key,"BAD")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3667:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] imap_parse_response (stream,reply->text,ERROR,NIL); ^~~~~~~~~~~ imap4r1.c:229:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:3691:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] msgno = strtoul (reply->key,(char **) &s,10); ^~~~~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:3705:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] s = ucase (strtok_r (reply->text," ",&r)); ^~~~~~~~~~~ /usr/include/string.h:345:41: note: passing argument to parameter '__s' here extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, ^ imap4r1.c:3705:16: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] s = ucase (strtok_r (reply->text," ",&r)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:3707:7: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = strtok_r (NIL,"\n",&r); ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3710:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (s,"EXISTS") && (msgno >= stream->nmsgs)) ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3712:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (s,"RECENT") && (msgno <= stream->nmsgs)) ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3714:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (s,"EXPUNGE") && msgno && (msgno <= stream->nmsgs)) { ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3722:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if ((!strcmp (s,"FETCH") || !strcmp (s,"STORE")) && ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3722:47: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if ((!strcmp (s,"FETCH") || !strcmp (s,"STORE")) && ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3733:32: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] while (prop = (strtok_r (t," )",&r))) { ^ /usr/include/string.h:345:41: note: passing argument to parameter '__s' here extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, ^ imap4r1.c:3733:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (prop = (strtok_r (t," )",&r))) { ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3733:19: note: place parentheses around the assignment to silence this warning while (prop = (strtok_r (t," )",&r))) { ^ ( ) imap4r1.c:3733:19: note: use '==' to turn this assignment into an equality comparison while (prop = (strtok_r (t," )",&r))) { ^ == imap4r1.c:3734:4: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = strtok_r (NIL,"\n",&r); ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3738:22: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (ucase (prop),"FLAGS")) imap_parse_flags (stream,elt,&t); ^~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:3738:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!strcmp (ucase (prop),"FLAGS")) imap_parse_flags (stream,elt,&t); ^~~~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3746:27: warning: passing 'char [27]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_parse_date (elt,"01-Jan-1970 00:00:00 +0000"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ imap4r1.c:3752:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->lastuid.uid = elt->private.uid = strtoul (t,(char **) &t,10); ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:3793:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(s = strchr (md.what,']'))) { ^ ~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3795:15: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (s = md.what; *s && (isdigit (*s) || (*s == '.')); s++); ^ ~~~~~~~ imap4r1.c:3797:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (strncmp (s,"HEADER.FIELDS",13) && ^ /usr/include/string.h:139:33: note: passing argument to parameter '__s1' here extern int strncmp (const char *__s1, const char *__s2, size_t __n) ^ imap4r1.c:3798:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!s[13] || strcmp (s+13,".NOT"))) ^~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3808:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (t = strchr (s = t,' ')) *t++ = '\0'; ^~~~~ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ imap4r1.c:3808:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (t = strchr (s = t,' ')) *t++ = '\0'; ^ ~~~~~~~~~~~~~~~~~~ imap4r1.c:3808:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strchr (s = t,' ')) *t++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:3808:19: note: place parentheses around the assignment to silence this warning else if (t = strchr (s = t,' ')) *t++ = '\0'; ^ ( ) imap4r1.c:3808:19: note: use '==' to turn this assignment into an equality comparison else if (t = strchr (s = t,' ')) *t++ = '\0'; ^ == imap4r1.c:3813:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] md.first = strtoul (s+1,(char **) &s,10) + 1; ^~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:3856:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] elt->rfc822_size = strtoul (t,(char **) &t,10); ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:3887:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (strcmp (s,"COPY")) { ^ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3894:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"FLAGS") && reply->text && ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3896:20: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] (s = strtok_r (reply->text+1," )",&r))) ^~~~~~~~~~~~~ /usr/include/string.h:345:41: note: passing argument to parameter '__s' here extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, ^ imap4r1.c:3896:8: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] (s = strtok_r (reply->text+1," )",&r))) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3899:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] compare_cstring (s,stream->user_flags[i]); i++); ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3905:74: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!stream->user_flags[i]) stream->user_flags[i++] = cpystr (s); ^ ./misc.h:88:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ imap4r1.c:3907:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] while (s = strtok_r (NIL," )",&r)); ^ ~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3907:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = strtok_r (NIL," )",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3907:14: note: place parentheses around the assignment to silence this warning while (s = strtok_r (NIL," )",&r)); ^ ( ) imap4r1.c:3907:14: note: use '==' to turn this assignment into an equality comparison while (s = strtok_r (NIL," )",&r)); ^ == imap4r1.c:3908:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"SEARCH")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3910:39: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) do ^~~~~~~~~~~ /usr/include/string.h:345:41: note: passing argument to parameter '__s' here extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, ^ imap4r1.c:3910:27: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) do ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3911:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (i = strtoul (t,NIL,10)) { ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:3911:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = strtoul (t,NIL,10)) { ~~^~~~~~~~~~~~~~~~~~~~ imap4r1.c:3911:13: note: place parentheses around the assignment to silence this warning if (i = strtoul (t,NIL,10)) { ^ ( ) imap4r1.c:3911:13: note: use '==' to turn this assignment into an equality comparison if (i = strtoul (t,NIL,10)) { ^ == imap4r1.c:3920:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] } while (t = strtok_r (NIL," ",&r)); ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3920:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (t = strtok_r (NIL," ",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3920:18: note: place parentheses around the assignment to silence this warning } while (t = strtok_r (NIL," ",&r)); ^ ( ) imap4r1.c:3920:18: note: use '==' to turn this assignment into an equality comparison } while (t = strtok_r (NIL," ",&r)); ^ == imap4r1.c:3922:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"SORT")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3930:39: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) { ^~~~~~~~~~~ /usr/include/string.h:345:41: note: passing argument to parameter '__s' here extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, ^ imap4r1.c:3930:27: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (reply->text && (t = strtok_r (reply->text," ",&r))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3931:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] do if ((i = atol (t)) && (LOCAL->filter ? ^ /usr/include/stdlib.h:366:26: note: passing argument to parameter '__nptr' here __NTH (atol (const char *__nptr)) ^ imap4r1.c:3934:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] while ((t = strtok_r (NIL," ",&r)) && (LOCAL->sortsize < stream->nmsgs)); ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:3940:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"THREAD")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3944:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = reply->text) { ~~^~~~~~~~~~~~~ imap4r1.c:3944:11: note: place parentheses around the assignment to silence this warning if (s = reply->text) { ^ ( ) imap4r1.c:3944:11: note: use '==' to turn this assignment into an equality comparison if (s = reply->text) { ^ == imap4r1.c:3955:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"STATUS") && reply->text) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:3959:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] (*txt++ == ' ') && (*txt++ == '(') && (s = strchr (txt,')')) && ^~~ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ imap4r1.c:3959:43: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] (*txt++ == ' ') && (*txt++ == '(') && (s = strchr (txt,')')) && ^ ~~~~~~~~~~~~~~~~ imap4r1.c:3965:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] while (*txt && (s = strchr (txt,' '))) { ^~~ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ imap4r1.c:3965:25: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] while (*txt && (s = strchr (txt,' '))) { ^ ~~~~~~~~~~~~~~~~ imap4r1.c:3968:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:3969:28: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (txt,"MESSAGES")) { ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3973:33: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (txt,"RECENT")) { ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3977:33: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (txt,"UNSEEN")) { ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3981:33: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (txt,"UIDNEXT")) { ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3985:33: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (txt,"UIDVALIDITY")) { ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:3994:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] strcpy (strncpy (LOCAL->tmp,stream->mailbox,i) + i,t); ^ /usr/include/string.h:121:70: note: passing argument to parameter '__src' here extern char *strcpy (char *__restrict __dest, const char *__restrict __src) ^ imap4r1.c:4002:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if ((!strcmp (reply->key,"LIST") || !strcmp (reply->key,"LSUB")) && ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4002:53: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if ((!strcmp (reply->key,"LIST") || !strcmp (reply->key,"LSUB")) && ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4004:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] (s = strchr (reply->text,')')) && (s[1] == ' ')) { ^~~~~~~~~~~ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ imap4r1.c:4004:8: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] (s = strchr (reply->text,')')) && (s[1] == ' ')) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4008:23: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (t = strtok_r (reply->text+1," ",&r)) do { ^~~~~~~~~~~~~ /usr/include/string.h:345:41: note: passing argument to parameter '__s' here extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, ^ imap4r1.c:4008:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (t = strtok_r (reply->text+1," ",&r)) do { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4008: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:4008:11: note: place parentheses around the assignment to silence this warning if (t = strtok_r (reply->text+1," ",&r)) do { ^ ( ) imap4r1.c:4008:11: note: use '==' to turn this assignment into an equality comparison if (t = strtok_r (reply->text+1," ",&r)) do { ^ == imap4r1.c:4009:31: warning: passing 'char [13]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"\\NoInferiors")) i |= LATT_NOINFERIORS; ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4010:36: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"\\NoSelect")) i |= LATT_NOSELECT; ^~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4011:36: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"\\Marked")) i |= LATT_MARKED; ^~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"\\Unmarked")) i |= LATT_UNMARKED; ^~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4013:36: warning: passing 'char [13]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"\\HasChildren")) i |= LATT_HASCHILDREN; ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4014:36: warning: passing 'char [15]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"\\HasNoChildren")) i |= LATT_HASNOCHILDREN; ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4017:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] while (t = strtok_r (NIL," ",&r)); ^ ~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4017:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = strtok_r (NIL," ",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4017:14: note: place parentheses around the assignment to silence this warning while (t = strtok_r (NIL," ",&r)); ^ ( ) imap4r1.c:4017:14: note: use '==' to turn this assignment into an equality comparison while (t = strtok_r (NIL," ",&r)); ^ == imap4r1.c:4028: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:4028:11: note: place parentheses around the assignment to silence this warning if (t = imap_parse_astring (stream,&s,reply,&j)) { ^ ( ) imap4r1.c:4028:11: note: use '==' to turn this assignment into an equality comparison if (t = imap_parse_astring (stream,&s,reply,&j)) { ^ == imap4r1.c:4031:13: warning: assigning to 'unsigned char *' from 'char [16384]' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (s = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) t); ^ ~~~~~~~~~~ imap4r1.c:4031:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (s = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) t); ^~~~~~~~~~~~~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ imap4r1.c:4034:59: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (reply->key[1] == 'S') mm_lsub (stream,delimiter,s,i); ^ ./mail.h:1596:54: note: passing argument to parameter 'name' here void mm_lsub (MAILSTREAM *stream,int delimiter,char *name,long attributes); ^ imap4r1.c:4035:38: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else mm_list (stream,delimiter,s,i); ^ ./mail.h:1595:54: note: passing argument to parameter 'name' here void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes); ^ imap4r1.c:4039:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"NAMESPACE")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4046:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = reply->text) { /* parse namespace results */ ~~^~~~~~~~~~~~~ imap4r1.c:4046:11: note: place parentheses around the assignment to silence this warning if (s = reply->text) { /* parse namespace results */ ^ ( ) imap4r1.c:4046:11: note: use '==' to turn this assignment into an equality comparison if (s = reply->text) { /* parse namespace results */ ^ == imap4r1.c:4062:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"ACL") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4068:30: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] do if ((ac->identifier = imap_parse_astring (stream,&s,reply,NIL)) && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4070:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ac->rights = imap_parse_astring (stream,&s,reply,NIL); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4079:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (ar) (*ar) (stream,t,al); ^ imap4r1.c:4083:32: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (ar) (*ar) (stream,t,NIL); ^ imap4r1.c:4087:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"LISTRIGHTS") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4091:35: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s && (*s++ == ' ') && (id = imap_parse_astring (stream,&s,reply,NIL))){ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4093:7: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (r = imap_parse_astring (stream,&s,reply,NIL))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4107:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (lr) (*lr) (stream,t,id,r,rl); ^ imap4r1.c:4112:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (lr) (*lr) (stream,t,id,r,NIL); ^ imap4r1.c:4130:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"MYRIGHTS") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4134:34: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s && (*s++ == ' ') && (r = imap_parse_astring (stream,&s,reply,NIL))) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4140:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mr) (*mr) (stream,t,r); ^ imap4r1.c:4152:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"QUOTA") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4163:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((qc->name = imap_parse_astring (stream,&s,reply,NIL)) && s && ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4165:43: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (isdigit (*s)) qc->usage = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:4166:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (t = strchr (s,' ')) t = s; ^ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ imap4r1.c:4166:15: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (t = strchr (s,' ')) t = s; ^ ~~~~~~~~~~~~~~ imap4r1.c:4166:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strchr (s,' ')) t = s; ~~^~~~~~~~~~~~~~~~ imap4r1.c:4166:15: note: place parentheses around the assignment to silence this warning else if (t = strchr (s,' ')) t = s; ^ ( ) imap4r1.c:4166:15: note: use '==' to turn this assignment into an equality comparison else if (t = strchr (s,' ')) t = s; ^ == imap4r1.c:4168:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (isdigit (*s)) qc->limit = strtoul (s,(char **) &s,10); ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:4169:28: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (t = strpbrk (s," )")) t = s; ^ /usr/include/string.h:302:35: note: passing argument to parameter '__s' here extern char *strpbrk (const char *__s, const char *__accept) ^ imap4r1.c:4169:17: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (t = strpbrk (s," )")) t = s; ^ ~~~~~~~~~~~~~~~~ imap4r1.c:4169:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = strpbrk (s," )")) t = s; ~~^~~~~~~~~~~~~~~~~~ imap4r1.c:4169:17: note: place parentheses around the assignment to silence this warning else if (t = strpbrk (s," )")) t = s; ^ ( ) imap4r1.c:4169:17: note: use '==' to turn this assignment into an equality comparison else if (t = strpbrk (s," )")) t = s; ^ == imap4r1.c:4174:30: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (qt) (*qt) (stream,t,ql); ^ imap4r1.c:4193:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"QUOTAROOT") && (s = reply->text) && ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4208:34: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (qr) (*qr) (stream,t,rl); ^ imap4r1.c:4219:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4219:50: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"OK") || !strcmp (reply->key,"PREAUTH")) ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4220:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] imap_parse_response (stream,reply->text,NIL,T); ^~~~~~~~~~~ imap4r1.c:229:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4221:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"NO")) ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4222:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] imap_parse_response (stream,reply->text,WARN,T); ^~~~~~~~~~~ imap4r1.c:229: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 with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"BAD")) ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4224:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] imap_parse_response (stream,reply->text,ERROR,T); ^~~~~~~~~~~ imap4r1.c:229: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 with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"BYE")) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4227:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] imap_parse_response (stream,reply->text,BYE,T); ^~~~~~~~~~~ imap4r1.c:229:52: note: passing argument to parameter 'text' here void imap_parse_response (MAILSTREAM *stream,char *text,long errflg,long ntfy); ^ imap4r1.c:4229:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"CAPABILITY") && reply->text) ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4230:37: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] imap_parse_capabilities (stream,reply->text); ^~~~~~~~~~~ imap4r1.c:264:56: note: passing argument to parameter 't' here void imap_parse_capabilities (MAILSTREAM *stream,char *t); ^ imap4r1.c:4231:21: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!strcmp (reply->key,"MAILBOX") && reply->text) { ^~~~~~~~~~ /usr/include/string.h:136:32: note: passing argument to parameter '__s1' here extern int strcmp (const char *__s1, const char *__s2) ^ imap4r1.c:4233:37: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((strlen (LOCAL->prefix) + strlen (reply->text)) < IMAPTMPLEN)) ^~~~~~~~~~~ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ imap4r1.c:4234:18: warning: assigning to 'unsigned char *' from 'char [16384]' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (t = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) reply->text); ^ ~~~~~~~~~~ imap4r1.c:4234:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (t = LOCAL->tmp,"%s%s",LOCAL->prefix,(char *) reply->text); ^~~~~~~~~~~~~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ imap4r1.c:4236:25: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_list (stream,NIL,t,NIL); ^ ./mail.h:1595:54: note: passing argument to parameter 'name' here void mm_list (MAILSTREAM *stream,int delimiter,char *name,long attributes); ^ imap4r1.c:4266: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:4266:11: note: place parentheses around the assignment to silence this warning if (s = strchr (strncpy (t = LOCAL->tmp,s,i),' ')) *s++ = '\0'; ^ ( ) imap4r1.c:4266:11: note: use '==' to turn this assignment into an equality comparison if (s = strchr (strncpy (t = LOCAL->tmp,s,i),' ')) *s++ = '\0'; ^ == imap4r1.c:4269:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"UIDVALIDITY") && ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4269:31: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"UIDVALIDITY") && ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4275:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (elt = (MESSAGECACHE *) (*mc) (stream,j,CH_ELT)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4275:12: note: place parentheses around the assignment to silence this warning if (elt = (MESSAGECACHE *) (*mc) (stream,j,CH_ELT)) ^ ( ) imap4r1.c:4275:12: note: use '==' to turn this assignment into an equality comparison if (elt = (MESSAGECACHE *) (*mc) (stream,j,CH_ELT)) ^ == imap4r1.c:4278:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"UIDNEXT")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4278:36: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"UIDNEXT")) ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4280:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"PERMANENTFLAGS") && (*s == '(') && ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4280:36: warning: passing 'char [15]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"PERMANENTFLAGS") && (*s == '(') && ^~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4286:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strtok_r (s+1," ",&r)) do { ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4286:8: note: place parentheses around the assignment to silence this warning if (s = strtok_r (s+1," ",&r)) do { ^ ( ) imap4r1.c:4286:8: note: use '==' to turn this assignment into an equality comparison if (s = strtok_r (s+1," ",&r)) do { ^ == imap4r1.c:4288:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"\\Seen")) stream->perm_seen = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4288:30: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"\\Seen")) stream->perm_seen = T; ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4289:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"\\Deleted")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4289:35: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"\\Deleted")) ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4291:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"\\Flagged")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4291:35: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"\\Flagged")) ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4293:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"\\Answered")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4293:35: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"\\Answered")) ^~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4295:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"\\Draft")) stream->perm_draft = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4295:35: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"\\Draft")) stream->perm_draft = T; ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4300:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = strtok_r (NIL," ",&r)); ~~^~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4300:11: note: place parentheses around the assignment to silence this warning while (s = strtok_r (NIL," ",&r)); ^ ( ) imap4r1.c:4300:11: note: use '==' to turn this assignment into an equality comparison while (s = strtok_r (NIL," ",&r)); ^ == imap4r1.c:4303:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"CAPABILITY")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4303:36: warning: passing 'char [11]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"CAPABILITY")) ^~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4306:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (t,"COPYUID") && ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4306:29: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (t,"COPYUID") && ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4312:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (j && !compare_cstring (t,"APPENDUID") && ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4312:41: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (j && !compare_cstring (t,"APPENDUID") && ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4319:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"REFERRAL")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4319:26: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"REFERRAL")) ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4326:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"UIDNOTSTICKY")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4326:31: warning: passing 'char [13]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"UIDNOTSTICKY")) { ^~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4330:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"READ-ONLY")) stream->rdonly = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4330:36: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"READ-ONLY")) stream->rdonly = T; ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4331:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"READ-WRITE")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4331:36: warning: passing 'char [11]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"READ-WRITE")) ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"PARSE") && !errflg) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4333:36: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"PARSE") && !errflg) ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4375:12: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] nam->name = imap_parse_string (stream,txtptr,reply,NIL,NIL,NIL); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4400:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(par->attribute = imap_parse_string (stream,txtptr,reply,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4412:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(par->value = imap_parse_string (stream,txtptr,reply,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4485:29: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (isdigit (*(s = *txtptr)) && ^ ~~~~~~~ /usr/include/ctype.h:192:32: note: expanded from macro 'isdigit' # define isdigit(c) __isctype((c), _ISdigit) ^ /usr/include/ctype.h:89:31: note: expanded from macro '__isctype' ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) ^ imap4r1.c:4487:12: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] strtoul (*txtptr,(char **) txtptr,10))) { ^~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:4571:21: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (*env)->subject = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4578:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (*env)->in_reply_to = imap_parse_string (stream,txtptr,reply,NIL,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4580:24: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (*env)->message_id = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4677:21: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] adr->personal = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4678:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] adr->adl = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4679:20: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] adr->mailbox = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4680:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] adr->host = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4777:19: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] while (*(flag = ++*txtptr) == ' '); ^ ~~~~~~~~~ imap4r1.c:4785:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (flag,"\\Seen")) elt->seen = T; ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4785:34: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (flag,"\\Seen")) elt->seen = T; ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4786:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Deleted")) elt->deleted = T; ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4786:39: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Deleted")) elt->deleted = T; ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4787:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Flagged")) elt->flagged = T; ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4787:39: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Flagged")) elt->flagged = T; ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4788:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Answered")) elt->answered = T; ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4788:39: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Answered")) elt->answered = T; ^~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4789:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Recent")) elt->recent = T; ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4789:39: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Recent")) elt->recent = T; ^~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Draft")) elt->draft = T; ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4790:39: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (flag,"\\Draft")) elt->draft = T; ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4814:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (flag,stream->user_flags[i])) return (1 << i); ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4814:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (flag,stream->user_flags[i])) return (1 << i); ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:4845: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:4845:11: note: place parentheses around the assignment to silence this warning if (i = *txtptr - s) { /* atom ends at atom_special */ ^ ( ) imap4r1.c:4845:11: note: use '==' to turn this assignment into an equality comparison if (i = *txtptr - s) { /* atom ends at atom_special */ ^ == imap4r1.c:4847:46: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = strncpy ((char *) fs_get (i + 1),s,i); ^ /usr/include/string.h:125:32: note: passing argument to parameter '__src' here const char *__restrict __src, size_t __n) ^ imap4r1.c:4847:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = strncpy ((char *) fs_get (i + 1),s,i); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4888:6: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] st = ++*txtptr; /* remember start of string */ ^ ~~~~~~~~~ imap4r1.c:4937:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((i = strtoul (*txtptr,(char **) txtptr,10)) > MAXSERVERLIT) { ^~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:4958: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:4958: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:4958: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:4966: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:4966:28: note: place parentheses around the assignment to silence this warning for (st = string; st = strpbrk (st,"\015\012\011"); *st++ = ' '); ^ ( ) imap4r1.c:4966:28: note: use '==' to turn this assignment into an equality comparison for (st = string; st = strpbrk (st,"\015\012\011"); *st++ = ' '); ^ == imap4r1.c:4968:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(reply->line = net_getline (LOCAL->netstream))) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:4969:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] reply->line = cpystr (""); ^ ~~~~~~~~~~~ imap4r1.c:4970:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (stream->debug) mm_dlog (reply->line); ^~~~~~~~~~~ ./mail.h:1599:21: note: passing argument to parameter 'string' here void mm_dlog (char *string); ^ imap4r1.c:5038:39: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(b = mail_body (stream,msgno,seg))) { ^~~ ./mail.h:1686:19: note: passing argument to parameter 'section' here unsigned char *section); ^ imap4r1.c:5115:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5115: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:5115: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:5115: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:5116:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ucase (body->subtype); ^~~~~~~~~~~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5134:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->location = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5155:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5155: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:5155:13: note: place parentheses around the assignment to silence this warning if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ( ) imap4r1.c:5155:13: note: use '==' to turn this assignment into an equality comparison if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ == imap4r1.c:5156:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ucase (s); /* application always gets uppercase form */ ^ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5165:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (body->subtype = imap_parse_string(stream,txtptr,reply,NIL,NIL,LONGT)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5165: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:5165: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:5165: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:5166:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ucase (body->subtype); /* parse subtype */ ^~~~~~~~~~~~~ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5173:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->id = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5174:25: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->description = imap_parse_string (stream,txtptr,reply,NIL,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5176:13: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5176: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:5176:13: note: place parentheses around the assignment to silence this warning if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ ( ) imap4r1.c:5176:13: note: use '==' to turn this assignment into an equality comparison if (s = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT)) { ^ == imap4r1.c:5177:9: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ucase (s); /* application always gets uppercase form */ ^ ./misc.h:86:38: note: passing argument to parameter 'string' here unsigned char *ucase (unsigned char *string); ^ imap4r1.c:5190:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->size.bytes = strtoul (*txtptr,(char **) txtptr,10); ^~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:5210:30: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->size.lines = strtoul (*txtptr,(char **) txtptr,10); ^~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:5217:12: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->md5 = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5230:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->location = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5278:24: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if(!(par->attribute=imap_parse_string (stream,txtptr,reply,NIL,NIL, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5284:22: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(par->value = imap_parse_string (stream,txtptr,reply,NIL,NIL,LONGT))){ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5306:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((*(s = *txtptr) == 'I') || (*s == 'i')) && ^ ~~~~~~~ imap4r1.c:5330:28: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] body->disposition.type = imap_parse_string (stream,txtptr,reply,NIL,NIL, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5373:14: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (s = imap_parse_string (stream,txtptr,reply,NIL,&i,LONGT)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5373: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:5373: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:5373: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:5441:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (i = strtoul (*txtptr,(char **) txtptr,10)) do ^~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:5441:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = strtoul (*txtptr,(char **) txtptr,10)) do ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5441:11: note: place parentheses around the assignment to silence this warning if (i = strtoul (*txtptr,(char **) txtptr,10)) do ^ ( ) imap4r1.c:5441:11: note: use '==' to turn this assignment into an equality comparison if (i = strtoul (*txtptr,(char **) txtptr,10)) do ^ == imap4r1.c:5446:23: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!(reply->line = net_getline (LOCAL->netstream))) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5447:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] reply->line = cpystr (""); ^ ~~~~~~~~~~~ imap4r1.c:5448:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (stream->debug) mm_dlog (reply->line); ^~~~~~~~~~~ ./mail.h:1599:21: note: passing argument to parameter 'string' here void mm_dlog (char *string); ^ imap4r1.c:5453:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] strtoul (*txtptr,(char **) txtptr,10); ^~~~~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ imap4r1.c:5477:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (th = thr) { ~~~~^~~~~~~~~~~~~~~~~~~~~ imap4r1.c:5477:13: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (th = thr) { ^ ( ) imap4r1.c:5477:13: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (th = thr) { ^ == imap4r1.c:5477:46: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr = LOCAL->cap.threader) while (th = thr) { ~~~^~~~~ imap4r1.c:5477:46: note: place parentheses around the assignment to silence this warning if (thr = LOCAL->cap.threader) while (th = thr) { ^ ( ) imap4r1.c:5477:46: note: use '==' to turn this assignment into an equality comparison if (thr = LOCAL->cap.threader) while (th = thr) { ^ == imap4r1.c:5487:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"IMAP4")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5487:29: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"IMAP4")) ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5489:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IMAP4rev1")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5489:34: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IMAP4rev1")) ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5491:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2")) LOCAL->cap.rfc1176 = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5491:34: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2")) LOCAL->cap.rfc1176 = T; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5492:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2bis")) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5492:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IMAP2bis")) ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5494:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"ACL")) LOCAL->cap.acl = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5494:34: warning: passing 'char [4]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"ACL")) LOCAL->cap.acl = T; ^~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5495:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"QUOTA")) LOCAL->cap.quota = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5495:34: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"QUOTA")) LOCAL->cap.quota = T; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5496:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"LITERAL+")) LOCAL->cap.litplus = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5496:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"LITERAL+")) LOCAL->cap.litplus = T; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5497:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IDLE")) LOCAL->cap.idle = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5497:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IDLE")) LOCAL->cap.idle = T; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5498:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"MAILBOX-REFERRALS")) LOCAL->cap.mbx_ref = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5498:34: warning: passing 'char [18]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"MAILBOX-REFERRALS")) LOCAL->cap.mbx_ref = T; ^~~~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5499:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-REFERRALS")) LOCAL->cap.log_ref = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5499:34: warning: passing 'char [16]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-REFERRALS")) LOCAL->cap.log_ref = T; ^~~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5500:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"NAMESPACE")) LOCAL->cap.namespace = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5500:34: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"NAMESPACE")) LOCAL->cap.namespace = T; ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5501:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"UIDPLUS")) LOCAL->cap.uidplus = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5501:34: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"UIDPLUS")) LOCAL->cap.uidplus = T; ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5502:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) LOCAL->cap.starttls = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5502:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"STARTTLS")) LOCAL->cap.starttls = T; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5503:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"LOGINDISABLED"))LOCAL->cap.logindisabled = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5503:34: warning: passing 'char [14]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"LOGINDISABLED"))LOCAL->cap.logindisabled = T; ^~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5504:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"ID")) LOCAL->cap.id = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5504:34: warning: passing 'char [3]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"ID")) LOCAL->cap.id = T; ^~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5505:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"CHILDREN")) LOCAL->cap.children = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5505:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"CHILDREN")) LOCAL->cap.children = T; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5506:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"MULTIAPPEND")) LOCAL->cap.multiappend = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5506:34: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"MULTIAPPEND")) LOCAL->cap.multiappend = T; ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5507:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"BINARY")) LOCAL->cap.binary = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5507:34: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"BINARY")) LOCAL->cap.binary = T; ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5508:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"UNSELECT")) LOCAL->cap.unselect = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5508:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"UNSELECT")) LOCAL->cap.unselect = T; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5509:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"SASL-IR")) LOCAL->cap.sasl_ir = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5509:34: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"SASL-IR")) LOCAL->cap.sasl_ir = T; ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5510:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"SCAN")) LOCAL->cap.scan = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5510:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"SCAN")) LOCAL->cap.scan = T; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5511:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"URLAUTH")) LOCAL->cap.urlauth = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5511:34: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"URLAUTH")) LOCAL->cap.urlauth = T; ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5512:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"CATENATE")) LOCAL->cap.catenate = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5512:34: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"CATENATE")) LOCAL->cap.catenate = T; ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5513:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"CONDSTORE")) LOCAL->cap.condstore = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5513:34: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"CONDSTORE")) LOCAL->cap.condstore = T; ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5514:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"ESEARCH")) LOCAL->cap.esearch = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5514:34: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"ESEARCH")) LOCAL->cap.esearch = T; ^~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5520:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (s = strchr (t,'=')) { ~~^~~~~~~~~~~~~~~~ imap4r1.c:5520:16: note: place parentheses around the assignment to silence this warning else if (s = strchr (t,'=')) { ^ ( ) imap4r1.c:5520:16: note: use '==' to turn this assignment into an equality comparison else if (s = strchr (t,'=')) { ^ == imap4r1.c:5522:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"THREAD") && !LOCAL->loser) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5522:31: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"THREAD") && !LOCAL->loser) { ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5529:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"AUTH")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5529:36: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"AUTH")) { ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5532:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ANONYMOUS")) LOCAL->cap.authanon = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5532:31: warning: passing 'char [10]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (s,"ANONYMOUS")) LOCAL->cap.authanon = T; ^~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ imap4r1.c:5609:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (s = sequence; t = strpbrk (s,",:"); ) switch (*t++) { ~~^~~~~~~~~~~~~~~~~~ imap4r1.c:5609:24: note: place parentheses around the assignment to silence this warning for (s = sequence; t = strpbrk (s,",:"); ) switch (*t++) { ^ ( ) imap4r1.c:5609:24: note: use '==' to turn this assignment into an equality comparison for (s = sequence; t = strpbrk (s,",:"); ) switch (*t++) { ^ == 424 warnings generated. pop3.c:180:22: warning: passing 'char [256]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (mb.mailbox,"INBOX")) ? &pop3driver : NIL; ^~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:180:33: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (mb.mailbox,"INBOX")) ? &pop3driver : NIL; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:232:36: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (pop3_valid (ref) && pmatch ("INBOX",pat)) : ^~~~~~~ ./misc.h:82: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:232:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (pop3_valid (ref) && pmatch ("INBOX",pat)) : ^~~ ./misc.h:82: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:233:60: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp))) ^~~~~~~ ./misc.h:82: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:233:68: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp))) ^~~ ./misc.h:82: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:248:37: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (pop3_valid (ref) && pmatch ("INBOX",pat)) { ^~~~~~~ ./misc.h:82: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:248:45: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (pop3_valid (ref) && pmatch ("INBOX",pat)) { ^~~ ./misc.h:82: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:253:64: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp)) { ^~~~~~~ ./misc.h:82: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:253:72: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mail_valid_net (pat,&pop3driver,NIL,tmp) && pmatch ("INBOX",tmp)) { ^~~ ./misc.h:82: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:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = sm_read (&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ~~^~~~~~~~~~~~~~~~ pop3.c:279:9: note: place parentheses around the assignment to silence this warning if (s = sm_read (&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^ ( ) pop3.c:279:9: note: use '==' to turn this assignment into an equality comparison if (s = sm_read (&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^ == pop3.c:279:60: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = sm_read (&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^ ./misc.h:82: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:279:62: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = sm_read (&sdb)) do if (pop3_valid (s) && pmatch (s,mbx)) ^~~ ./misc.h:82: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:281:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (&sdb)); /* until no more subscriptions */ ~~^~~~~~~~~~~~~~~~ pop3.c:281:12: note: place parentheses around the assignment to silence this warning while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ ( ) pop3.c:281:12: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ == pop3.c:429:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (LOCAL->loser = mb.loser) strcat (tmp,"/loser"); ~~~~~~~~~~~~~^~~~~~~~~~ pop3.c:429:24: note: place parentheses around the assignment to silence this warning if (LOCAL->loser = mb.loser) strcat (tmp,"/loser"); ^ ( ) pop3.c:429:24: note: use '==' to turn this assignment into an equality comparison if (LOCAL->loser = mb.loser) strcat (tmp,"/loser"); ^ == pop3.c:499:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (args = strchr (t,' ')) *args++ = '\0'; ~~~~~^~~~~~~~~~~~~~~~ pop3.c:499:14: note: place parentheses around the assignment to silence this warning if (args = strchr (t,' ')) *args++ = '\0'; ^ ( ) pop3.c:499:14: note: use '==' to turn this assignment into an equality comparison if (args = strchr (t,' ')) *args++ = '\0'; ^ == pop3.c:500:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"STLS")) LOCAL->cap.stls = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:500:29: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (t,"STLS")) LOCAL->cap.stls = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"PIPELINING")) LOCAL->cap.pipelining = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:501:34: warning: passing 'char [11]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"PIPELINING")) LOCAL->cap.pipelining = T; ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"RESP-CODES")) LOCAL->cap.respcodes = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:502:34: warning: passing 'char [11]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"RESP-CODES")) LOCAL->cap.respcodes = T; ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"TOP")) LOCAL->cap.top = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:503:34: warning: passing 'char [4]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"TOP")) LOCAL->cap.top = T; ^~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"UIDL")) LOCAL->cap.uidl = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:504:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"UIDL")) LOCAL->cap.uidl = T; ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:505:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"USER")) LOCAL->cap.user = T; ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:505:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"USER")) LOCAL->cap.user = T; ^~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IMPLEMENTATION") && args) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:506:34: warning: passing 'char [15]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"IMPLEMENTATION") && args) ^~~~~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:508:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"EXPIRE") && args) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:508:34: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"EXPIRE") && args) { ^~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:510: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:510:13: note: place parentheses around the assignment to silence this warning if (s = strchr(args,' ')){/* separate time from possible USER */ ^ ( ) pop3.c:510:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr(args,' ')){/* separate time from possible USER */ ^ == pop3.c:516:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!compare_cstring (args,"NEVER")) ? 65535 : ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:516:26: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!compare_cstring (args,"NEVER")) ? 65535 : ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:517:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((s && !compare_cstring (s,"USER")) ? -atoi (args) : atoi (args)); ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:517:31: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((s && !compare_cstring (s,"USER")) ? -atoi (args) : atoi (args)); ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:519:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-DELAY") && args) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:519:34: warning: passing 'char [12]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"LOGIN-DELAY") && args) { ^~~~~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:521: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:521:13: note: place parentheses around the assignment to silence this warning if (s = strchr(args,' ')){/* separate time from possible USER */ ^ ( ) pop3.c:521:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr(args,' ')){/* separate time from possible USER */ ^ == pop3.c:527:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->cap.delaysecs = (s && !compare_cstring (s,"USER")) ? ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:527:56: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->cap.delaysecs = (s && !compare_cstring (s,"USER")) ? ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:530:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"SASL") && args) ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:530:34: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (t,"SASL") && args) ^~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ pop3.c:784:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:785:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:843: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:843: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:843: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:948:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:949:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) : ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ pop3.c:947:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pop3.c:947:11: note: place parentheses around the assignment to silence this warning if (ret = sequence ? ((options & EX_UID) ? ^ ( pop3.c:947:11: note: use '==' to turn this assignment into an equality comparison if (ret = sequence ? ((options & EX_UID) ? ^ == 50 warnings generated. unix.c:231:2: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ 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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:530:5: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->ld,LOCK_UN); /* release the lock */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ unix.c:626:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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 with different sign [-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:1699: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 with different sign [-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 with different sign [-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 with different sign [-Wpointer-sign] for (s = (char *) LOCAL->text.data; SIZE (&bs);) switch (c = SNX (&bs)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ unix.c:777:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->ld,LOCK_UN);/* release readwrite lock */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ unix.c:787:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:789:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1755: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 with different sign [-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 with different sign [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1755: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 with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:917:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:922:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:927:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:938:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:948:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:1598: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 with different sign [-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:89: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 with different sign [-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 with different sign [-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 with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:998:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ unix.c:1007:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:1598: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 with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ unix.c:1159:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ unix.c:1196:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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:1341:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->ld,LOCK_UN);/* yes, release the lock */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ unix.c:1372:45: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if ((fd = open (file,flags,mode)) >= 0) flock (fd,op); ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ unix.c:1380:47: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if ((fd = open (file,flags,mode)) >= 0) flock (fd,op); ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ unix.c:1384:10: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] else flock (fd,op); /* paranoid way failed, just flock() it */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ unix.c:1424:17: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] if (now && !utime (stream->mailbox,tp)) LOCAL->filetime = tp[1]; ^ unix.c:1426:3: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (fd,LOCK_UN); /* release flock'ers */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ unix.c:1462:14: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (tmp,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:1463:13: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1598: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 with different sign [-Wpointer-sign] sprintf (tmp,"Mailbox shrank from %lu to %lu bytes, aborted", ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:1474:13: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (tmp,ERROR); /* this is pretty bad */ ^~~ ./mail.h:1598: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 with different sign [-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 with different sign [-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 with different sign [-Wpointer-sign] sprintf (tmp,"Unexpected changes to mailbox (try restarting): %.20s", ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:1501:10: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1598: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 with different sign [-Wpointer-sign] sprintf (tmp,"Unable to parse internal date: %s",(char *) date); ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:1551:12: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1598: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 with different sign [-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 with different sign [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:302:35: note: passing argument to parameter '__s' here extern char *strpbrk (const char *__s, const char *__accept) ^ unix.c:1572:13: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ unix.c:1578:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_csizedtext (stream->user_flags[j],&uf)) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:110: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 with different sign [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ /usr/include/string.h:302:35: note: passing argument to parameter '__s' here extern char *strpbrk (const char *__s, const char *__accept) ^ unix.c:1626:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] strncpy (stream->user_flags[j],s,k); ^ /usr/include/string.h:125:32: note: passing argument to parameter '__src' here const char *__restrict __src, size_t __n) ^ unix.c:1661:16: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu already has UID %lu", ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:1666:16: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu less than %lu", ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:1686:13: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1598: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 with different sign [-Wpointer-sign] if (!compare_cstring (tmp,"STATUS") || ^~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-STATUS") || ^~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-KEYWORDS") || ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-UID") || ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-IMAP") || ^~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-IMAPBASE")) { ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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:2250:10: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] if (!utime (stream->mailbox,tp)) LOCAL->filetime = tp[1]; ^ unix.c:2255:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:2256:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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 with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:2289:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:1598: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 with different sign [-Wpointer-sign] if (!compare_cstring (name,"INBOX") && (unix_valid ("mbox") || !errno) && ^~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!compare_cstring (name,"INBOX") && (unix_valid ("mbox") || !errno) && ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) return unix_create (NIL,"mbox"); ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) return unix_create (NIL,"mbox"); ^~~~~~~ ./misc.h:109: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:2606:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:2619:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:2627:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ unix.c:2648:19: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ unix.c:81:15: note: expanded from macro 'LOCAL' #define LOCAL ((UNIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ 117 warnings generated. mbx.c:233:12: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (flock (fd,LOCK_SH) || ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mbx.c:303:7: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (tmp,tp); /* set the times */ ^ mbx.c:307:61: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (((error = errno) == ENOENT) && !compare_cstring (name,"INBOX")) ^~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (((error = errno) == ENOENT) && !compare_cstring (name,"INBOX")) ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:470:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (flock (fd,LOCK_EX|LOCK_NB)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ 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 with different sign [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) mbx_create (NIL,"INBOX"); ^~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) mbx_create (NIL,"INBOX"); ^~~~~~~ ./misc.h:109: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 with different sign [-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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mbx.c:599:3: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->fd,LOCK_SH); /* lock the file */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mbx.c:654:5: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->fd,LOCK_UN); /* unlock local file */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mbx.c:677:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1755: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 with different sign [-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 with different sign [-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 with different sign [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mbx.c:777:5: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ 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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:857:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) { ^~~~~~~~ ./mail.h:1755: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:897:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:901:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:1687: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 with different sign [-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:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mbx.c:941:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:947:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mbx.c:947:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:964:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1755: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1010:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1015:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1020:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:1687: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 with different sign [-Wpointer-sign] if (!compare_cstring (s,t) && (k |= 1 << m)) break; ^ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!compare_cstring (s,t) && (k |= 1 << m)) break; ^ ./misc.h:109: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 with different sign [-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:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mbx.c:1038:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1044:47: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mbx.c:1044:28: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1059:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1066:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] write (fd,LOCAL->buf,8); ^~~~~~~~~~ mbx.c:83:15: note: expanded from macro 'LOCAL' #define LOCAL ((MBXLOCAL *) stream->local) ^ ./env_unix.h:89:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mbx.c:1076:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ mbx.c:1123:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mbx.c:1214:5: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ mbx.c:1274:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1277:16: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1281:41: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] (i < NUSERFLAGS) && (t = strchr (s,'\015')) && (t - s); ^ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ mbx.c:1281:31: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] if (!stream->user_flags[i] && (strlen (s) <= MAXUSERFLAG)) ^ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mbx.c:1285:39: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] stream->user_flags[i] = cpystr (s); ^ ./misc.h:88: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 with different sign [-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:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1312:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ mbx.c:1312:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ mbx.c:1321:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ mbx.c:1321:47: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] if (!(j = strtoul (s,(char **) &x,10)) && (!(x && *x))) { ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1369:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((m = strtoul (t+13,NIL,16)) && ^~~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1385:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((k = strtoul (t+8,NIL,16)) & fEXPUNGED) { ^~~ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1419:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] elt->user_flags = strtoul (t,NIL,16); ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1447:5: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ mbx.c:1501:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1503:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1511:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1518:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1531:30: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1547:9: warning: initializing 'char *' with an expression of type 'unsigned char *' converts between pointers to integer types with different sign [-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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1562:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1587:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1595:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1602:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mbx.c:1605:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mbx.c:1615:28: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-Wpointer-sign] if (hdr) *hdr = LOCAL->buf; ^ ~~~~~~~~~~ mbx.c:1670:16: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (hdr) *hdr = LOCAL->buf; ^ ~~~~~~~~~~ mbx.c:1680:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (hdr) *hdr = LOCAL->buf; /* possibly return header too */ ^ ~~~~~~~~~~ mbx.c:1732:8: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (!flock (LOCAL->fd,LOCK_EX|LOCK_NB)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ 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 with different sign [-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:89: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)) { ^ == mbx.c:1815:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ 114 warnings generated. mmdf.c:382:2: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ 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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:669:5: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->ld,LOCK_UN); /* release the lock */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mmdf.c:765:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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 with different sign [-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:1699: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 with different sign [-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 with different sign [-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 with different sign [-Wpointer-sign] for (s = (char *) LOCAL->text.data; SIZE (&bs);) switch (c = SNX (&bs)) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ mmdf.c:916:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->ld,LOCK_UN);/* release readwrite lock */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mmdf.c:926:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:928:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1755: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 with different sign [-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 with different sign [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1755: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 with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1052:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1057:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1062:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1073:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1083:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:1598: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 with different sign [-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:89: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 with different sign [-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 with different sign [-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 with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1134:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ mmdf.c:1143:21: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:1598: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 with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (compare_cstring (mailbox,"INBOX")) { ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mmdf.c:1295:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ mmdf.c:1332:12: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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:1470:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->ld,LOCK_UN);/* yes, release the lock */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mmdf.c:1501:45: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if ((fd = open (file,flags,mode)) >= 0) flock (fd,op); ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mmdf.c:1509:47: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if ((fd = open (file,flags,mode)) >= 0) flock (fd,op); ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mmdf.c:1513:10: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] else flock (fd,op); /* paranoid way failed, just flock() it */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mmdf.c:1553:17: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] if (now && !utime (stream->mailbox,tp)) LOCAL->filetime = tp[1]; ^ mmdf.c:1555:3: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (fd,LOCK_UN); /* release flock'ers */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mmdf.c:1591:14: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (tmp,"Mailbox open failed, aborted: %s",strerror (errno)); ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1592:13: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1598: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 with different sign [-Wpointer-sign] sprintf (tmp,"Mailbox shrank from %lu to %lu bytes, aborted", ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1603:13: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (tmp,ERROR); /* this is pretty bad */ ^~~ ./mail.h:1598: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 with different sign [-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 with different sign [-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 with different sign [-Wpointer-sign] sprintf (tmp,"Unexpected changes to mailbox (try restarting): %.20s", ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1634:8: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] MM_LOG (tmp,ERROR); ^~~ ./mail.h:1598: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 with different sign [-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 with different sign [-Wpointer-sign] sprintf (tmp,"Unable to parse internal date: %s",(char *) date); ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1693:14: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1598: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 with different sign [-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 with different sign [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:302:35: note: passing argument to parameter '__s' here extern char *strpbrk (const char *__s, const char *__accept) ^ mmdf.c:1736:13: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); ^ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mmdf.c:1742:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_csizedtext (stream->user_flags[j],&uf)) { ^~~~~~~~~~~~~~~~~~~~~ ./misc.h:110: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 with different sign [-Wpointer-sign] u = strpbrk (s," \n\r"); ^ /usr/include/string.h:302:35: note: passing argument to parameter '__s' here extern char *strpbrk (const char *__s, const char *__accept) ^ mmdf.c:1790:11: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] strncpy (stream->user_flags[j],s,k); ^ /usr/include/string.h:125:32: note: passing argument to parameter '__src' here const char *__restrict __src, size_t __n) ^ mmdf.c:1825:16: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu already has UID %lu", ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1830:16: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (tmp,"Message %lu UID %lu less than %lu", ^~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:1850:13: warning: passing 'unsigned char [1024]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (tmp,WARN); ^~~ ./mail.h:1598: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 with different sign [-Wpointer-sign] if (!compare_cstring (tmp,"STATUS") || ^~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-STATUS") || ^~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-KEYWORDS") || ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-UID") || ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-IMAP") || ^~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] !compare_cstring (tmp,"X-IMAPBASE")) { ^~~~~~~~~~~~ ./misc.h:109: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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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:2396:10: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] if (!utime (stream->mailbox,tp)) LOCAL->filetime = tp[1]; ^ mmdf.c:2401:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:2402:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mmdf.c:236:15: note: expanded from macro 'LOCAL' #define LOCAL ((MMDFLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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 with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mmdf.c:2435:33: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:1598: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)) { ^ == 108 warnings generated. tenex.c:206:2: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ tenex.c:211:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:315:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (flock (fd,LOCK_EX|LOCK_NB)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ 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 with different sign [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~~~~~ ./misc.h:109: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 with different sign [-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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:445:3: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->fd,LOCK_SH); /* lock the file */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ tenex.c:477:5: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->fd,LOCK_UN); /* unlock local file */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ tenex.c:500:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1755: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 with different sign [-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 with different sign [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1755: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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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:657:5: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ 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 with different sign [-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:1687: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 with different sign [-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:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ tenex.c:775:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:781:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ tenex.c:781:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:798:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ tenex.c:857:14: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] else if (flock (LOCAL->fd,LOCK_EX|LOCK_NB)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ tenex.c:895:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:914:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:920:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:927:7: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ tenex.c:961:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:969:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:974:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:979:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1755: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:987:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:992:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (flock (fd,LOCK_SH) || ((ld = lockfd (fd,lock,LOCK_EX)) < 0)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ tenex.c:1009:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:1015:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ tenex.c:70:15: note: expanded from macro 'LOCAL' #define LOCAL ((TENEXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ tenex.c:1022:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ tenex.c:1072:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"mail.txt"); ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ tenex.c:1104:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (flock (fd,LOCK_SH) || ((ld = lockfd (fd,lock,LOCK_EX)) < 0)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ tenex.c:1122:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ tenex.c:1162:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ tenex.c:1244:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ tenex.c:1244:13: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ tenex.c:1253:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ tenex.c:1253:47: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] (elt->private.msg.full.text.size = strtoul (s,(char **) &s,10)) && ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ tenex.c:1300:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] j = strtoul (t,NIL,8); /* get user flags value */ ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ tenex.c:1327:5: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ tenex.c:1378:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:1379:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ tenex.c:1413:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ tenex.c:1421:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ tenex.c:1427:7: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ tenex.c:1456:20: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] read (LOCAL->fd,s = LOCAL->buf,i = min (msiz-siz,(long) MAILTMPLEN)); ^ ~~~~~~~~~~ 76 warnings generated. mtx.c:199:2: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ mtx.c:204:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if ((errno == ENOENT) && !compare_cstring (name,"INBOX")) errno = -1; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:308:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (flock (fd,LOCK_EX|LOCK_NB)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ 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 with different sign [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (ret && !compare_cstring (old,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~~~~~ ./misc.h:109: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 with different sign [-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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:433:3: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->fd,LOCK_SH); /* lock the file */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mtx.c:465:5: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->fd,LOCK_UN); /* unlock local file */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mtx.c:487:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1755: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 with different sign [-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 with different sign [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mtx.c:568:5: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ 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 with different sign [-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:1687: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 with different sign [-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:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mtx.c:686:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:692:45: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mtx.c:692:26: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:709:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mtx.c:768:14: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] else if (flock (LOCAL->fd,LOCK_EX|LOCK_NB)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mtx.c:806:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:824:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:830:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:837:7: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ mtx.c:871:29: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:879:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:884:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:889:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-Wpointer-sign] if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) return NIL; ^~~~~~~~ ./mail.h:1755: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:897:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:902:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (flock (fd,LOCK_SH) || ((ld = lockfd (fd,lock,LOCK_EX)) < 0)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mtx.c:919:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:925:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mtx.c:66:15: note: expanded from macro 'LOCAL' #define LOCAL ((MTXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mtx.c:932:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ mtx.c:982:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) dummy_create (NIL,"INBOX.MTX"); ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mtx.c:1014:7: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (flock (fd,LOCK_SH) || ((ld = lockfd (fd,lock,LOCK_EX)) < 0)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mtx.c:1032:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mtx.c:1065:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ mtx.c:1132:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ mtx.c:1132:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ mtx.c:1141:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] if (!((s = strchr (LOCAL->buf,',')) && (t = strchr (s+1,';')))) { ^~~ /usr/include/string.h:225:34: note: passing argument to parameter '__s' here extern char *strchr (const char *__s, int __c) ^ mtx.c:1141:47: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-Wpointer-sign] (elt->rfc822_size = strtoul (s,(char **) &s,10)) && (!(s && *s)) && ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mtx.c:1188:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] j = strtoul (t,NIL,8); /* get user flags value */ ^ /usr/include/stdlib.h:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mtx.c:1215:5: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ mtx.c:1266:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:1267:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:180:58: note: passing argument to parameter '__nptr' here extern unsigned long int strtoul (const char *__restrict __nptr, ^ mtx.c:1301:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mtx.c:1309:22: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:89:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mtx.c:1315:7: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (stream->mailbox,tp); ^ 70 warnings generated. 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 with different sign [-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 with different sign [-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 with different sign [-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 with different sign [-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:370:36: warning: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types] if ((nmsgs = scandir (tmp,&names,news_select,news_numsort)) >= 0) { ^~~~~~~~~~~ /usr/include/dirent.h:257:13: note: passing argument to parameter '__selector' here int (*__selector) (const struct dirent *), ^ news.c:370:48: warning: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types] if ((nmsgs = scandir (tmp,&names,news_select,news_numsort)) >= 0) { ^~~~~~~~~~~~ /usr/include/dirent.h:258:13: note: passing argument to parameter '__cmp' here int (*__cmp) (const struct dirent **, ^ 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:456:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:457:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:474:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:474:67: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ news.c:495:12: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ news.c:500:20: warning: passing 'unsigned char [65536]' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:157:30: note: passing argument to parameter '__file' here extern int open (const char *__file, int __oflag, ...) __nonnull ((1)); ^ news.c:504:13: warning: assigning to 'char *' from 'unsigned char [65536]' converts between pointers to integer types with different sign [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ news.c:569:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~~~~~~~~~~^~~~~~~~~ news.c:569:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~ ^ ~ news.c:569:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ^~ = news.c:589:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~~~~~~~~~~^~~~~~~~~ news.c:589:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ~ ^ ~ news.c:589:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) *t++ = SNX (&bs); ^~ = 22 warnings generated. 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 with different sign [-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 with different sign [-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. mh.c:193:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((mh_allow_inbox && !compare_cstring (name,"INBOX")) || ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:193:49: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((mh_allow_inbox && !compare_cstring (name,"INBOX")) || ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:194:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (name,MHINBOX) || ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:194:30: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (name,MHINBOX) || ^~~~~~~ mh.c:46:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:198:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = (synonly && compare_cstring (name,"INBOX")) ? ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:198:47: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = (synonly && compare_cstring (name,"INBOX")) ? ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:257:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (v = strpbrk (s," \t")) { ~~^~~~~~~~~~~~~~~~~~~ mh.c:257:8: note: place parentheses around the assignment to silence this warning if (v = strpbrk (s," \t")) { ^ ( ) mh.c:257:8: note: use '==' to turn this assignment into an equality comparison if (v = strpbrk (s," \t")) { ^ == mh.c:259:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"Path:")) { ^ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:259:28: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (s,"Path:")) { ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:330:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ mh.c:330:14: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) mh.c:330:14: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == mh.c:349:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (test,'/')) *++s = '\0'; ~~^~~~~~~~~~~~~~~~~~~ mh.c:349:13: note: place parentheses around the assignment to silence this warning if (s = strchr (test,'/')) *++s = '\0'; ^ ( ) mh.c:349:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (test,'/')) *++s = '\0'; ^ == mh.c:362:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strpbrk (test,"%*")) { ~~^~~~~~~~~~~~~~~~~~~~~ mh.c:362:13: note: place parentheses around the assignment to silence this warning if (s = strpbrk (test,"%*")) { ^ ( ) mh.c:362:13: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (test,"%*")) { ^ == mh.c:369:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (file,'/')) { ~~^~~~~~~~~~~~~~~~~~~~ mh.c:369:13: note: place parentheses around the assignment to silence this warning if (s = strrchr (file,'/')) { ^ ( ) mh.c:369:13: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (file,'/')) { ^ == mh.c:377:27: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (test,MHINBOX)) ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:377:32: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (test,MHINBOX)) ^~~~~~~ mh.c:46:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:406:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:406:27: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:407:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (s = sm_read (&sdb)); /* until no more subscriptions */ ~~^~~~~~~~~~~~~~~~ mh.c:407:14: note: place parentheses around the assignment to silence this warning while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ ( ) mh.c:407:14: note: use '==' to turn this assignment into an equality comparison while (s = sm_read (&sdb)); /* until no more subscriptions */ ^ == mh.c:431:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dp = opendir (curdir)) { /* open directory */ ~~~^~~~~~~~~~~~~~~~~~ mh.c:431:10: note: place parentheses around the assignment to silence this warning if (dp = opendir (curdir)) { /* open directory */ ^ ( ) mh.c:431:10: note: use '==' to turn this assignment into an equality comparison if (dp = opendir (curdir)) { /* open directory */ ^ == mh.c:432: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:432:14: note: place parentheses around the assignment to silence this warning while (d = readdir (dp)) /* scan, ignore . and numeric names */ ^ ( ) mh.c:432:14: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dp)) /* scan, ignore . and numeric names */ ^ == mh.c:438:21: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:438:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:440:16: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:440:21: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-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:516:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dirp = opendir (tmp)) { /* open directory */ ~~~~~^~~~~~~~~~~~~~~ mh.c:516:12: note: place parentheses around the assignment to silence this warning if (dirp = opendir (tmp)) { /* open directory */ ^ ( ) mh.c:516:12: note: use '==' to turn this assignment into an equality comparison if (dirp = opendir (tmp)) { /* open directory */ ^ == mh.c:519: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:519:14: note: place parentheses around the assignment to silence this warning while (d = readdir (dirp)) if (mh_dirfmttest (d->d_name)) { ^ ( ) mh.c:519:14: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dirp)) if (mh_dirfmttest (d->d_name)) { ^ == mh.c:556:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (mh_file (tmp1,newname),'/')) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mh.c:556:11: note: place parentheses around the assignment to silence this warning if (s = strrchr (mh_file (tmp1,newname),'/')) { ^ ( ) mh.c:556:11: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (mh_file (tmp1,newname),'/')) { ^ == mh.c:590:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!compare_cstring (stream->mailbox,MHINBOX) || ^~~~~~~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:590:40: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!compare_cstring (stream->mailbox,MHINBOX) || ^~~~~~~ mh.c:46:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:595:24: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (stream->mailbox,"INBOX")) ? T : NIL; ^~~~~~~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:595:40: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (stream->mailbox,"INBOX")) ? T : NIL; ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:641:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:642:28: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:665:12: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mh.c:670:20: warning: passing 'unsigned char [65536]' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((fd = open (LOCAL->buf,O_RDONLY,NIL)) >= 0)) { ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/fcntl.h:157:30: note: passing argument to parameter '__file' here extern int open (const char *__file, int __oflag, ...) __nonnull ((1)); ^ mh.c:674:13: warning: assigning to 'char *' from 'unsigned char [65536]' converts between pointers to integer types with different sign [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mh.c:740:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) { ~~~~~~~~~~^~~~~~~~~ mh.c:740:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) { ~ ^ ~ mh.c:740:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) { ^~ = mh.c:766:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((CHR (&bs) == '\012')) { ~~~~~~~~~~^~~~~~~~~ mh.c:766:21: note: remove extraneous parentheses around the comparison to silence this warning if ((CHR (&bs) == '\012')) { ~ ^ ~ mh.c:766:21: note: use '=' to turn this equality comparison into an assignment if ((CHR (&bs) == '\012')) { ^~ = mh.c:865:46: warning: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types] long nfiles = scandir (LOCAL->dir,&names,mh_select,mh_numsort); ^~~~~~~~~ /usr/include/dirent.h:257:13: note: passing argument to parameter '__selector' here int (*__selector) (const struct dirent *), ^ mh.c:865:56: warning: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types] long nfiles = scandir (LOCAL->dir,&names,mh_select,mh_numsort); ^~~~~~~~~~ /usr/include/dirent.h:258:13: note: passing argument to parameter '__cmp' here int (*__cmp) (const struct dirent **, ^ mh.c:889:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (void *) names) fs_give ((void **) &s); ~~^~~~~~~~~~~~~~~~ mh.c:889:11: note: place parentheses around the assignment to silence this warning if (s = (void *) names) fs_give ((void **) &s); ^ ( ) mh.c:889:11: note: use '==' to turn this assignment into an equality comparison if (s = (void *) names) fs_give ((void **) &s); ^ == mh.c:902:11: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,++old); ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mh.c:905:19: warning: passing 'unsigned char [65536]' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (((fd = open (LOCAL->buf,O_WRONLY|O_CREAT|O_EXCL, ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/fcntl.h:157:30: note: passing argument to parameter '__file' here extern int open (const char *__file, int __oflag, ...) __nonnull ((1)); ^ mh.c:929:16: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mh_setdate (LOCAL->buf,elt); ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ mh.c:110:24: note: passing argument to parameter 'file' here void mh_setdate (char *file,MESSAGECACHE *elt); ^ mh.c:937:14: warning: passing 'unsigned char [65536]' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] unlink (LOCAL->buf);/* flush this file */ ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/unistd.h:828:32: note: passing argument to parameter '__name' here extern int unlink (const char *__name) __THROW __nonnull ((1)); ^ mh.c:940:8: warning: data argument not used by format string [-Wformat-extra-args] s,strerror (errno)); ^ mh.c:984:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:985:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) { ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:983:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = sequence ? ((options & EX_UID) ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mh.c:983:11: note: place parentheses around the assignment to silence this warning if (ret = sequence ? ((options & EX_UID) ? ^ ( mh.c:983:11: note: use '==' to turn this assignment into an equality comparison if (ret = sequence ? ((options & EX_UID) ? ^ == mh.c:990:11: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mh.c:991:14: warning: passing 'unsigned char [65536]' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (unlink (LOCAL->buf)) {/* try to delete the message */ ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/unistd.h:828:32: note: passing argument to parameter '__name' here extern int unlink (const char *__name) __THROW __nonnull ((1)); ^ mh.c:992:13: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"Expunge of message %lu failed, aborted: %s",i, ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mh.c:994:12: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mh.c:1012:16: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"Expunged %lu messages",n); ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mh.c:1013:15: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mm_log (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mh.c:1044:54: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:1045:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mh.c:1048:11: warning: passing 'unsigned char [65536]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid); ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mh.c:1049:18: warning: passing 'unsigned char [65536]' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((fd = open (LOCAL->buf,O_RDONLY,NIL)) < 0) return NIL; ^~~~~~~~~~ mh.c:72:15: note: expanded from macro 'LOCAL' #define LOCAL ((MHLOCAL *) stream->local) ^ /usr/include/fcntl.h:157:30: note: passing argument to parameter '__file' here extern int open (const char *__file, int __oflag, ...) __nonnull ((1)); ^ mh.c:1061:10: warning: assigning to 'char *' from 'unsigned char [65536]' converts between pointers to integer types with different sign [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mh.c:1109:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!((!compare_cstring (mailbox,MHINBOX) || ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1109:38: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!((!compare_cstring (mailbox,MHINBOX) || ^~~~~~~ mh.c:46:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1110:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (mailbox,"INBOX")) && ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1110:31: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] !compare_cstring (mailbox,"INBOX")) && ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1131:37: warning: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types] if ((nfiles = scandir (tmp,&names,mh_select,mh_numsort)) > 0) { ^~~~~~~~~ /usr/include/dirent.h:257:13: note: passing argument to parameter '__selector' here int (*__selector) (const struct dirent *), ^ mh.c:1131:47: warning: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types] if ((nfiles = scandir (tmp,&names,mh_select,mh_numsort)) > 0) { ^~~~~~~~~~ /usr/include/dirent.h:258:13: note: passing argument to parameter '__cmp' here int (*__cmp) (const struct dirent **, ^ mh.c:1138:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = (void *) names) fs_give ((void **) &s); ~~^~~~~~~~~~~~~~~~ mh.c:1138:9: note: place parentheses around the assignment to silence this warning if (s = (void *) names) fs_give ((void **) &s); ^ ( ) mh.c:1138:9: note: use '==' to turn this assignment into an equality comparison if (s = (void *) names) fs_give ((void **) &s); ^ == mh.c:1149:34: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!mail_parse_date (&elt,date)) { ^~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mh.c:1201:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s++) if (!isdigit (c)) return NIL; ~~^~~~~~ mh.c:1201:12: note: place parentheses around the assignment to silence this warning while (c = *s++) if (!isdigit (c)) return NIL; ^ ( ) mh.c:1201:12: note: use '==' to turn this assignment into an equality comparison while (c = *s++) if (!isdigit (c)) return NIL; ^ == mh.c:1231:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1231:30: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~~~~ mh.c:46:17: note: expanded from macro 'MHINBOX' #define MHINBOX "#mhinbox" /* corresponds to namespace in env_unix.c */ ^~~~~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1231:60: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1231:65: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!compare_cstring (name,MHINBOX) || !compare_cstring (name,"INBOX")) ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mh.c:1264:34: warning: expression result unused [-Wunused-value] for (i = 0, s = pattern; *s; *s++) if ((*s == '*') || (*s == '%')) ++i; ^~~~ mh.c:1282:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ 75 warnings generated. mx.c:186:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) errno = NIL; ^~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (!compare_cstring (name,"INBOX")) errno = NIL; ^~~~~~~ ./misc.h:109: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:277:38: warning: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types] if ((nfiles = scandir (name,&names,mx_select,mx_numsort)) > 0) ^~~~~~~~~ /usr/include/dirent.h:257:13: note: passing argument to parameter '__selector' here int (*__selector) (const struct dirent *), ^ mx.c:277:48: warning: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types] if ((nfiles = scandir (name,&names,mx_select,mx_numsort)) > 0) ^~~~~~~~~~ /usr/include/dirent.h:258:13: note: passing argument to parameter '__cmp' here int (*__cmp) (const struct dirent **, ^ 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 with different sign [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~~~~~ ./misc.h:109: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:462:54: warning: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types] for (i = lasterror = 0,n = scandir (tmp,&names,mx_select,mx_numsort); ^~~~~~~~~ /usr/include/dirent.h:257:13: note: passing argument to parameter '__selector' here int (*__selector) (const struct dirent *), ^ mx.c:462:64: warning: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types] for (i = lasterror = 0,n = scandir (tmp,&names,mx_select,mx_numsort); ^~~~~~~~~~ /usr/include/dirent.h:258:13: note: passing argument to parameter '__cmp' here int (*__cmp) (const struct dirent **, ^ 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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:109: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 with different sign [-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 with different sign [-Wpointer-sign] ((flags & FT_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) ^~~~~~~~ ./mail.h:1755: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mx.c:593:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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/x86_64-linux-gnu/sys/stat.h:449:26: note: passing argument to parameter '__path' here __NTH (stat (const char *__path, struct stat *__statbuf)) ^ mx.c:633:18: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:89: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 with different sign [-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:89:36: note: passing argument to parameter 'text' here char *cpytxt (SIZEDTEXT *dst,char *text,unsigned long size); ^ mx.c:731:51: warning: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types] long nfiles = scandir (stream->mailbox,&names,mx_select,mx_numsort); ^~~~~~~~~ /usr/include/dirent.h:257:13: note: passing argument to parameter '__selector' here int (*__selector) (const struct dirent *), ^ mx.c:731:61: warning: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types] long nfiles = scandir (stream->mailbox,&names,mx_select,mx_numsort); ^~~~~~~~~~ /usr/include/dirent.h:258:13: note: passing argument to parameter '__cmp' here int (*__cmp) (const struct dirent **, ^ 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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mx.c:770:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:157:30: note: passing argument to parameter '__file' here extern int open (const char *__file, int __oflag, ...) __nonnull ((1)); ^ mx.c:794:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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 with different sign [-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:828:32: note: passing argument to parameter '__name' here extern int unlink (const char *__name) __THROW __nonnull ((1)); ^ 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 with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) : LONGT) && ^~~~~~~~ ./mail.h:1755: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mx.c:856:14: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-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:828:32: note: passing argument to parameter '__name' here extern int unlink (const char *__name) __THROW __nonnull ((1)); ^ mx.c:857:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mx.c:859:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mx.c:876:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,(long) NIL); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-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:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mx.c:914:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mx.c:62:15: note: expanded from macro 'LOCAL' #define LOCAL ((MXLOCAL *) stream->local) ^ ./mail.h:1598: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 with different sign [-Wpointer-sign] if (!(ret = ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756: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 with different sign [-Wpointer-sign] mail_sequence (stream,sequence)))); ^~~~~~~~ ./mail.h:1755: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 with different sign [-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 with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mx_create (NIL,"INBOX"); ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] if (!compare_cstring (mailbox,"INBOX")) mx_create (NIL,"INBOX"); ^~~~~~~ ./misc.h:109: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 with different sign [-Wpointer-sign] else if (date && !(ret = mail_parse_date (&elt,date))) { ^~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ 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:1173:5: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->fd,LOCK_EX); /* get exclusive lock */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mx.c:1189:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (t = ++s,'\n')) { ~~^~~~~~~~~~~~~~~~~~~~~~~ mx.c:1189:13: note: place parentheses around the assignment to silence this warning if (s = strchr (t = ++s,'\n')) { ^ ( ) mx.c:1189:13: note: use '==' to turn this assignment into an equality comparison if (s = strchr (t = ++s,'\n')) { ^ == mx.c:1270:5: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] flock (LOCAL->fd,LOCK_UN); /* unlock the index */ ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mx.c:1286:3: warning: implicit declaration of function 'utime' is invalid in C99 [-Wimplicit-function-declaration] utime (file,tp); /* set the times */ ^ 60 warnings generated. mix.c:324:38: warning: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types] if ((nfiles = scandir (name,&names,mix_select,mix_msgfsort)) > 0) ^~~~~~~~~~ /usr/include/dirent.h:257:13: note: passing argument to parameter '__selector' here int (*__selector) (const struct dirent *), ^ mix.c:324:49: warning: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types] if ((nfiles = scandir (name,&names,mix_select,mix_msgfsort)) > 0) ^~~~~~~~~~~~ /usr/include/dirent.h:258:13: note: passing argument to parameter '__cmp' here int (*__cmp) (const struct dirent **, ^ mix.c:336:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mix.c:336:9: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mix.c:336:9: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mix.c:420:27: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] fprintf (f,MTAFMT,now,0,now); ~~~~~~ ^ mix.c:471:50: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] else if (((fd = open (tmp,O_RDWR,NIL)) < 0) || flock (fd,LOCK_EX|LOCK_NB)) ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mix.c:480:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (dirp = opendir (tmp)) { /* open directory */ ~~~~~^~~~~~~~~~~~~~~ mix.c:480:14: note: place parentheses around the assignment to silence this warning if (dirp = opendir (tmp)) { /* open directory */ ^ ( ) mix.c:480:14: note: use '==' to turn this assignment into an equality comparison if (dirp = opendir (tmp)) { /* open directory */ ^ == mix.c:483: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:483:16: note: place parentheses around the assignment to silence this warning while (d = readdir (dirp)) if (mix_dirfmttest (d->d_name)) { ^ ( ) mix.c:483:16: note: use '==' to turn this assignment into an equality comparison while (d = readdir (dirp)) if (mix_dirfmttest (d->d_name)) { ^ == mix.c:516:50: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] else if (((fd = open (tmp,O_RDWR,NIL)) < 0) || flock (fd,LOCK_EX|LOCK_NB)) ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mix.c:529:26: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:529:30: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (compare_cstring (old,"INBOX")) { ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:531:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strrchr (tmp1,'/')) { ~~^~~~~~~~~~~~~~~~~~~~ mix.c:531:13: note: place parentheses around the assignment to silence this warning if (s = strrchr (tmp1,'/')) { ^ ( ) mix.c:531:13: note: use '==' to turn this assignment into an equality comparison if (s = strrchr (tmp1,'/')) { ^ == mix.c:556:54: warning: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types] for (i = lasterror = 0,n = scandir (tmp,&names,mix_rselect,alphasort); ^~~~~~~~~~~ /usr/include/dirent.h:257:13: note: passing argument to parameter '__selector' here int (*__selector) (const struct dirent *), ^ mix.c:569:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mix.c:569:13: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mix.c:569:13: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mix.c:608:37: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~~~~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:608:53: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] stream->inbox = !compare_cstring (stream->mailbox,"INBOX"); ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:610:14: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->buf = (char *) fs_get (CHUNKSIZE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:613:12: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mix_dir (LOCAL->buf,stream->mailbox); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:165:22: note: passing argument to parameter 'dst' here char *mix_dir (char *dst,char *name); ^ mix.c:615:29: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] stream->mailbox = cpystr (LOCAL->buf); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./misc.h:88:27: note: passing argument to parameter 'string' here char *cpystr (const char *string); ^ mix.c:618:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((LOCAL->mfd = open (mix_file (LOCAL->buf,stream->mailbox,MIXMETA), ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:166:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:621:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] ((LOCAL->mfd = open (mix_file (LOCAL->buf,stream->mailbox,MIXMETA), ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:166:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:623:3: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] !flock (LOCAL->mfd,LOCK_SH))) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mix.c:629:38: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->index = cpystr (mix_file (LOCAL->buf,stream->mailbox,MIXINDEX)); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:166:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:630:39: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->status = cpystr (mix_file (LOCAL->buf,stream->mailbox,MIXSTATUS)); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:166:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:631:42: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->sortcache = cpystr (mix_file (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:166:23: note: passing argument to parameter 'dst' here char *mix_file (char *dst,char *dir,char *name); ^ mix.c:636:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (silent = stream->silent) LOCAL->internal = T; ~~~~~~~^~~~~~~~~~~~~~~~ mix.c:636:16: note: place parentheses around the assignment to silence this warning if (silent = stream->silent) LOCAL->internal = T; ^ ( ) mix.c:636:16: note: use '==' to turn this assignment into an equality comparison if (silent = stream->silent) LOCAL->internal = T; ^ == mix.c:720:46: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((LOCAL->msgfd = open (mix_file_data (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:167:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:732:16: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = j) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:737:17: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] !strncmp (LOCAL->buf,MSGTOK,MSGTSZ) && ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:139:33: note: passing argument to parameter '__s1' here extern int strncmp (const char *__s1, const char *__s2, size_t __n) ^ mix.c:754:22: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:302:35: note: passing argument to parameter '__s' here extern char *strpbrk (const char *__s, const char *__accept) ^ mix.c:754: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:754:11: note: place parentheses around the assignment to silence this warning if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ^ ( ) mix.c:754:11: note: use '==' to turn this assignment into an equality comparison if (s = strpbrk (LOCAL->buf,"\015\012")) *s = '\0'; ^ == mix.c:783:46: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((LOCAL->msgfd = open (mix_file_data (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:167:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:807:11: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] d.chunk = LOCAL->buf; /* initial buffer chunk */ ^ ~~~~~~~~~~ mix.c:832:53: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (((flags & ST_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:833:30: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence)) && ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:965: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:965:16: note: place parentheses around the assignment to silence this warning if (snarfok = mail_append_full (stream,"INBOX",flags,date,&msg)) { ^ ( ) mix.c:965:16: note: use '==' to turn this assignment into an equality comparison if (snarfok = mail_append_full (stream,"INBOX",flags,date,&msg)) { ^ == mix.c:975:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"Can't copy new mail at message: %lu",i - 1); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:976:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:990:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (statf = mix_parse (stream,&idxf,LONGT, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:990:13: note: place parentheses around the assignment to silence this warning if (statf = mix_parse (stream,&idxf,LONGT, ^ ( mix.c:990:13: note: use '==' to turn this assignment into an equality comparison if (statf = mix_parse (stream,&idxf,LONGT, ^ == mix.c:1035:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1036:25: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence))) || stream->rdonly); ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1038:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (statf = mix_parse (stream,&idxf,LONGT, ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1038:18: note: place parentheses around the assignment to silence this warning else if (statf = mix_parse (stream,&idxf,LONGT, ^ ( mix.c:1038:18: note: use '==' to turn this assignment into an equality comparison else if (statf = mix_parse (stream,&idxf,LONGT, ^ == mix.c:1051:10: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] if (!flock (LOCAL->mfd,LOCK_EX|LOCK_NB)) { ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mix.c:1054:53: warning: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types] long nfiles = scandir (stream->mailbox,&names,mix_select,mix_msgfsort); ^~~~~~~~~~ /usr/include/dirent.h:257:13: note: passing argument to parameter '__selector' here int (*__selector) (const struct dirent *), ^ mix.c:1054:64: warning: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types] long nfiles = scandir (stream->mailbox,&names,mix_select,mix_msgfsort); ^~~~~~~~~~~~ /usr/include/dirent.h:258:13: note: passing argument to parameter '__cmp' here int (*__cmp) (const struct dirent **, ^ mix.c:1087:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"Can't locate mix message file %.08lx", ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1089:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1098:30: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mix_file_data (LOCAL->buf,stream->mailbox,cur->fileno) && ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:167:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:1100:19: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] truncate (LOCAL->buf,0) : unlink (LOCAL->buf))) { ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/unistd.h:994:34: note: passing argument to parameter '__file' here extern int truncate (const char *__file, __off_t __length) ^ mix.c:1100:43: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] truncate (LOCAL->buf,0) : unlink (LOCAL->buf))) { ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/unistd.h:828:32: note: passing argument to parameter '__name' here extern int unlink (const char *__name) __THROW __nonnull ((1)); ^ mix.c:1101:17: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1104:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1110:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (a = (void *) names) fs_give ((void **) &a); ~~^~~~~~~~~~~~~~~~ mix.c:1110:13: note: place parentheses around the assignment to silence this warning if (a = (void *) names) fs_give ((void **) &a); ^ ( ) mix.c:1110:13: note: use '==' to turn this assignment into an equality comparison if (a = (void *) names) fs_give ((void **) &a); ^ == mix.c:1131:26: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (nexp) sprintf (s = LOCAL->buf,"Expunged %lu messages",nexp); ^ ~~~~~~~~~~ mix.c:1133:17: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (s=LOCAL->buf,"Reclaimed %lu bytes of expunged space",reclaimed); ^~~~~~~~~~~ mix.c:1223:18: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] mix_file_data (LOCAL->buf,stream->mailbox,burp->fileno); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:167:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:1227:15: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (stat (LOCAL->buf,&sbuf)) { ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/x86_64-linux-gnu/sys/stat.h:449:26: note: passing argument to parameter '__path' here __NTH (stat (const char *__path, struct stat *__statbuf)) ^ mix.c:1228:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,staterr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1229:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1232:54: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mix_burp_check (&burp->set,sbuf.st_size,LOCAL->buf)) { ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:147:55: note: passing argument to parameter 'file' here long mix_burp_check (SEARCHSET *set,size_t size,char *file); ^ mix.c:1236:33: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (ret = !truncate (LOCAL->buf,burp->set.last)) ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/unistd.h:994:34: note: passing argument to parameter '__file' here extern int truncate (const char *__file, __off_t __length) ^ mix.c:1236: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:1236:20: note: place parentheses around the assignment to silence this warning else if (ret = !truncate (LOCAL->buf,burp->set.last)) ^ ( ) mix.c:1236:20: note: use '==' to turn this assignment into an equality comparison else if (ret = !truncate (LOCAL->buf,burp->set.last)) ^ == mix.c:1239:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,truncerr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1240:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1245:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (((fd = open (LOCAL->buf,O_RDWR,NIL)) < 0) || ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/fcntl.h:157:30: note: passing argument to parameter '__file' here extern int open (const char *__file, int __oflag, ...) __nonnull ((1)); ^ mix.c:1247:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"Error opening mix message file %.80s: %.80s", ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1249:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1253:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,staterr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1254:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1259:52: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (mix_burp_check (&burp->set,sbuf.st_size,LOCAL->buf)) { ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:147:55: note: passing argument to parameter 'file' here long mix_burp_check (SEARCHSET *set,size_t size,char *file); ^ mix.c:1264:13: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] strncmp (LOCAL->buf,MSGTOK,MSGTSZ)) { ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:139:33: note: passing argument to parameter '__s1' here extern int strncmp (const char *__s1, const char *__s2, size_t __n) ^ mix.c:1265:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,"Bad message token in mix message file at %lu", ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1267:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1307:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,truncerr,burp->name,strerror (errno)); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1308:15: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,WARN); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:1340:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (set = set->next); ~~~~^~~~~~~~~~~ mix.c:1340:16: note: place parentheses around the assignment to silence this warning } while (set = set->next); ^ ( ) mix.c:1340:16: note: use '==' to turn this assignment into an equality comparison } while (set = set->next); ^ == mix.c:1357:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] long ret = mix_isvalid (mailbox,LOCAL->buf); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:236:36: note: passing argument to parameter 'meta' here long mix_isvalid (char *name,char *meta) ^ mix.c:1375:68: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (!(ret = ((options & CP_UID) ? mail_uid_sequence (stream,sequence) : ^~~~~~~~ ./mail.h:1756:59: note: passing argument to parameter 'sequence' here long mail_uid_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1376:29: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_sequence (stream,sequence)))); ^~~~~~~~ ./mail.h:1755:55: note: passing argument to parameter 'sequence' here long mail_sequence (MAILSTREAM *stream,unsigned char *sequence); ^ mix.c:1378: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:1378:16: note: place parentheses around the assignment to silence this warning else if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ ( mix.c:1378:16: note: use '==' to turn this assignment into an equality comparison else if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ == mix.c:1393:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (local->buf,MSRFMT,MSGTOK,0,0,0,0,0,0,0,'+',0,0,0); ^~~~~~~~~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1393:39: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (local->buf,MSRFMT,MSGTOK,0,0,0,0,0,0,0,'+',0,0,0); ~~~~~~ ^ mix.c:1393:61: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (local->buf,MSRFMT,MSGTOK,0,0,0,0,0,0,0,'+',0,0,0); ~~~~~~ ^ mix.c:1394:23: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] hdrsize = strlen (local->buf); ^~~~~~~~~~ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mix.c:1403: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:159:55: note: passing argument to parameter 'size' here FILE *mix_data_open (MAILSTREAM *stream,int *fd,long *size, ^ mix.c:1403: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:1403:14: note: place parentheses around the assignment to silence this warning if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ^ ( ) mix.c:1403:14: note: use '==' to turn this assignment into an equality comparison if (msgf = mix_data_open (astream,&fd,&size,newsize)) { ^ == mix.c:1415:47: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((LOCAL->msgfd = open (mix_file_data (LOCAL->buf, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:167:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:1427:14: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] d.chunk = LOCAL->buf; ^ ~~~~~~~~~~ mix.c:1432:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = elt->user_flags) do ~~^~~~~~~~~~~~~~~~~ mix.c:1432:12: note: place parentheses around the assignment to silence this warning if (j = elt->user_flags) do ^ ( ) mix.c:1432:12: note: use '==' to turn this assignment into an equality comparison if (j = elt->user_flags) do ^ == mix.c:1455:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = (mix_meta_update (astream) && ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1455:10: note: place parentheses around the assignment to silence this warning if (ret = (mix_meta_update (astream) && ^ ( mix.c:1455:10: note: use '==' to turn this assignment into an equality comparison if (ret = (mix_meta_update (astream) && ^ == mix.c:1519:32: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (ret = compare_cstring (mailbox,"INBOX") ? ^~~~~~~ ./misc.h:109:37: note: passing argument to parameter 's1' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:1519:40: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (ret = compare_cstring (mailbox,"INBOX") ? ^~~~~~~ ./misc.h:109:55: note: passing argument to parameter 's2' here int compare_cstring (unsigned char *s1,unsigned char *s2); ^ mix.c:1519:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret = compare_cstring (mailbox,"INBOX") ? ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1519:13: note: place parentheses around the assignment to silence this warning if (ret = compare_cstring (mailbox,"INBOX") ? ^ ( mix.c:1519:13: note: use '==' to turn this assignment into an equality comparison if (ret = compare_cstring (mailbox,"INBOX") ? ^ == mix.c:1536: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:1536:13: note: place parentheses around the assignment to silence this warning if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ ( mix.c:1536:13: note: use '==' to turn this assignment into an equality comparison if (ret = ((astream = mail_open (NIL,mailbox,OP_SILENT)) && ^ == mix.c:1550:16: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (local->buf,MSRFMT,MSGTOK,0,0,0,0,0,0,0,'+',0,0,0); ^~~~~~~~~~ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:1550:41: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (local->buf,MSRFMT,MSGTOK,0,0,0,0,0,0,0,'+',0,0,0); ~~~~~~ ^ mix.c:1550:63: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (local->buf,MSRFMT,MSGTOK,0,0,0,0,0,0,0,'+',0,0,0); ~~~~~~ ^ mix.c:1551:25: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] hdrsize = strlen (local->buf); ^~~~~~~~~~ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mix.c:1555: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:159:55: note: passing argument to parameter 'size' here FILE *mix_data_open (MAILSTREAM *stream,int *fd,long *size, ^ mix.c:1555: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:1555:16: note: place parentheses around the assignment to silence this warning if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ^ ( ) mix.c:1555:16: note: use '==' to turn this assignment into an equality comparison if (msgf = mix_data_open (astream,&fd,&size,hdrsize + SIZE (message))) { ^ == mix.c:1563:51: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (date && !(ret = mail_parse_date (&elt,date))) { ^~~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mix.c:1570:30: warning: passing 'char [1024]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] mail_parse_date (&elt,tmp); ^~~ ./mail.h:1689:56: note: passing argument to parameter 'string' here long mail_parse_date (MESSAGECACHE *elt,unsigned char *string); ^ mix.c:1735:13: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] else if (!flock (fd,iflags ? LOCK_EX : LOCK_SH) && ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mix.c:1743:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (s = mix_meta_slurp (stream,&i)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1743:14: note: place parentheses around the assignment to silence this warning else if (s = mix_meta_slurp (stream,&i)) { ^ ( ) mix.c:1743:14: note: use '==' to turn this assignment into an equality comparison else if (s = mix_meta_slurp (stream,&i)) { ^ == mix.c:1750:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strstr (t = s,"\015\012")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:1750:8: note: place parentheses around the assignment to silence this warning if (s = strstr (t = s,"\015\012")) { ^ ( ) mix.c:1750:8: note: use '==' to turn this assignment into an equality comparison if (s = strstr (t = s,"\015\012")) { ^ == mix.c:1779:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = strchr (k = t,' ')) *t++ = '\0'; ~~^~~~~~~~~~~~~~~~~~~~ mix.c:1779:14: note: place parentheses around the assignment to silence this warning if (t = strchr (k = t,' ')) *t++ = '\0'; ^ ( ) mix.c:1779:14: note: use '==' to turn this assignment into an equality comparison if (t = strchr (k = t,' ')) *t++ = '\0'; ^ == mix.c:1823:42: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] while ((s = mix_read_record (*idxf,LOCAL->buf,LOCAL->buflen,"index")) && ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:163:38: note: passing argument to parameter 'buf' here char *mix_read_record (FILE *f,char *buf,unsigned long buflen,char *type); ^ mix.c:1959:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (stat (mix_file_data (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:167:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:2041:11: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:2044:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] MM_LOG (LOCAL->buf,ERROR); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./mail.h:1598:20: note: passing argument to parameter 'string' here void mm_log (char *string,long errflg); ^ mix.c:2054:43: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] while ((t = s = mix_read_record (statf,LOCAL->buf,LOCAL->buflen, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:163:38: note: passing argument to parameter 'buf' here char *mix_read_record (FILE *f,char *buf,unsigned long buflen,char *type); ^ mix.c:2150:16: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->buf = (char *) fs_get ((LOCAL->buflen = sbuf.st_size) + 1); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:2155:27: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (read (LOCAL->mfd,s = LOCAL->buf,sbuf.st_size) != sbuf.st_size)) ^ ~~~~~~~~~~ mix.c:2190:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf,SEQFMT,LOCAL->metaseq = mix_modseq (LOCAL->metaseq)); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:2191:35: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf),MTAFMT, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mix.c:2191:14: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sprintf (LOCAL->buf + strlen (LOCAL->buf),MTAFMT, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/stdio.h:320:38: note: passing argument to parameter '__s' here extern int sprintf (char *__restrict __s, ^ mix.c:2193:56: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (i = 0, c = 'K', s = ss = LOCAL->buf + strlen (LOCAL->buf); ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ /usr/include/string.h:384:35: note: passing argument to parameter '__s' here extern size_t strlen (const char *__s) ^ mix.c:2194:26: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] (i < NUSERFLAGS) && (t = stream->user_flags[i]); ++i) { ^ ~~~~~~~~~~~~~~~~~~~~~ mix.c:2208:30: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] ret = (write (LOCAL->mfd,LOCAL->buf,i) == i) ? LONGT : NIL; ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ ./env_unix.h:89:31: note: passing argument to parameter 'buf' here long safe_write (int fd,char *buf,long nbytes); ^ mix.c:2237:22: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (tmp,IXRFMT,0,14,4,4,13,0,0,'+',0,0,0,0,0,0,0); ~~~~~~ ^ mix.c:2237:46: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (tmp,IXRFMT,0,14,4,4,13,0,0,'+',0,0,0,0,0,0,0); ~~~~~~ ^ mix.c:2237:48: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (tmp,IXRFMT,0,14,4,4,13,0,0,'+',0,0,0,0,0,0,0); ~~~~~~ ^ mix.c:2237:50: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (tmp,IXRFMT,0,14,4,4,13,0,0,'+',0,0,0,0,0,0,0); ~~~~~~ ^ mix.c:2237:52: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (tmp,IXRFMT,0,14,4,4,13,0,0,'+',0,0,0,0,0,0,0); ~~~~~~ ^ mix.c:2237:54: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (tmp,IXRFMT,0,14,4,4,13,0,0,'+',0,0,0,0,0,0,0); ~~~~~~ ^ mix.c:2318:22: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (tmp,STRFMT,0,0,0,0); ~~~~~~ ^ mix.c:2318:24: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (tmp,STRFMT,0,0,0,0); ~~~~~~ ^ mix.c:2318:28: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] sprintf (tmp,STRFMT,0,0,0,0); ~~~~~~ ^ mix.c:2400:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((*fd = open (mix_file_data (LOCAL->buf,stream->mailbox,LOCAL->newmsg), ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:167:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:2416:7: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] (LOCAL->buf,stream->mailbox, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:167:28: note: passing argument to parameter 'dst' here char *mix_file_data (char *dst,char *dir,unsigned long data); ^ mix.c:2425: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:2425:14: note: place parentheses around the assignment to silence this warning if (msgf = fdopen (*fd,"r+b")) fseek (msgf,*size,SEEK_SET); ^ ( ) mix.c:2425:14: note: use '==' to turn this assignment into an equality comparison if (msgf = fdopen (*fd,"r+b")) fseek (msgf,*size,SEEK_SET); ^ == mix.c:2455:13: warning: implicit declaration of function 'safe_flock' is invalid in C99 [-Wimplicit-function-declaration] else if (!flock (fd,rdonly ? LOCK_SH : LOCK_EX) && ^ ./osdep.h:60:15: note: expanded from macro 'flock' #define flock safe_flock ^ mix.c:2466:44: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] while ((s = t = mix_read_record (srtcf,LOCAL->buf,LOCAL->buflen, ^~~~~~~~~~ mix.c:110:15: note: expanded from macro 'LOCAL' #define LOCAL ((MIXLOCAL *) stream->local) ^ mix.c:163:38: note: passing argument to parameter 'buf' here char *mix_read_record (FILE *f,char *buf,unsigned long buflen,char *type); ^ mix.c:2489:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = mail_msgno (stream,uid)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~ mix.c:2489:15: note: place parentheses around the assignment to silence this warning if (i = mail_msgno (stream,uid)) { ^ ( ) mix.c:2489:15: note: use '==' to turn this assignment into an equality comparison if (i = mail_msgno (stream,uid)) { ^ == mix.c:2565:21: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] LOCAL->buf = (char *) ^ ~~~~~~~~ mix.c:2577:15: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (s = LOCAL->buf,sl = NIL, ^ ~~~~~~~~~~ mix.c:2585:19: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] sl->text.data = cpystr (s); ^ ~~~~~~~~~~ mix.c:2668:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (sl = s->references) /* count length of references */ ~~~^~~~~~~~~~~~~~~ mix.c:2668:9: note: place parentheses around the assignment to silence this warning if (sl = s->references) /* count length of references */ ^ ( ) mix.c:2668:9: note: use '==' to turn this assignment into an equality comparison if (sl = s->references) /* count length of references */ ^ == mix.c:2723:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s = strchr (buf,'\012')) { ~~^~~~~~~~~~~~~~~~~~~~~ mix.c:2723:11: note: place parentheses around the assignment to silence this warning if (s = strchr (buf,'\012')) { ^ ( ) mix.c:2723:11: note: use '==' to turn this assignment into an equality comparison if (s = strchr (buf,'\012')) { ^ == 138 warnings generated.