Skip to content
  • rswindell's avatar
    425d42b3
    getuserdat() - if this function fails to open the user.dat file (e.g. it does · 425d42b3
    rswindell authored
    not exist), set the user->number to 0 before returning as many callers of this
    function do not check the return value, just the value of user->number after
    it returns (ugh). This problem was discovered when running a fresh install,
    typing "1" at the Login prompt and immediately getting a "Time's Up" message
    and a disconnect - only happens when there's no data/user.dat file.
    
    getnodedat() - don't try to unlock the node.dab file unless the read() fails.
    When using the MSVC2017 CRTL, an unlock() of a region that was not previously
    locked is a blocking call causing major slowness in the MSVC2017 build.
    
    putmsgptrs() - cleans up obsolete sections in the data/user/*.subs files now.
    So if you go from say 10,000 sub-boards to 2,000, it won't have to load and
    search through the extra 8,000 invalid subs (once the file is re-written upon
    log-off). This requires an updated xpdev build (for iniAppendSectionWithKeys)
    
    fixmsgptrs() - if the msgbase index can't be opened or the last index record
    cannot be read (e.g. there isn't one), insure the msg-scan pointer value is
    set to 0 (not ~0).
    425d42b3
    getuserdat() - if this function fails to open the user.dat file (e.g. it does
    rswindell authored
    not exist), set the user->number to 0 before returning as many callers of this
    function do not check the return value, just the value of user->number after
    it returns (ugh). This problem was discovered when running a fresh install,
    typing "1" at the Login prompt and immediately getting a "Time's Up" message
    and a disconnect - only happens when there's no data/user.dat file.
    
    getnodedat() - don't try to unlock the node.dab file unless the read() fails.
    When using the MSVC2017 CRTL, an unlock() of a region that was not previously
    locked is a blocking call causing major slowness in the MSVC2017 build.
    
    putmsgptrs() - cleans up obsolete sections in the data/user/*.subs files now.
    So if you go from say 10,000 sub-boards to 2,000, it won't have to load and
    search through the extra 8,000 invalid subs (once the file is re-written upon
    log-off). This requires an updated xpdev build (for iniAppendSectionWithKeys)
    
    fixmsgptrs() - if the msgbase index can't be opened or the last index record
    cannot be read (e.g. there isn't one), insure the msg-scan pointer value is
    set to 0 (not ~0).
Loading