• src/conio/ciolib.h

    From rswindell@VERT to CVS commit on Fri Mar 22 10:28:00 2019
    src/conio ciolib.h 1.100 1.101
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv32122/conio

    Modified Files:
    ciolib.h
    Log Message:
    Use default calling convention (__cdecl) for DLL funcs in Borland builds.

    Fix age-old bug with Borland/C++Builder built executables (Windows):
    to achieve compatibility with the default __cdecl symbol naming rules of Visual C++, we were using __stdcall convention for DLL functions when
    building code with Borland/C++Builder tools and using the default (__cdecl) convention when building with Microsoft (Visual C++) tools. Although this allowed symbols to be located when linking, the calling convention mismatch caused a stack cleanup issue that very rarely manifested itself in a bug
    (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
    the calling conventions was unintentional (I thought the default for MSVC
    DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions worked 99% of the time, I didn't realize there was an underlying issue. So I now work-around the DLL symbol naming mismatch using a command-line option (-a) passed to implib in src/sbbs3/ctrl/makelibs.bat

    I had previously worked-around exceptions when calling MSVC DLL functions in sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler rather than a user control (e.g. button) event handler. Those work-arounds can now be removed.

    The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted) to many other projects' header files in cvs.synchro.net. In the future, we may want to just remove all instances of *CALL since they now serve no purpose and appear as useless "Kruft" (but do allow us to more-easily globally change DLL function calling conventions if/when necessary in the future).



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Thu Jul 25 07:44:32 2019
    src/conio ciolib.h 1.105 1.106
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv15445

    Modified Files:
    ciolib.h
    Log Message:
    Mode numbers can't be over 255 if text_info needs to hold them.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Mar 13 06:51:21 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/e679fa13d4658d06b818fa5b
    Modified Files:
    src/conio/ciolib.h
    Log Message:
    include curs_fix from ciolib.h to fix openSUSE

    Apparently, the ncurses in openSUSE Leap-15.2 has the following:
    Since we have a struct member named ESCDELAY, we can't actually set
    it at all when this macro is defined.

    The three possibilities to deal with this are:
    1) Rename the ESCDELAY member.
    Likely the best option long-term, but I don't want to find everything
    and update it at this time.
    2) Avoid using the ESCDELAY member #ifdef ESCDELAY
    Which makes it not work in the exact set of circumstances it makes
    sense in.
    3) #include curs_fix.h from ciolib.h
    This actually renames the ESCDELAY member to _nc_ESCDELAY, but you
    won't be able to actually notice this.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wed Feb 23 08:07:35 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/6f8041a2a4a59a93d48604de
    Modified Files:
    src/conio/ciolib.h
    Log Message:
    Move all exported variables into extern "C" block

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Feb 26 16:44:25 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/b749292d8b8e0b4941814d06
    Modified Files:
    src/conio/ciolib.h
    Log Message:
    Make ciolib_appname const

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wed May 3 09:36:02 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/4cfb0cc5fcffc8c333c16797
    Modified Files:
    src/conio/ciolib.h
    Log Message:
    GDI needs CIOLIB_main as well

    ---
    þ 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 Tue Feb 13 18:03:44 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/337743edbbe7f9f3f2507e9c
    Modified Files:
    src/conio/ciolib.h
    Log Message:
    Change enum text_modes (plural) to enum text_mode (singular)

    This is the way.

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