• src/sbbs3/data.cpp

    From rswindell@VERT to CVS commit on Mon Apr 27 00:42:23 2020
    src/sbbs3 data.cpp 1.31 1.32
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv16485

    Modified Files:
    data.cpp
    Log Message:
    Paranoia checks in getnextevent():
    If either localtime_r() or mktime() return a error result, don't use use the non-sensical time.
    Nelgin has reported that under some conditions, he sees:
    Your time has been reduced due to an upcoming event on Wed Dec 31 1969 18:00:00 when using Ctrl-T (time info hot key).
    I don't have an explanation for this, but if either of those function calls failed in getnextevent(), something like this could happen. <shrug>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Mon Dec 28 11:46:27 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/65c4e767c74112b6fdcaf771
    Modified Files:
    src/sbbs3/data.cpp
    Log Message:
    days == 128 is also "never".
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Dec 29 02:03:58 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/493ef50009df1e3c229bec9f
    Modified Files:
    src/sbbs3/data.cpp
    Log Message:
    More infinite/long event next-run-time brute force search paranoia

    Don't search more than 1500 days in the future for a next-run date match. This handles erroneous or just bizarre timed event configurations such as February-29 (once ever leap year) or April-31 (never).
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Jun 6 20:07:10 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/2106e62962d4819266eea6bf
    Modified Files:
    src/sbbs3/data.cpp
    Log Message:
    Modernize finduser() a bit

    Skip any prepended white-space in the passed name to find.
    Use better variable names (and length) for the character strings.
    Use matchusername() instead of strcmp(); matchusername() follows the liberal user-id/alias/name matching algorithm.
    Use strcasestr() instead of strstr(), so no copy/modification (upper-casing) of passed name is now required.
    When 'Q'uitting the search, set the SS_ABORT flag.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Feb 21 18:22:22 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/9d359582c6c0e7ee06f6408f
    Modified Files:
    src/sbbs3/data.cpp
    Log Message:
    Timed event "month days" value of 1 means "any day" (same as 0)

    This field should not normally have a value of '1' (no way to configure that, normally, since days are numbered starting at 1 and bit 1 is 2), but if it does, it's treated the same as 0 (any day of the month) - so fix that mismatch in getnexteventtime(). Just noticed this while comparing the logic with the new is_time_to_run() functions in main.cpp. That logic wasn't (should not have) changed, so this mismatch in the treatment of mdays == 1 existed before.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net