• src/sbbs3/addfiles.c atcodes.cpp bat_xfer.cpp chat.cpp chk_ar.cpp cmds

    From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Thursday, June 08, 2023 18:53:44
    https://gitlab.synchro.net/main/sbbs/-/commit/22d6cf8dff10c1c226033676
    Modified Files:
    src/sbbs3/addfiles.c atcodes.cpp bat_xfer.cpp chat.cpp chk_ar.cpp cmdshell.h data_ovl.cpp download.cpp dupefind.c exec.cpp execfile.cpp execfunc.cpp execmisc.cpp execmsg.cpp execnet.cpp filedat.c filedat.h getmsg.cpp getnode.cpp getstats.c getstats.h inkey.cpp js_bbs.cpp js_file_area.c js_msg_area.c js_msgbase.c js_system.c js_user.c js_xtrn_area.c listfile.cpp load_cfg.c load_cfg.h logon.cpp mailsrvr.c main.cpp msg_id.c msg_id.h netmail.cpp newuser.cpp pack_qwk.cpp postmsg.cpp qwk.cpp readmsgs.cpp sbbs.h sbbsdefs.h sbbsecho.c scandirs.cpp scansubs.cpp src/sbbs3/scfg/scfg.c scfg.h scfgchat.c scfgmsg.c scfgnet.c scfgsub.c scfgxfr2.c scfgxtrn.c src/sbbs3/scfgdefs.h scfglib1.c scfglib2.c scfgsave.c str.cpp tmp_xfer.cpp un_rep.cpp upload.cpp userdat.c userdat.h writemsg.cpp xtrn.cpp xtrn_sec.cpp src/smblib/smbdefs.h
    Log Message:
    <Deuce> ... billion-and-one result of comparison of constant 100000 warnings.

    So Clang-FreeBSD was warning (in compiles of scfg/scfg*.c by Deuce):
    result of comparison of constant 100000 with expression of type 'uint16_t'
    (aka 'unsigned short') is always true

    Why? Cause a uint16_t's max value is 65535 (less than 100000). Sure we could have just lowered the UIFC max number of config items to 65535, but that would have been too easy. And why are these compared-with values of type uint16_t to begin with? Because most ctrl/*.cnf lists (of configuration items) were
    limited to 65535 entries cause ... 16-bit DOS, historically. Now that *.cnf files aren't used, we could just increase these scfg_t.*_total type sizes from 16 to 32-bits, yeah? The result is this commit.

    I went to (signed) int so we could still keep -1 as the special illegal
    sub/dir num value (e.g. INVALID_SUB, which is sometimes used to indicate the email message base). Theoretically, 2 billion configuration items could be supported in these lists, but SCFG will limit you to 100000 anyway. So there's a whole lot of s/uint/int in this commit.

    I'd be very surprised if this doesn't result in some new GCC/Clang warnings, but at least the old "comparison of constant 100000" warnings are now gone!

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net