• Lots of new compiler warnings

    From Nigel Reed@VERT to GitLab issue in main/sbbs on Thu Oct 26 08:31:18 2023
    open https://gitlab.synchro.net/main/sbbs/-/issues/667

    gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)


    ~~~
    Building sbbs with setcap symlinks gtkutils
    1c1
    < #define GIT_HASH "58638eceb"
    ---
    #define GIT_HASH "492a8506b"
    make -C /home/bbs/sbbs-git/src/sbbs3/../../3rdp/build jslib
    make[1]: Entering directory '/home/bbs/sbbs-git/3rdp/build'
    make[1]: Nothing to be done for 'jslib'.
    make[1]: Leaving directory '/home/bbs/sbbs-git/3rdp/build'
    make -C /home/bbs/sbbs-git/src/sbbs3/../smblib lib
    make[1]: Entering directory '/home/bbs/sbbs-git/src/smblib'
    make[1]: Nothing to be done for 'lib'.
    make[1]: Leaving directory '/home/bbs/sbbs-git/src/smblib'
    make -C /home/bbs/sbbs-git/src/sbbs3/../xpdev mtlib
    make[1]: Entering directory '/home/bbs/sbbs-git/src/xpdev'
    make[1]: Nothing to be done for 'mtlib'.
    make[1]: Leaving directory '/home/bbs/sbbs-git/src/xpdev'
    make -C /home/bbs/sbbs-git/src/sbbs3/../../3rdp/build cryptlib
    make[1]: Entering directory '/home/bbs/sbbs-git/3rdp/build'
    make[1]: Nothing to be done for 'cryptlib'.
    make[1]: Leaving directory '/home/bbs/sbbs-git/3rdp/build'
    Compiling ansiterm.cpp
    Compiling answer.cpp
    Compiling atcodes.cpp
    Compiling bat_xfer.cpp
    Compiling bulkmail.cpp
    Compiling chat.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from chat.cpp:22:
    chat.cpp: In member function `void sbbs_t::nodemsg()':
    chat.cpp:1367:57: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size 252 [-Wformat-truncation=]
    1367 | SAFEPRINTF2(str,"%4s%s\r\n",nulstr,line);
    | ^~~~~~~~~~~ ~~~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    chat.cpp:1367:61: note: format string is defined here
    1367 | SAFEPRINTF2(str,"%4s%s\r\n",nulstr,line);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from chat.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output 7 or more bytes (assuming 262) into a destination of size 256
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    chat.cpp:1367:41: note: in expansion of macro `SAFEPRINTF2'
    1367 | SAFEPRINTF2(str,"%4s%s\r\n",nulstr,line);
    | ^~~~~~~~~~~
    Compiling chk_ar.cpp
    Compiling con_hi.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from con_hi.cpp:22:
    con_hi.cpp: In member function `bool sbbs_t::chksyspass(const char*)': con_hi.cpp:165:42: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size between 197 and 226 [-Wformat-truncation=]
    165 | SAFEPRINTF3(str2,"%s #%u System password attempt: '%s'"
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    166 | ,useron.alias,useron.number,str);
    | ~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:74: note: in definition of macro `SAFEPRINTF3'
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ^~~
    con_hi.cpp:165:76: note: format string is defined here
    165 | SAFEPRINTF3(str2,"%s #%u System password attempt: '%s'"
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from con_hi.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:57: note: `snprintf' output between 32 and 316 bytes into a destination of size 256
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    con_hi.cpp:165:25: note: in expansion of macro `SAFEPRINTF3'
    165 | SAFEPRINTF3(str2,"%s #%u System password attempt: '%s'"
    | ^~~~~~~~~~~
    Compiling con_out.cpp
    Compiling data.cpp
    Compiling data_ovl.cpp
    Compiling download.cpp
    Compiling email.cpp
    Compiling exec.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from exec.cpp:22:
    exec.cpp: In member function `int sbbs_t::exec_bin(const char*, csi_t*, const char*)':
    exec.cpp:763:33: warning: `.js' directive output may be truncated writing 3 bytes into a region of size between 1 and 4097 [-Wformat-truncation=]
    763 | SAFEPRINTF2(str,"%s%s.js", startup_dir, mod);
    | ^~~~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    exec.cpp:763:38: note: format string is defined here
    763 | SAFEPRINTF2(str,"%s%s.js", startup_dir, mod);
    | ^~~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from exec.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output 4 or more bytes (assuming 4100) into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    exec.cpp:763:17: note: in expansion of macro `SAFEPRINTF2'
    763 | SAFEPRINTF2(str,"%s%s.js", startup_dir, mod);
    | ^~~~~~~~~~~
    exec.cpp:768:33: warning: `%s' directive output may be truncated writing up to 4096 bytes into a region of size between 3997 and 4097 [-Wformat-truncation=]
    768 | SAFEPRINTF2(str,"%s%s.js",cfg.mods_dir,mod);
    | ^~~~~~~~~ ~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    exec.cpp:768:36: note: format string is defined here
    768 | SAFEPRINTF2(str,"%s%s.js",cfg.mods_dir,mod);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from exec.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 4 and 4200 bytes into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    exec.cpp:768:17: note: in expansion of macro `SAFEPRINTF2'
    768 | SAFEPRINTF2(str,"%s%s.js",cfg.mods_dir,mod);
    | ^~~~~~~~~~~
    exec.cpp:778:25: warning: `%s' directive output may be truncated writing up to 4096 bytes into a region of size between 3997 and 4097 [-Wformat-truncation=]
    778 | SAFEPRINTF2(str,"%s%s",cfg.mods_dir,modname);
    | ^~~~~~ ~~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    exec.cpp:778:28: note: format string is defined here
    778 | SAFEPRINTF2(str,"%s%s",cfg.mods_dir,modname);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from exec.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 4197 bytes into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    exec.cpp:778:9: note: in expansion of macro `SAFEPRINTF2'
    778 | SAFEPRINTF2(str,"%s%s",cfg.mods_dir,modname);
    | ^~~~~~~~~~~
    exec.cpp:782:33: warning: `%s' directive output may be truncated writing up to 4096 bytes into a region of size between 3997 and 4097 [-Wformat-truncation=]
    782 | SAFEPRINTF2(str,"%s%s.js",cfg.exec_dir,mod);
    | ^~~~~~~~~ ~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    exec.cpp:782:36: note: format string is defined here
    782 | SAFEPRINTF2(str,"%s%s.js",cfg.exec_dir,mod);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from exec.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 4 and 4200 bytes into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    exec.cpp:782:17: note: in expansion of macro `SAFEPRINTF2'
    782 | SAFEPRINTF2(str,"%s%s.js",cfg.exec_dir,mod);
    | ^~~~~~~~~~~
    exec.cpp:787:33: warning: `%s' directive output may be truncated writing up to 4096 bytes into a region of size between 3997 and 4097 [-Wformat-truncation=]
    787 | SAFEPRINTF2(str,"%s%s",cfg.exec_dir,modname);
    | ^~~~~~ ~~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    exec.cpp:787:36: note: format string is defined here
    787 | SAFEPRINTF2(str,"%s%s",cfg.exec_dir,modname);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from exec.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 4197 bytes into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    exec.cpp:787:17: note: in expansion of macro `SAFEPRINTF2'
    787 | SAFEPRINTF2(str,"%s%s",cfg.exec_dir,modname);
    | ^~~~~~~~~~~
    Compiling execfile.cpp
    Compiling execfunc.cpp
    Compiling execmisc.cpp
    Compiling execmsg.cpp
    Compiling execnet.cpp
    Compiling fido.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from fido.cpp:24:
    fido.cpp: In member function `bool sbbs_t::lookup_netuser(char*)': fido.cpp:49:31: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size 116 [-Wformat-truncation=]
    49 | SAFEPRINTF2(q,"Do you mean %s @%s",str,str+27);
    | ^~~~~~~~~~~~~~~~~~~~ ~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    fido.cpp:49:44: note: format string is defined here
    49 | SAFEPRINTF2(q,"Do you mean %s @%s",str,str+27);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from fido.cpp:24: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output 15 or more bytes (assuming 270) into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    fido.cpp:49:17: note: in expansion of macro `SAFEPRINTF2'
    49 | SAFEPRINTF2(q,"Do you mean %s @%s",str,str+27);
    | ^~~~~~~~~~~
    Compiling file.cpp
    Compiling getkey.cpp
    Compiling getmsg.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from getmsg.cpp:26:
    getmsg.cpp: In member function `int sbbs_t::loadmsg(smbmsg_t*, uint)': getmsg.cpp:68:33: warning: `%s' directive output may be truncated writing up to 127 bytes into a region of size between 94 and 114 [-Wformat-truncation=]
    68 | SAFEPRINTF4(str,"(%06" PRIX32 ") #%" PRIu32 "/%u %s",msg->idx.offset,msg->idx.number
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:454:74: note: in definition of macro `SAFEPRINTF4'
    454 | #define SAFEPRINTF4(dst,fmt,a1,a2,a3,a4) snprintf(dst,sizeof(dst),fmt,a1,a2,a3,a4), TERMINATE(dst)
    | ^~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:454:57: note: `snprintf' output between 15 and 162 bytes into a destination of size 128
    454 | #define SAFEPRINTF4(dst,fmt,a1,a2,a3,a4) snprintf(dst,sizeof(dst),fmt,a1,a2,a3,a4), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    getmsg.cpp:68:17: note: in expansion of macro `SAFEPRINTF4'
    68 | SAFEPRINTF4(str,"(%06" PRIX32 ") #%" PRIu32 "/%u %s",msg->idx.offset,msg->idx.number
    | ^~~~~~~~~~~
    getmsg.cpp: In member function `void sbbs_t::download_msg_attachments(smb_t*, smbmsg_t*, bool)':
    getmsg.cpp:376:52: warning: `%s' directive output may be truncated writing up to 4096 bytes into a region of size between 3997 and 4097 [-Wformat-truncation=]
    376 | SAFEPRINTF2(fpath, "%s%s", cfg.temp_dir, filename);
    | ^~~~~~ ~~~~~~~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    getmsg.cpp:376:55: note: format string is defined here
    376 | SAFEPRINTF2(fpath, "%s%s", cfg.temp_dir, filename);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from getmsg.cpp:26: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 4197 bytes into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    getmsg.cpp:376:33: note: in expansion of macro `SAFEPRINTF2'
    376 | SAFEPRINTF2(fpath, "%s%s", cfg.temp_dir, filename);
    | ^~~~~~~~~~~
    getmsg.cpp: In member function `int sbbs_t::getmsgnum(int, time_t)': getmsg.cpp:537:30: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    537 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    getmsg.cpp:537:33: note: format string is defined here
    537 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from getmsg.cpp:26: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    getmsg.cpp:537:9: note: in expansion of macro `SAFEPRINTF2'
    537 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~~~~~~
    getmsg.cpp: In member function `time_t sbbs_t::getmsgtime(int, uint)': getmsg.cpp:562:30: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    562 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    getmsg.cpp:562:33: note: format string is defined here
    562 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from getmsg.cpp:26: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    getmsg.cpp:562:9: note: in expansion of macro `SAFEPRINTF2'
    562 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~~~~~~
    getmsg.cpp: In member function `uint sbbs_t::getlastmsg(int, uint32_t*, time_t*)':
    getmsg.cpp:644:30: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    644 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    getmsg.cpp:644:33: note: format string is defined here
    644 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from getmsg.cpp:26: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    getmsg.cpp:644:9: note: in expansion of macro `SAFEPRINTF2'
    644 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~~~~~~
    Compiling getnode.cpp
    Compiling getstr.cpp
    Compiling inkey.cpp
    Compiling ident.c
    Compiling jsdebug.c
    Compiling js_archive.c
    Compiling js_bbs.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from js_bbs.cpp:22:
    js_bbs.cpp: In function `JSBool js_put_telegram(JSContext*, uintN, jsval*)': js_bbs.cpp:3419:41: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size 252 [-Wformat-truncation=]
    3419 | SAFEPRINTF2(str,"%4s%s\r\n",nulstr,line);
    | ^~~~~~~~~~~ ~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    js_bbs.cpp:3419:45: note: format string is defined here
    3419 | SAFEPRINTF2(str,"%4s%s\r\n",nulstr,line);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from js_bbs.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output 7 or more bytes (assuming 262) into a destination of size 256
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    js_bbs.cpp:3419:25: note: in expansion of macro `SAFEPRINTF2'
    3419 | SAFEPRINTF2(str,"%4s%s\r\n",nulstr,line);
    | ^~~~~~~~~~~
    Compiling js_client.c
    Compiling js_com.c
    Compiling js_console.cpp
    Compiling js_cryptcert.c
    Compiling js_cryptcon.c
    Compiling js_cryptkeyset.c
    Compiling js_file.c
    Compiling js_file_area.c
    Compiling js_global.c
    Compiling js_internal.c
    Compiling js_msg_area.c
    Compiling js_msgbase.c
    Compiling js_mqtt.c
    Compiling js_filebase.c
    Compiling js_queue.c
    Compiling js_server.c
    Compiling js_socket.c
    Compiling js_sprintf.c
    Compiling js_system.c
    Compiling js_user.c
    Compiling js_xtrn_area.c
    Compiling listfile.cpp
    Compiling logfile.cpp
    Compiling login.cpp
    Compiling logon.cpp
    Compiling logout.cpp
    Compiling mail.cpp
    Compiling main.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from main.cpp:22:
    main.cpp: In member function `int sbbs_t::lputs(int, const char*)': main.cpp:275:36: warning: `%s' directive output may be truncated writing up to 127 bytes into a region of size 32 [-Wformat-truncation=]
    275 | SAFEPRINTF(prefix, "%s ", client_name);
    | ^~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:82: note: in definition of macro `SAFEPRINTF'
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ^~~
    main.cpp:275:37: note: format string is defined here
    275 | SAFEPRINTF(prefix, "%s ", client_name);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from main.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:65: note: `snprintf' output between 2 and 129 bytes into a destination of size 32
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    main.cpp:275:17: note: in expansion of macro `SAFEPRINTF'
    275 | SAFEPRINTF(prefix, "%s ", client_name);
    | ^~~~~~~~~~
    main.cpp: In function `void event_thread(void*)':
    main.cpp:2989:77: warning: `%x' directive output may be truncated writing between 1 and 8 bytes into a region of size between 0 and 4096 [-Wformat-truncation=]
    2989 | SAFEPRINTF2(newname,"%s.%x.bad",str,(int)now);
    | ^~~~~~~~~~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    main.cpp:2989:81: note: format string is defined here
    2989 | SAFEPRINTF2(newname,"%s.%x.bad",str,(int)now);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from main.cpp:22:
    main.cpp:2989:77: note: using the range [0, 4294967295] for directive argument
    2989 | SAFEPRINTF2(newname,"%s.%x.bad",str,(int)now);
    | ^~~~~~~~~~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 7 and 4110 bytes into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    main.cpp:2989:57: note: in expansion of macro `SAFEPRINTF2'
    2989 | SAFEPRINTF2(newname,"%s.%x.bad",str,(int)now);
    | ^~~~~~~~~~~ main.cpp: In function `void bbs_thread(void*)':
    main.cpp:4832:35: warning: `snprintf' output truncated before the last format character [-Wformat-truncation=]
    4832 | snprintf(str, 2, "\x01\x02");
    | ^
    main.cpp:4832:17: note: `snprintf' output 3 bytes into a destination of size 2
    4832 | snprintf(str, 2, "\x01\x02");
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~
    main.cpp:5756:61: warning: `%s' directive output may be truncated writing up to 1023 bytes into a region of size 108 [-Wformat-truncation=]
    5756 | snprintf(str,sizeof(uspy_addr.un.sun_path),"%slocalspy%d.sock", startup->temp_dir, i+1);
    | ^~ main.cpp:5756:25: note: `snprintf' output between 15 and 1048 bytes into a destination of size 108
    5756 | snprintf(str,sizeof(uspy_addr.un.sun_path),"%slocalspy%d.sock", startup->temp_dir, i+1);
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Compiling msg_id.c
    Compiling msgtoqwk.cpp
    Compiling netmail.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from netmail.cpp:22:
    netmail.cpp: In member function `bool sbbs_t::netmail(const char*, const char*, int, smb_t*, smbmsg_t*, str_list_t)':
    netmail.cpp:212:33: warning: `%s' directive output may be truncated writing up to 511 bytes into a region of size 256 [-Wformat-truncation=]
    212 | SAFEPRINTF3(str,"%sfile/%04u.out/%s",tmp,useron.number,fname);
    | ^~~~~~~~~~~~~~~~~~~~ ~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:74: note: in definition of macro `SAFEPRINTF3'
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ^~~
    netmail.cpp:212:34: note: format string is defined here
    212 | SAFEPRINTF3(str,"%sfile/%04u.out/%s",tmp,useron.number,fname);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from netmail.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:57: note: `snprintf' output between 15 and 654 bytes into a destination of size 256
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    netmail.cpp:212:17: note: in expansion of macro `SAFEPRINTF3'
    212 | SAFEPRINTF3(str,"%sfile/%04u.out/%s",tmp,useron.number,fname);
    | ^~~~~~~~~~~
    netmail.cpp:348:33: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size 240 [-Wformat-truncation=]
    348 | SAFEPRINTF2(str,"sent NetMail to %s (%s)"
    | ^~~~~~~~~~~~~~~~~~~~~~~~~
    349 | ,to, smb_faddrtoa(&dest_addr,tmp));
    | ~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    netmail.cpp:348:50: note: format string is defined here
    348 | SAFEPRINTF2(str,"sent NetMail to %s (%s)"
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from netmail.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output 20 or more bytes (assuming 275) into a destination of size 256
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    netmail.cpp:348:17: note: in expansion of macro `SAFEPRINTF2'
    348 | SAFEPRINTF2(str,"sent NetMail to %s (%s)"
    | ^~~~~~~~~~~
    netmail.cpp:345:33: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size 224 [-Wformat-truncation=]
    345 | SAFEPRINTF2(str,"sent NetMail file attachment to %s (%s)"
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    346 | ,to, smb_faddrtoa(&dest_addr,tmp));
    | ~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    netmail.cpp:345:66: note: format string is defined here
    345 | SAFEPRINTF2(str,"sent NetMail file attachment to %s (%s)"
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from netmail.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output 36 or more bytes (assuming 291) into a destination of size 256
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    netmail.cpp:345:17: note: in expansion of macro `SAFEPRINTF2'
    345 | SAFEPRINTF2(str,"sent NetMail file attachment to %s (%s)"
    | ^~~~~~~~~~~
    netmail.cpp: In member function `bool sbbs_t::inetmail(const char*, const char*, int, smb_t*, smbmsg_t*, str_list_t)':
    netmail.cpp:1047:34: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size between 141 and 242 [-Wformat-truncation=]
    1047 | SAFEPRINTF3(str2,"%sfile/%04u.out/%s",cfg.data_dir,useron.number,title);
    | ^~~~~~~~~~~~~~~~~~~~ ~~~~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:74: note: in definition of macro `SAFEPRINTF3'
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ^~~
    netmail.cpp:1047:51: note: format string is defined here
    1047 | SAFEPRINTF3(str2,"%sfile/%04u.out/%s",cfg.data_dir,useron.number,title);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from netmail.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:57: note: `snprintf' output between 15 and 371 bytes into a destination of size 256
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    netmail.cpp:1047:17: note: in expansion of macro `SAFEPRINTF3'
    1047 | SAFEPRINTF3(str2,"%sfile/%04u.out/%s",cfg.data_dir,useron.number,title);
    | ^~~~~~~~~~~
    netmail.cpp:1250:25: warning: `%s' directive output may be truncated writing up to 511 bytes into a region of size 234 [-Wformat-truncation=]
    1250 | SAFEPRINTF(str, "sent Internet Mail to %s", to_list);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:82: note: in definition of macro `SAFEPRINTF'
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ^~~
    netmail.cpp:1250:48: note: format string is defined here
    1250 | SAFEPRINTF(str, "sent Internet Mail to %s", to_list);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from netmail.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:65: note: `snprintf' output between 23 and 534 bytes into a destination of size 256
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    netmail.cpp:1250:9: note: in expansion of macro `SAFEPRINTF'
    1250 | SAFEPRINTF(str, "sent Internet Mail to %s", to_list);
    | ^~~~~~~~~~
    netmail.cpp: In member function `bool sbbs_t::qnetmail(const char*, const char*, int, smb_t*, smbmsg_t*)':
    netmail.cpp:1462:25: warning: `%s' directive output may be truncated writing up to 127 bytes into a region of size between 107 and 234 [-Wformat-truncation=]
    1462 | SAFEPRINTF2(str,"sent QWK NetMail to %s (%s)"
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1463 | ,to,fulladdr);
    | ~~~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    netmail.cpp:1462:50: note: format string is defined here
    1462 | SAFEPRINTF2(str,"sent QWK NetMail to %s (%s)"
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from netmail.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 24 and 278 bytes into a destination of size 256
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    netmail.cpp:1462:9: note: in expansion of macro `SAFEPRINTF2'
    1462 | SAFEPRINTF2(str,"sent QWK NetMail to %s (%s)"
    | ^~~~~~~~~~~
    Compiling newuser.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from newuser.cpp:22:
    newuser.cpp: In member function `int sbbs_t::newuser()':
    newuser.cpp:68:40: warning: `%s' directive output may be truncated writing up to 511 bytes into a region of size 496 [-Wformat-truncation=]
    68 | SAFEPRINTF(tmp,"NUP Attempted: '%s'",str);
    | ^~~~~~~~~~~~~~~~~~~~~ ~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:82: note: in definition of macro `SAFEPRINTF'
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ^~~
    newuser.cpp:68:57: note: format string is defined here
    68 | SAFEPRINTF(tmp,"NUP Attempted: '%s'",str);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from newuser.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:65: note: `snprintf' output between 18 and 529 bytes into a destination of size 512
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    newuser.cpp:68:25: note: in expansion of macro `SAFEPRINTF'
    68 | SAFEPRINTF(tmp,"NUP Attempted: '%s'",str);
    | ^~~~~~~~~~
    newuser.cpp:383:49: warning: `%s' directive output may be truncated writing up to 511 bytes into a region of size 481 [-Wformat-truncation=]
    383 | SAFEPRINTF2(tmp,"FAILED Password verification: '%s' instead of '%s'"
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    384 | ,str
    | ~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    newuser.cpp:383:81: note: format string is defined here
    383 | SAFEPRINTF2(tmp,"FAILED Password verification: '%s' instead of '%s'"
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from newuser.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 47 and 598 bytes into a destination of size 512
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    newuser.cpp:383:33: note: in expansion of macro `SAFEPRINTF2'
    383 | SAFEPRINTF2(tmp,"FAILED Password verification: '%s' instead of '%s'"
    | ^~~~~~~~~~~
    newuser.cpp:405:40: warning: `%s' directive output may be truncated writing up to 511 bytes into a region of size 492 [-Wformat-truncation=]
    405 | SAFEPRINTF(tmp,"failed magic word: '%s'",str);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:82: note: in definition of macro `SAFEPRINTF'
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ^~~
    newuser.cpp:405:61: note: format string is defined here
    405 | SAFEPRINTF(tmp,"failed magic word: '%s'",str);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from newuser.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:65: note: `snprintf' output between 22 and 533 bytes into a destination of size 512
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    newuser.cpp:405:25: note: in expansion of macro `SAFEPRINTF'
    405 | SAFEPRINTF(tmp,"failed magic word: '%s'",str);
    | ^~~~~~~~~~
    Compiling pack_qwk.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from pack_qwk.cpp:22:
    pack_qwk.cpp: In member function `bool sbbs_t::pack_qwk(char*, uint*, bool)': pack_qwk.cpp:454:54: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    454 | SAFEPRINTF2(smb.file,"%s%s"
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    pack_qwk.cpp:454:57: note: format string is defined here
    454 | SAFEPRINTF2(smb.file,"%s%s"
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from pack_qwk.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    pack_qwk.cpp:454:33: note: in expansion of macro `SAFEPRINTF2'
    454 | SAFEPRINTF2(smb.file,"%s%s"
    | ^~~~~~~~~~~
    Compiling pack_rep.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from pack_rep.cpp:22:
    pack_rep.cpp: In member function `bool sbbs_t::pack_rep(uint)': pack_rep.cpp:188:38: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    188 | SAFEPRINTF2(smb.file,"%s%s"
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    pack_rep.cpp:188:41: note: format string is defined here
    188 | SAFEPRINTF2(smb.file,"%s%s"
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from pack_rep.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    pack_rep.cpp:188:17: note: in expansion of macro `SAFEPRINTF2'
    188 | SAFEPRINTF2(smb.file,"%s%s"
    | ^~~~~~~~~~~
    Compiling postmsg.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from postmsg.cpp:22:
    postmsg.cpp: In function `int savemsg(scfg_t*, smb_t*, smbmsg_t*, client_t*, const char*, char*, smbmsg_t*)':
    postmsg.cpp:426:47: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    426 | SAFEPRINTF2(smb->file,"%s%s",cfg->sub[smb->subnum]->data_dir,cfg->sub[smb->subnum]->code);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    postmsg.cpp:426:50: note: format string is defined here
    426 | SAFEPRINTF2(smb->file,"%s%s",cfg->sub[smb->subnum]->data_dir,cfg->sub[smb->subnum]->code);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from postmsg.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    postmsg.cpp:426:25: note: in expansion of macro `SAFEPRINTF2'
    426 | SAFEPRINTF2(smb->file,"%s%s",cfg->sub[smb->subnum]->data_dir,cfg->sub[smb->subnum]->code);
    | ^~~~~~~~~~~
    Compiling prntfile.cpp
    Compiling putmsg.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from putmsg.cpp:22:
    putmsg.cpp: In member function `char sbbs_t::putmsgfrag(const char*, int&, int, JSObject*)':
    putmsg.cpp:207:58: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    207 | SAFEPRINTF2(tmp3,"%s%s",cfg.text_dir,tmp2);
    | ^~~~~~ ~~~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    putmsg.cpp:207:61: note: format string is defined here
    207 | SAFEPRINTF2(tmp3,"%s%s",cfg.text_dir,tmp2);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from putmsg.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 356 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    putmsg.cpp:207:41: note: in expansion of macro `SAFEPRINTF2'
    207 | SAFEPRINTF2(tmp3,"%s%s",cfg.text_dir,tmp2);
    | ^~~~~~~~~~~
    Compiling putnode.cpp
    Compiling qwk.cpp
    Compiling qwktomsg.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from qwktomsg.cpp:22:
    qwktomsg.cpp: In member function `bool sbbs_t::qwk_import_msg(FILE*, char*, uint, char, smb_t*, uint, smbmsg_t*, bool*)':
    qwktomsg.cpp:506:49: warning: `%s' directive output may be truncated writing up to 8191 bytes into a region of size between 169 and 224 [-Wformat-truncation=]
    506 | SAFEPRINTF3(str,"duplicate message attempt in %s %s (%s)"
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:74: note: in definition of macro `SAFEPRINTF3'
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ^~~
    qwktomsg.cpp:506:86: note: format string is defined here
    506 | SAFEPRINTF3(str,"duplicate message attempt in %s %s (%s)"
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from qwktomsg.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:57: note: `snprintf' output between 34 and 8280 bytes into a destination of size 256
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    qwktomsg.cpp:506:33: note: in expansion of macro `SAFEPRINTF3'
    506 | SAFEPRINTF3(str,"duplicate message attempt in %s %s (%s)"
    | ^~~~~~~~~~~
    qwktomsg.cpp:503:48: warning: `%s' directive output may be truncated writing up to 8191 bytes into a region of size 230 [-Wformat-truncation=]
    503 | SAFEPRINTF(str,"duplicate e-mail attempt (%s)", smb->last_error);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:82: note: in definition of macro `SAFEPRINTF'
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ^~~
    qwktomsg.cpp:503:75: note: format string is defined here
    503 | SAFEPRINTF(str,"duplicate e-mail attempt (%s)", smb->last_error);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from qwktomsg.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:65: note: `snprintf' output between 28 and 8219 bytes into a destination of size 256
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    qwktomsg.cpp:503:33: note: in expansion of macro `SAFEPRINTF'
    503 | SAFEPRINTF(str,"duplicate e-mail attempt (%s)", smb->last_error);
    | ^~~~~~~~~~
    Compiling readmail.cpp
    Compiling readmsgs.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from readmsgs.cpp:22:
    readmsgs.cpp: In member function `int sbbs_t::scanposts(int, int, const char*)':
    readmsgs.cpp:457:30: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    457 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    readmsgs.cpp:457:33: note: format string is defined here
    457 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from readmsgs.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    readmsgs.cpp:457:9: note: in expansion of macro `SAFEPRINTF2'
    457 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~~~~~~
    readmsgs.cpp: In member function `int sbbs_t::listsub(int, int, int, const char*)':
    readmsgs.cpp:1640:30: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    1640 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    readmsgs.cpp:1640:33: note: format string is defined here
    1640 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from readmsgs.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    readmsgs.cpp:1640:9: note: in expansion of macro `SAFEPRINTF2'
    1640 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[subnum]->data_dir,cfg.sub[subnum]->code);
    | ^~~~~~~~~~~
    Compiling scandirs.cpp
    Compiling scansubs.cpp
    Compiling sockopts.c
    Compiling str.cpp
    Compiling telgate.cpp
    Compiling text_sec.cpp
    Compiling tmp_xfer.cpp
    Compiling un_qwk.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from un_qwk.cpp:22:
    un_qwk.cpp: In member function `bool sbbs_t::unpack_qwk(char*, uint)': un_qwk.cpp:293:46: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    293 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[j]->data_dir,cfg.sub[j]->code);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    un_qwk.cpp:293:49: note: format string is defined here
    293 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[j]->data_dir,cfg.sub[j]->code);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from un_qwk.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    un_qwk.cpp:293:25: note: in expansion of macro `SAFEPRINTF2'
    293 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[j]->data_dir,cfg.sub[j]->code);
    | ^~~~~~~~~~~
    un_qwk.cpp:399:35: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4096 [-Wformat-truncation=]
    399 | SAFEPRINTF2(fname,"%s/%s",inbox,dirent->d_name);
    | ^~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    un_qwk.cpp:399:39: note: format string is defined here
    399 | SAFEPRINTF2(fname,"%s/%s",inbox,dirent->d_name);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from un_qwk.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 2 and 4353 bytes into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    un_qwk.cpp:399:17: note: in expansion of macro `SAFEPRINTF2'
    399 | SAFEPRINTF2(fname,"%s/%s",inbox,dirent->d_name);
    | ^~~~~~~~~~~
    Compiling un_rep.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from un_rep.cpp:22:
    un_rep.cpp: In member function `bool sbbs_t::unpack_rep(char*)': un_rep.cpp:443:54: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    443 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[n]->data_dir,cfg.sub[n]->code);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    un_rep.cpp:443:57: note: format string is defined here
    443 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[n]->data_dir,cfg.sub[n]->code);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from un_rep.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    un_rep.cpp:443:33: note: in expansion of macro `SAFEPRINTF2'
    443 | SAFEPRINTF2(smb.file,"%s%s",cfg.sub[n]->data_dir,cfg.sub[n]->code);
    | ^~~~~~~~~~~
    un_rep.cpp:607:43: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4096 [-Wformat-truncation=]
    607 | SAFEPRINTF2(fname,"%s/%s",inbox,dirent->d_name);
    | ^~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    un_rep.cpp:607:47: note: format string is defined here
    607 | SAFEPRINTF2(fname,"%s/%s",inbox,dirent->d_name);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from un_rep.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 2 and 4353 bytes into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    un_rep.cpp:607:25: note: in expansion of macro `SAFEPRINTF2'
    607 | SAFEPRINTF2(fname,"%s/%s",inbox,dirent->d_name);
    | ^~~~~~~~~~~
    Compiling upload.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from upload.cpp:22:
    upload.cpp: In member function `bool sbbs_t::bulkupload(int)': upload.cpp:522:33: warning: `%s' directive output may be truncated writing up to 255 bytes into a region of size between 1 and 4097 [-Wformat-truncation=]
    522 | SAFEPRINTF2(str,"%s%s",path,dirent->d_name);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    upload.cpp:522:36: note: format string is defined here
    522 | SAFEPRINTF2(str,"%s%s",path,dirent->d_name);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from upload.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 4352 bytes into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    upload.cpp:522:17: note: in expansion of macro `SAFEPRINTF2'
    522 | SAFEPRINTF2(str,"%s%s",path,dirent->d_name);
    | ^~~~~~~~~~~
    Compiling useredit.cpp
    Compiling viewfile.cpp
    Compiling writemsg.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from writemsg.cpp:22:
    writemsg.cpp: In member function `bool sbbs_t::editfile(char*, uint)': writemsg.cpp:1277:41: warning: `%s' directive output may be truncated writing up to 4096 bytes into a region of size 4073 [-Wformat-truncation=]
    1277 | SAFEPRINTF3(str,"created or edited file: %s (%ld bytes, %u lines)"
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1278 | ,path, l, lines);
    | ~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:74: note: in definition of macro `SAFEPRINTF3'
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ^~~
    writemsg.cpp:1277:66: note: format string is defined here
    1277 | SAFEPRINTF3(str,"created or edited file: %s (%ld bytes, %u lines)"
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from writemsg.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:453:57: note: `snprintf' output between 44 and 4168 bytes into a destination of size 4097
    453 | #define SAFEPRINTF3(dst,fmt,a1,a2,a3) snprintf(dst,sizeof(dst),fmt,a1,a2,a3), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    writemsg.cpp:1277:25: note: in expansion of macro `SAFEPRINTF3'
    1277 | SAFEPRINTF3(str,"created or edited file: %s (%ld bytes, %u lines)"
    | ^~~~~~~~~~~
    writemsg.cpp: In member function `bool sbbs_t::copyfattach(uint, uint, const char*)':
    writemsg.cpp:1359:43: warning: `snprintf' output may be truncated before the last format character [-Wformat-truncation=]
    1359 | SAFEPRINTF2(dest, "%s/%s", dir, tp);
    | ^~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    writemsg.cpp:1359:49: note: format string is defined here
    1359 | SAFEPRINTF2(dest, "%s/%s", dir, tp);
    | ^
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from writemsg.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output 2 or more bytes (assuming 4098) into a destination of size 4097
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    writemsg.cpp:1359:25: note: in expansion of macro `SAFEPRINTF2'
    1359 | SAFEPRINTF2(dest, "%s/%s", dir, tp);
    | ^~~~~~~~~~~
    writemsg.cpp: In member function `bool sbbs_t::movemsg(smbmsg_t*, int)': writemsg.cpp:1782:33: warning: `%s' directive output may be truncated writing up to 32 bytes into a region of size between 28 and 128 [-Wformat-truncation=]
    1782 | SAFEPRINTF2(newsmb.file,"%s%s",cfg.sub[newsub]->data_dir,cfg.sub[newsub]->code);
    | ^~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:82: note: in definition of macro `SAFEPRINTF2'
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ^~~
    writemsg.cpp:1782:36: note: format string is defined here
    1782 | SAFEPRINTF2(newsmb.file,"%s%s",cfg.sub[newsub]->data_dir,cfg.sub[newsub]->code);
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from writemsg.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:452:65: note: `snprintf' output between 1 and 133 bytes into a destination of size 128
    452 | #define SAFEPRINTF2(dst,fmt,a1,a2) snprintf(dst,sizeof(dst),fmt,a1,a2), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    writemsg.cpp:1782:9: note: in expansion of macro `SAFEPRINTF2'
    1782 | SAFEPRINTF2(newsmb.file,"%s%s",cfg.sub[newsub]->data_dir,cfg.sub[newsub]->code);
    | ^~~~~~~~~~~
    Compiling xtrn.cpp
    Compiling xtrn_sec.cpp
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from xtrn_sec.cpp:22:
    xtrn_sec.cpp: In member function `bool sbbs_t::exec_xtrn(uint, bool)': xtrn_sec.cpp:1410:32: warning: `%s' directive output may be truncated writing up to 4096 bytes into a region of size 256 [-Wformat-truncation=]
    1410 | SAFEPRINTF(str,"%sMODUSER.DAT",dropdir); /* if for some weird */
    | ^~~~~~~~~~~~~~~ ~~~~~~~ /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:82: note: in definition of macro `SAFEPRINTF'
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ^~~
    xtrn_sec.cpp:1410:33: note: format string is defined here
    1410 | SAFEPRINTF(str,"%sMODUSER.DAT",dropdir); /* if for some weird */
    | ^~
    In file included from ../comio/comio.h:38,
    from sbbs.h:93,
    from xtrn_sec.cpp:22: /home/bbs/sbbs-git/src/sbbs3/../xpdev/gen_defs.h:451:65: note: `snprintf' output between 12 and 4108 bytes into a destination of size 256
    451 | #define SAFEPRINTF(dst,fmt,arg) snprintf(dst,sizeof(dst),fmt,arg), TERMINATE(dst)
    | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    xtrn_sec.cpp:1410:17: note: in expansion of macro `SAFEPRINTF'
    1410 | SAFEPRINTF(str,"%sMODUSER.DAT",dropdir); /* if for some weird */
    | ^~~~~~~~~~
    Compiling ver.cpp
    Compiling ssl.c
    ~~~
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab issue in main/sbbs on Thu Oct 26 13:13:51 2023
    close https://gitlab.synchro.net/main/sbbs/-/issues/667

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