• src/sbbs3/chat.cpp data.cpp execfunc.cpp getnode.cpp js_bbs.cpp main.c

    From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Dec 16 18:24:31 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/ac673ac6817e468721bac2e6
    Modified Files:
    src/sbbs3/chat.cpp data.cpp execfunc.cpp getnode.cpp js_bbs.cpp main.cpp
    newuser.cpp sbbs.h
    Log Message:
    Add/user sbbs_t::getuseron() for better user.tab error logging/handling

    Looking into potential causes of issue #843, I found several instances where
    we call getuserdat() without checking the return value and restoring the useron.number to the current user number upon error: getuserdat() zeroes out the user struct/number upon error, a bad API choice made 23 years ago.

    Replace those instances with calls to sbbs_t::getuseron() which logs any open/lock/read failures of the user.tab and does not modify/zero-out the sbbs_t::useron struct upon error.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Rob Swindell (on Windows 11) on Mon Dec 16 22:16:18 2024
    Re: src/sbbs3/chat.cpp data.cpp execfunc.cpp getnode.cpp js_bbs.cpp main.c
    By: Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Mon Dec
    16 2024 06:24 pm

    the user struct/number upon error, a bad API choice made 23 years ago.

    Actually 33 years ago (!).
    --
    digital man (rob)

    This Is Spinal Tap quote #20:
    Well, I'm sure I'd feel much worse if I weren't under such heavy sedation. Norco, CA WX: 53.6°F, 63.0% humidity, 0 mph WSW wind, 0.00 inches rain/24hrs --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)