• src/sbbs3/atcodes.cpp

    From Rob Swindell (in GitKraken)@VERT to Git commit to main/sbbs/master on Friday, March 03, 2023 17:45:11
    https://gitlab.synchro.net/main/sbbs/-/commit/2ed9a14695a1b553367aa78a
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add CPS @-code which is used to display the current download CPS

    In a minute, this CPS value will be of more use since it'll be reflective of the user's actual download rate (in characters/bytes per second) instead of just some randomly-chosen numeric constant.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (in GitKraken)@VERT to Git commit to main/sbbs/master on Monday, March 20, 2023 17:23:01
    https://gitlab.synchro.net/main/sbbs/-/commit/9976fd9b5c709bbc9cf6699d
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add GETDIM @-code to get the current ANSI terminal dimensions (rows and cols)

    This code will do nothing if there's no user logged-in or their terminal is
    not ANSI or their terminal dimensions (rows and cols) are set to specific values (not auto-detected). This code does the same thing as calling JS console.getdimensions(). Since it waits (up to 5 seconds) for a CPR response from the terminal, this does potentially slow down output, so caveat emptor.

    This could be used by a sysop to address issue #529.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Wednesday, September 13, 2023 18:42:15
    https://gitlab.synchro.net/main/sbbs/-/commit/b5b01373dd7339a330b2669f
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add new @-code: PROT, user's default file transfer protocol (character)

    This fixes issue #629

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Sunday, September 24, 2023 01:57:53
    https://gitlab.synchro.net/main/sbbs/-/commit/ae2079ace6ec729e9fbd17a2
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    text.dat string IDs can now be used in/as @-codes, directly

    The TEXT:<x> @-code can now be used with the text.dat string ID rather than
    the text.dat string number, if preferred.

    For convenience and brevity, ALL text.dat string IDs are now valid @-codes (case-sensitive). While this functionality is redundant with the TEXT: @-code now, if there are any conflicts between new/existing @-codes and text.dat string IDs, the TEXT: @-code can be used to overcome such conflicts.

    This should help with localization (to other languages) by using common single-word replacements (Which, Quit, Next, etc.) in text.dat strings.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Friday, December 01, 2023 19:43:53
    https://gitlab.synchro.net/main/sbbs/-/commit/d6b3ad8ea5b09f8160a94cc0
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Fix potential buffer overflow and NULL pointer deref in expand_atcodes()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sunday, December 10, 2023 13:48:08
    https://gitlab.synchro.net/main/sbbs/-/commit/40a47c302d2011b79b6875a6
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add new @-codes: MSG_TO_FIRST and MSG_FROM_FIRST

    The first word of the message recipient or author's name.

    For Accession.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Friday, January 12, 2024 22:33:58
    https://gitlab.synchro.net/main/sbbs/-/commit/01401754b857bf11b3eebf29
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    New @-code NODE_USER which will expand to UNKNOWN_USER if node is anonymous

    Needed for exactly reproducing built-in node status string formatting using @-codes (only).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sunday, January 14, 2024 20:12:02
    https://gitlab.synchro.net/main/sbbs/-/commit/ad12b9b21236615ae51b0112
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Fix the recently-added NODE_USER @-code

    Since "NODE*" is a match for a node number status (ugh), and this comparison happened before the comparison for "NODE_USER", we'd never hit that condition. Thought I tested this before original commit, but I guess I did not. Oops.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Monday, January 15, 2024 21:14:44
    https://gitlab.synchro.net/main/sbbs/-/commit/cca3e63334314ddee890c2d2
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Fix hungry-matching of "NODEx" @-code

    The 5th character must be a digit.

    Prevent future stupidity such as happened with recently added and then
    fixed NODE_USER @-code.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, January 24, 2024 20:41:28
    https://gitlab.synchro.net/main/sbbs/-/commit/68e4967280d16a009b822c34
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Fix 4-digit bug in separat_thousand() used for 'T' @-code format modifier

    I noticed while testing the previous commit that 4 digit values weren't thousands-separated, while larger values were. I'm not sure why this
    non-zero index check was in this loop, but appears to be a bug.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 25, 2024 14:03:43
    https://gitlab.synchro.net/main/sbbs/-/commit/47f34aaefd7982374764231b
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Make parse() a member function of struct atcode_format

    Silly me, this is C++, do the C++ thing

    No functional change.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 25, 2024 20:57:05
    https://gitlab.synchro.net/main/sbbs/-/commit/0787d5d334c80f9271b4419e
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    struct declarations don't need the 'struct' keyword in C++

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, February 07, 2024 11:53:18
    https://gitlab.synchro.net/main/sbbs/-/commit/338252ce6a9c10ce3c1d0e32
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    More format specifier correction.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, March 06, 2024 22:56:23
    https://gitlab.synchro.net/main/sbbs/-/commit/931f9234fe1b311af8d575a4
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    New @-code: GIT_DATE

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, September 25, 2024 12:00:02
    https://gitlab.synchro.net/main/sbbs/-/commit/a04916dd0960f42157018445
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add PETGRFX @-code to send char 142 (enter PETSCII upper/graphics char set)

    ... when PETSCII terminal in use.

    For those sysops using editors that don't automatically or easily add this character to their SEQ art files when needed.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, September 25, 2024 15:25:26
    https://gitlab.synchro.net/main/sbbs/-/commit/dccb546d8b89ce021b8eb569
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    include petdefs.h (needed for PETSCII_UPPERGRFX definiton)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Monday, April 07, 2025 21:32:28
    https://gitlab.synchro.net/main/sbbs/-/commit/fccf1a5718fdcb9864bcbccf
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Better parsing of invalid @-codes

    @-codes never start with a number (decimal digit)
    @-codes never contain any whitespace (including tabs, CR and LF).

    These 2 issues caused the stock batch file transfer menu for RIP terminals
    to display all messed-up.

    This RIP menu (text/menu/batchxfr.rip) contains @s and they triggered some stripping of text and expanding to a text.dat string (!).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tuesday, April 08, 2025 16:52:07
    https://gitlab.synchro.net/main/sbbs/-/commit/7b42b9be244f639d5afd7e23
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Clean-up the initial string/pointer adjustment in show_atcodes()

    No functional change.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tuesday, April 22, 2025 16:12:46
    https://gitlab.synchro.net/main/sbbs/-/commit/fc4ee1b9f4fe8397fedcb8c9
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Allow C escape sequences in EXEC: @-code argument, to allow param passing

    e.g. separate module name from command-line params with \x20 and separate params from eachother with \x20.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, June 11, 2025 21:08:01
    https://gitlab.synchro.net/main/sbbs/-/commit/c122ddd88d1cb0b1c0abb5f6
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Renamed DAYBYTES to USEDCDT (amount of free credits used today)

    DAYBYTES is now an alias for BTODAY, since that more accurately reflects what PCB and WC used this code for, though WC4 Sysop Guide says it's in "K", we'll ignore that inconsistency (Wildcat! docs are wrong maybe?).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, June 12, 2025 16:04:56
    https://gitlab.synchro.net/main/sbbs/-/commit/e636d71e390a0f2a4d014a63
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Transfer stats @-codes using byte total estimates (e.g. "1.2M")

    BTODAY now expands to a byte estimate (DAYBYTES is still the exact byte count)

    New codes: UPB and DLB for total-uploaded-bytes and total-downloaded-bytes There are already existed other codes for kibibytes or exact bytes, but there were none for byte estimates that shorten larger numbers nicely.

    Here's an example of the various transfer stats related @-codes now:

    DTODAY: '1'
    BTODAY: '2.8K'
    KTODAY: '2'
    DAYBYTES: '2827'
    DLFILES: '615'
    DLB: '2.2G'
    DLBYTES: '2406384443'
    DOWNK: '2349984'
    UPFILES: '247'
    UPB: '13.6G'
    UPBYTES: '14602185912'
    UPK: '14259947'

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, June 12, 2025 20:57:16
    https://gitlab.synchro.net/main/sbbs/-/commit/e159c5096ead5b835dbbd06b
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    New @-codes to display credit percentages awarded for up/downloads for curdir

    - UCP (upload credit percentage)
    - DCP (download credit percentage)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, June 18, 2025 21:46:45
    https://gitlab.synchro.net/main/sbbs/-/commit/db7fde0045aa49a3699d60b2
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add BYTERATIO alias (PCBoard compatible) for UDR @-code

    First addition for issue #940

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Saturday, December 27, 2025 01:17:58
    https://gitlab.synchro.net/main/sbbs/-/commit/32b4cfef53328f4ec9e76208
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Remove duplice at-code: GENDERS (defined twice)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Monday, January 05, 2026 00:49:23
    https://gitlab.synchro.net/main/sbbs/-/commit/e25c2129ac0ac8c4c8c9025f
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Fixes and additions with statistics and security related @-codes

    - The following codes wold return bad/truncated "hours" if the val was > 9hrs
    TPERC, TPERD (e.g. "4:00" instead of "24:00")
    - The following codes wold return bad/truncated "hours" if the val was > 99hrs
    TTODAY, TTOTAL, TBANKED (e.g. "10:00" instead of "250:00")

    New codes:
    - TMLAST (time used last call in [H]H:MM format)
    - HRLAST (estimated hours used last call, with 'h' suffix)
    - LASTTM (exact time used during last call, with 'm' suffix)
    - TMTODAY (exact total time used today, with 'm' suffix)
    - HRTODAY (estimated hours used today, with 'h' suffix)
    - HRPERD (estimated hours allowed per day, with 'h' suffix)
    - HRPERC (estimated hours allowed per call, with 'h' suffix)
    - TOTALHR (estimated total time used, in hours, with 'd' or 'h' suffix)
    - TOTALTM (exact total time used, verbose, with 'm' suffix)
    - EXTRAHR (extra time, in estimated hours with 'd' or 'h' suffix)
    - EXTRATM (extra time, verbose, with 'm' suffix)
    - TMBANK (banked time, verbose, with 'm' suffix)
    - HRBANK (banked time, estimated in hours, with 'm' suffix)
    - CDT (estimated number of credits, e.g. "4.0G")
    - CDTPERD (estimated free credits per day, e.g. "5.0G")
    - CDTUSED (estimated free credits used today, e.g. "1.0G")
    - CDTLEFT (estimated total credits available to user, e.g. "5.5G")
    - CDTFREE (estimated remaining free credits, e.g. "0.5G")

    Duration @-codes are expanded in a few variant formats:
    1 raw units (seconds or minutes) as a whole number (e.g. MEXTRA, TLAST)
    2 hours and minutes, zero-padded as "[H]HH:MM" (e.g. TEXTRA, TBANKED)
    3 hours and minutes, shortened as "[HHH:]MM" (e.g. TTODAY)
    4 estimated day and hours (e.g. TOTALHR="15.4d", EXTRAHR="2.5h")
    5 exact number of days, hours, and minutes (e.g. TOTALTM="15d 9h 37m")

    Byte/credit @-codes are expanded in a few variant formats:
    1 raw byte/credit numbers as a whole number (e.g. CREDITS, DLBYTES)
    2 kibibyte units as whole number (KTODAY) or fraction (FILEKB) with no suffix
    3 mebibyte units as whole number (FILESPACEM) or fraction (FILEMB), no suffix
    4 gibibyte units as whole number (FILESPACEG) or fraction (FILEGB), no suffix
    5 estimated size as fraction (e.g. BTODAY, DLB) with suffix

    While multiple formats are available for most values, not all formats are available for every value. The 'T' format modifier can be used to add
    thousands separators (commas) to the raw unit outputs (1).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Monday, January 05, 2026 05:25:37
    https://gitlab.synchro.net/main/sbbs/-/commit/834f48490ad1214f657c423c
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Resolve GCC printf usage warning

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tuesday, January 06, 2026 19:28:48
    https://gitlab.synchro.net/main/sbbs/-/commit/4d50e62660bcba11b1c1b274
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add UN as an alias for USERNUM

    User numbers are not often more than 4 digits, so its more convenient for display file editing purposes to have a shorter code.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, January 07, 2026 23:21:25
    https://gitlab.synchro.net/main/sbbs/-/commit/222622e3bde35bbba76262ff
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Add codes: FFILES, FBYTES, FCOST, and FTIME, with new format parameters

    Inspired by PCBoards's FFILES and FBYTES (see issue #940), these codes
    report details of the user's current batch download queue. I completed the set by adding FCOST and FTIME.

    An important new feature introduced with these codes are new (optional) byte-count and time-duration specific format parameters. e.g. while FBYTES returns the total size of all files in the batch download queue in bytes, FBYTES:K will return the total size in kibibytes. Similarly, FTIME will
    return the estimated number of minutes to download the queue while FTIME:S
    will return the estimated number of seconds.

    There are currently 8 formats of time-durations and 5 formats of byte-count representations. I suspect I'll be adjusting these and adding more before finalizing and documenting on the wiki.

    I plan to give more codes this treatment and remove many of the new duration codes I recently added since this feature means we don't need a separate uniquely-named code for each output format: it was a real pain to come up with good or consistent, but short names, and manage them all.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 08, 2026 01:54:14
    https://gitlab.synchro.net/main/sbbs/-/commit/fb97ffcb3fcc8dddeb831ca7
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Support byte-count and time-duration format parameters for legacy @-codes

    Now supporting byte-count format parameters:
    - FILE_BYTES
    - FILE_CREDITS
    - FILE_TIME_TO_DL
    - FREECDT
    - CREDITS
    - CDTLEFT
    - CDTUSED
    - CDTPERD
    - DLB
    - UPB
    - BTODAY
    - STATS.ULB
    - STATS.DLB

    Now supporting time-duration format parameters:
    - TBANKED
    - MBANKED
    - TEXTRA
    - MEXTRA
    - TLAST
    - TTOTAL
    - MTODAY
    - TTODAY
    - MTODAY (aka TOTALTIME)
    - TPERD
    - TPERC
    - MPERD
    - MPERC (aka TIMELIMIT)
    - TLEFT
    - TIMEON
    - TUSED
    - STATS.TIMEON
    - STATS.TTODAY

    Removed short-lived now-superfluous codes (whew!):
    - TMUSED
    - MUSED
    - HRUSED
    - TONLINE
    - TMONLINE
    - MONLINE
    - HRONLINE
    - SECLEFT
    - TMLEFT
    - MLEFT
    - HRLEFT
    - TPERD
    - TPERC
    - HRPERD
    - HRPERC
    - TMTODAY
    - HRTODAY
    - TOTALHR
    - TMLAST
    - HRLAST
    - LASTTM
    - EXTRATM
    - EXTRAHR
    - HRBANK
    - TMBANK
    - CDT
    - CDTFREE

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 08, 2026 02:51:25
    https://gitlab.synchro.net/main/sbbs/-/commit/8a343cbf4c6a9f43954569b9
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Remove BYTERATIO (for now) since it doesn't match PCBoard output

    Added/adjusted several comments

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 08, 2026 14:53:52
    https://gitlab.synchro.net/main/sbbs/-/commit/8c208eb20de2af81bc2d36b5
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    Type cast to resolve CID 640932

    Hopefully users don't ever actually need/have more than 63-bits for credits.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tuesday, January 27, 2026 16:47:24
    https://gitlab.synchro.net/main/sbbs/-/commit/e4e1de9e09e29a51b0a6aaf7
    Modified Files:
    src/sbbs3/atcodes.cpp
    Log Message:
    INCLUDE:<file> code shouldn't read line-at-a-time

    Use P_OPENCLOSE, like it's a small/menu file (because it probably is).

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