• src/uifc/uifc32.c

    From Deucе@VERT to Git commit to main/sbbs/master on Tue Mar 12 13:10:16 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f605e394a59794596b94216e
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Remove non-ASCII char comments.

    These were originally non-ASCII char literals.

    ---
    ■ 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 Fri Jun 21 00:26:42 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f7caa6722d4d5b3132b0050e
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Expand tabs and ignore form-feeds in showbuf/help text

    ---
    � 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 Fri Jun 21 00:26:42 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/89dda20e134e5d0443196a90
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Truncate long titles in showbuf() the corrupt the screen and the heap

    Don't actually truncate the string, just the display length

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Mar 6 18:21:01 2020
    src/uifc uifc32.c 1.249 1.250
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv15394

    Modified Files:
    uifc32.c
    Log Message:
    Update the clock if the minute changes as well as if sixty seconds have
    passed.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sun Mar 8 13:25:59 2020
    src/uifc uifc32.c 1.250 1.251
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv14574

    Modified Files:
    uifc32.c
    Log Message:
    Resolve warning C4013: 'localtime_r' undefined; assuming extern returning int



    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Mar 31 00:19:46 2020
    src/uifc uifc32.c 1.251 1.252
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv4934

    Modified Files:
    uifc32.c
    Log Message:
    Turn off hold_update when updating the clock.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Wed Apr 8 23:00:07 2020
    src/uifc uifc32.c 1.253 1.254
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv7930

    Modified Files:
    uifc32.c
    Log Message:
    Show mouse on an error... it's almost certain nobody has ever seen this.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Thu Apr 9 22:09:13 2020
    src/uifc uifc32.c 1.254 1.255
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv6348

    Modified Files:
    uifc32.c
    Log Message:
    Add CTRL-F to find in a list.

    Requested by: DigitalMan.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Thu Apr 9 22:14:27 2020
    src/uifc uifc32.c 1.255 1.256
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv7224

    Modified Files:
    uifc32.c
    Log Message:
    Retain search string between CTRL-F presses.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Thu Apr 9 22:16:32 2020
    src/uifc uifc32.c 1.256 1.257
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv7535

    Modified Files:
    uifc32.c
    Log Message:
    Add CTRL-G to repeat the last search.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Fri Apr 10 01:40:30 2020
    src/uifc uifc32.c 1.257 1.258
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv4518

    Modified Files:
    uifc32.c
    Log Message:
    Fix MSVC compile error.


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Fri Apr 10 01:47:24 2020
    src/uifc uifc32.c 1.258 1.259
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv5481

    Modified Files:
    uifc32.c
    Log Message:
    Fix one crash in the new Ctrl-Find feature (option lists can, unfortunately, be terminated with a 0-length option string).
    There still another crash I'm investigating that occurs if you type a string that isn't found. It appears to deref past the end of the option array.


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Fri Apr 10 01:57:49 2020
    src/uifc uifc32.c 1.259 1.260
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv6915

    Modified Files:
    uifc32.c
    Log Message:
    Fix the crash I just mentioned in the previous commit - don't deref past the length of option[].


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Mon Apr 13 00:21:23 2020
    src/uifc uifc32.c 1.261 1.262
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv14861

    Modified Files:
    uifc32.c
    Log Message:
    Actually, this commit fixes the crash... I wasn't high enough up in the
    tree to commit both at once.

    There was a crash when wrapping at the end of a search. Now there isn't. You're welcome.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Thu Apr 16 09:55:44 2020
    src/uifc uifc32.c 1.262 1.263
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv8771/uifc

    Modified Files:
    uifc32.c
    Log Message:
    Give each font a codepage.
    getcliptext() and copytext() (ie: copy/paste) now work on UTF-8 strings.
    Not tested on Win32 yet.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Mon May 4 12:05:11 2020
    src/uifc uifc32.c 1.263 1.264
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv11939

    Modified Files:
    uifc32.c
    Log Message:
    Do some crappy scroll-wheel stuff.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Thu May 7 13:27:25 2020
    src/uifc uifc32.c 1.264 1.265
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv19414

    Modified Files:
    uifc32.c
    Log Message:
    Use CIOLIB_MOUSEPTR_BAR in uifc mode.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Mon May 18 07:52:41 2020
    src/uifc uifc32.c 1.265 1.266
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv3058

    Modified Files:
    uifc32.c
    Log Message:
    Add some paranoia around paste buffers.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Jun 26 17:04:54 2020
    src/uifc uifc32.c 1.266 1.267
    Update of /cvsroot/sbbs/src/uifc
    In directory cvs:/tmp/cvs-serv26277/uifc

    Modified Files:
    uifc32.c
    Log Message:
    Initial RIP and SkyPix support. Very rough many bugs. So alpha.

    There are a number of conio changes in here too... too many to list. Check
    the diffs if you actually want to know what changed.




    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Sun Nov 22 22:45:36 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/3e4b05f2cfc033770763bb23
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    If both WIN_ORG and WIN_SAV modes are specified, don't clear save buffers.

    umonitor uses these mode flags together (or soon will) and bad things happen
    if you always clear the buffers that you're trying to save/restore.

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sun Nov 3 11:14:25 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/32fb9b77db11ec82231e4cee
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    More malloc() return checks

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wed Nov 13 22:38:06 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/056304ed9e73c847a08102bb
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Fix bug reported by DigitalMan

    It looks like this has been a long-standing UIFC bug (pre-3.0)

    If a uifc list that can scroll is showing the bottom-most line,
    and an option that is not the last is deleted, and both *cur and
    *bar are left untouched, *bar would be adjusted to be too high,
    resulting in various highlight bar corruption issues.

    This commit just rewrites that logic to be comprehensible, and
    ensures that if bar is set such that the list would end before the
    bottom of the window, it gets moved up. This makes delete do the
    right thing (didn't test with insert, that may do weird things).

    Also, since I figured out a good definition of what bar actually
    represtens, add a comment to that effect.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wed Nov 13 23:26:48 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2e47ac987d5f1f1add45e5f7
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Just overhaul this who chunk of code.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Jan 4 21:51:35 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/d63dd43c9b9a1cc24b268829
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Prevent dereferencing NULL bar or cur with WIN_DYN

    This would be an API violation, but we shouldn't crash about it.

    ---
    ■ 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 Thu Jan 9 18:53:52 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/935afe75ac88dd8094e58e71
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Fix buffer overflow when upop() is called with a string > 73 chars

    result in segfault (e.g. adding long filenames using fileman.js)

    ---
    � 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 Thu Jan 9 20:22:12 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/d55686a5ef0d1f9706d17b18
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    A more complete fix for the upop() issue with long strings

    Completely remove the 80 column screen width assumption/limit.

    ---
    � 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 Jan 14 17:42:18 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/ad84aa032681df2b5a7eb06d
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Resolve MSVC warning

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Mon Feb 10 14:43:09 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/f55039de28c9dfc30450fec8
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Only base drag-select highlight on the legacy attribute.

    The fg/bg values all have multiple representations, and some bits
    have extra meanings, so inequality there doesn't mean they're not
    the same colour.

    This fixes an issue where the *second* drag select on a screen
    would not highlight blue backgrounds correctly. The background
    colour gets the "pixels set" bit flown because of how
    restorescreen() works, which caused this to "know" it's not blue
    and use a blue background.

    A (good) argument could be made that savescreen()/restorescreen()
    shouldn't result in any changes, but since uifc32 doesn't directly
    use colours that aren't represented by legacy attributes, there's
    no need for it to get tricky here.

    ---
    ■ 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 Thu Jan 15 00:56:52 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/c435be7c3f57a30fa0095e8e
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Resolve GCC warning about not checking return value of vasprintf

    ---
    � 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 Sat Jan 17 01:26:03 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8d530846c761b54828c61493
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Change ugetstr() to be able to use modes K_FIND and K_CHANGES together

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Mon Feb 23 15:53:22 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/33e2888f435a8d48036759ae
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Check for re-fill blk_scrn buffer before every use

    Previously, the buffer was fixed to the default colours for the API
    structure. Now of the fill char or colours change, the fill is
    updated to reflect that.

    ---
    ■ 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 Mon Feb 23 16:30:26 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/bbc3bb5a58375d21720b0eba
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Address new warning from MSVC about comparison of signed-mismatched vars

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Mar 21 09:08:52 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/bdab1d4d041d467c1d43c6d2
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    Don't modify the option list.

    uifc would truncate space and control characters from the end of
    options if the width was being auto-calculated.

    This is a TERRIBLE idea because those are often const data.
    If this is actually needed, it could be a weird strlen thing, but
    it really shouldn't be needed.

    This has been broken since the beginning.

    ---
    ■ 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 Tue May 5 16:50:28 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/264210ef87b3800b5037fc62
    Modified Files:
    src/uifc/uifc32.c
    Log Message:
    uifc: showbuf width minimum is title_len + 8, not + 6

    When the caller passes width < title_len + 6, showbuf clamped up to
    title_len + 6. But the actual layout takes title_len + 8 cells -
    two corners, two titlebreak chars, two surrounding spaces, plus a
    minimum of two horizontal segments per side. The old minimum left titlebreak_right and top_right writing one cell each past the row's
    end, corrupting the first two cells of row 2. Visible when the title
    was longer than the longest line in the body buffer.

    Co-Authored-By: Claude Opus 4.7 <[email protected]>

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