• src/syncterm/ripper.c

    From Deucе@VERT to Git commit to main/sbbs/master on Saturday, March 13, 2021 22:44:47
    https://gitlab.synchro.net/main/sbbs/-/commit/61022e183d56d3e58411a441
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Don't make parse_rip() do anything when RIP is disabled.

    Should fix file transfer issues.
    (SF bug #38)

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sunday, March 14, 2021 22:57:48
    https://gitlab.synchro.net/main/sbbs/-/commit/21763a1df8ad975a60fe1147
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Add comments for all the things.

    Just copied out of the documentation.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Friday, April 30, 2021 12:01:41
    https://gitlab.synchro.net/main/sbbs/-/commit/730c324235093b61f658e947
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Start of minimal RIPv2 support.

    Just the easy stuff (scaling, extended colours, border toggle, filled rectangle)

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Friday, April 30, 2021 12:57:01
    https://gitlab.synchro.net/main/sbbs/-/commit/2c23c1a3218b32b9d05aba9a
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Remove debug, optimize

    Generate conversion tables rather than do float math twice for each
    virtual pixel.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Friday, April 30, 2021 20:15:45
    https://gitlab.synchro.net/main/sbbs/-/commit/b9d43a4c3c635070dba52dc2
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Implement disabled text for RIP.

    We still need to pass ANSI through to the parser though because
    Synchronet goes apeshit if it doesn't get a response to a location
    request... it tries twice and eats any data it receives that isn't
    a valid position report, which obviously breaks menus.

    It's also very weird that on Booch's BBS at least it's sent during
    the main menu display rather than just on answering. Not sure why
    this is, but it means we can't implement the RIP requirement of
    "ignoring all non-RIPscrip bytes" with a zero window without digging
    deep into Synchronet guts.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Saturday, May 01, 2021 07:36:50
    https://gitlab.synchro.net/main/sbbs/-/commit/f5a3570f92d9b8844cd56e4b
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix merge issue.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Saturday, May 01, 2021 12:31:51
    https://gitlab.synchro.net/main/sbbs/-/commit/1a5fe6e2f0be45c3d8b4f5d2
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Some optimizations and clearing realloc()ed data.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sunday, May 02, 2021 07:48:56
    https://gitlab.synchro.net/main/sbbs/-/commit/1075cd28c2e431aca992a1f6
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Add save/resotore mouse fields commands.

    Used extensively on Black Flag BBS.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Tuesday, May 04, 2021 18:02:29
    https://gitlab.synchro.net/main/sbbs/-/commit/59053de5e06c260d968f7b5f
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Make some changes

    Mostly tightening things up and fixed some text things.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wednesday, May 05, 2021 20:56:53
    https://gitlab.synchro.net/main/sbbs/-/commit/faca73d3d0f6ae524be38e40
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix palette calculations, and add support for RIPv2 'b' command.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thursday, May 06, 2021 19:06:55
    https://gitlab.synchro.net/main/sbbs/-/commit/19f0c215a6cc9402df40e158
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    More improvements...

    Consistently use map_rip_color()
    Optimize flood fill to not clobber the stack
    Fix small full ellipses to match RIPTerm 1.54

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Monday, May 10, 2021 09:27:58
    https://gitlab.synchro.net/main/sbbs/-/commit/461d36a14af5b78d0632e3e5
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Draw the ellipse pixel when the angle is equal to start/end as well

    Being stritly less/greater causes a one pixel gap at the start/end
    of the ellipse, meaning flood fills can escape.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Monday, May 10, 2021 09:56:33
    https://gitlab.synchro.net/main/sbbs/-/commit/37d8d708cb66298fb6848f6d
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Add extended comment on do_fill() and why it's terrible.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Tuesday, May 11, 2021 09:07:54
    https://gitlab.synchro.net/main/sbbs/-/commit/498187eb3ef005678e9fa92f
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix angle calculations on Win32

    Do multiple before divide, and use an lround() to get the same results
    on Win32 with mingw32 as Clang on FreeBSD.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Saturday, May 15, 2021 01:02:25
    https://gitlab.synchro.net/main/sbbs/-/commit/88480afbb740365557ff502a
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Don't guard #pragma

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wednesday, May 19, 2021 23:34:16
    https://gitlab.synchro.net/main/sbbs/-/commit/2cc6b5d95b825488dd791c64
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Use fexistcase() for RIP assets

    It seems that at least LORD has upper-case in the ZIPs and lower-case
    in the queries.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thursday, May 20, 2021 01:33:48
    https://gitlab.synchro.net/main/sbbs/-/commit/ab0256208977d1d2633be7f1
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    ifdef out an unused static function for now.

    It will be used in the future, so the code shouldn't be deleted,
    but not using it causes a warning.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Friday, May 21, 2021 16:23:13
    https://gitlab.synchro.net/main/sbbs/-/commit/040172431ecfac608bf832a7
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix auto-transfers

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Friday, May 21, 2021 16:23:13
    https://gitlab.synchro.net/main/sbbs/-/commit/05b3074f28d0352c216db376
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Send CRLF instead of the specified CR on a file status.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Friday, September 27, 2024 23:15:55
    https://gitlab.synchro.net/main/sbbs/-/commit/75008b3055306224ca0272cc
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix a couple use-after-free bugs in RIP

    This likely is the cause of bug 140.

    The first one, the LCF flag is copied out of the cterm struct
    after cterm_end() is called (which frees the struct). Copy moved
    to before cterm_end().

    The second one is trickier... it's executing the commands in a mouse
    button, and one of the commands is to delete all the mouse button
    commands. This ends up free()ing the string that's currently being
    parsed while it's being parsed. We now use a strdup() of the string
    which we free at the end of the function.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Friday, September 27, 2024 23:40:23
    https://gitlab.synchro.net/main/sbbs/-/commit/9fefe60690d8c378c13ccd96
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix builds that don't support any graphics.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Monday, October 28, 2024 09:47:57
    https://gitlab.synchro.net/main/sbbs/-/commit/1a74630f9654033b92b0fe28
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    When RIP changes the vstat mode, also change the cursor

    When changing between 8 and 16 row fonts in RIP mode, the cursor
    start and end was left for the old font size... 16 -> 8 would leave
    the cursor one line below the current position, and 8 -> 16 would
    leave the cursor in the middle of the cell.

    This hacks the vstat deeper to fix up the cursor as well.

    Reported by skipperdoodle1947.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Tuesday, October 29, 2024 12:11:28
    https://gitlab.synchro.net/main/sbbs/-/commit/0a78d39dd2e3389140dff826
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix handling of broken CRLF pairs in RIP mode

    If telnet binary mode is enabled (the new default), and a CR and LF
    come in on separate recv() calls, the RIP parser would stop at the
    CR, and pass the LF back to the ANSI parser.

    Ah, dura-bbs.net, always pushing the limits.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wednesday, October 30, 2024 09:54:01
    https://gitlab.synchro.net/main/sbbs/-/commit/9b3aa58cf998d1c1015560b3
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix up previous commit

    RIPtel reset to the font configured by the user, not the current
    font. Do the same here.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Monday, December 30, 2024 23:50:22
    https://gitlab.synchro.net/main/sbbs/-/commit/d48528a74ff6605ef1f7aee0
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Just because we're *compiled* with graphics support doesn't mean
    we support them in the current mode.

    Fixes issue 175

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wednesday, January 01, 2025 22:35:43
    https://gitlab.synchro.net/main/sbbs/-/commit/ea4f8b4efe0a8e5e837398c5
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Eliminate a couple more Coverity issues via temporary variables.

    This gets the assignment to the rip.* members out of the lock so
    Coverity doesn't assume they need to be protected by the lock.

    It should compile to the same thing.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Friday, January 03, 2025 10:47:30
    https://gitlab.synchro.net/main/sbbs/-/commit/6f8678eb9e0d40dd72a0897e
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    "Range check" RIP ICN width/height to untaint them.

    This is purely to shut up Coverity since there's no way the value
    could be outside the range.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Saturday, January 11, 2025 22:00:28
    https://gitlab.synchro.net/main/sbbs/-/commit/a98f8a44c3429b19fbef6803
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix a memory leak and an allowed out-of-bounds access.

    Thanks Coverity!

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Saturday, January 11, 2025 22:47:06
    https://gitlab.synchro.net/main/sbbs/-/commit/444fecaf4af203b773ca5833
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Add unreachable code

    Coverity thinks it can do the default case.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Saturday, January 18, 2025 13:08:33
    https://gitlab.synchro.net/main/sbbs/-/commit/a64e68143b0c192a44a840ff
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Do the lock assertion thing in ripper.c too.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Saturday, January 18, 2025 16:30:06
    https://gitlab.synchro.net/main/sbbs/-/commit/f41de9a1f41359c845de5371
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Now that vstat.vmem has more stuff, ripper needs to hack up more.

    Fixes assertion/crash in 91-column mode (used in LORD intro screens)

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sunday, January 19, 2025 08:38:42
    https://gitlab.synchro.net/main/sbbs/-/commit/2aac6ec016aa3629c643e019
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Initialize the *new* memory, not the old stuff.

    Fixes various memory corruptions with RIP

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sunday, January 19, 2025 10:13:59
    https://gitlab.synchro.net/main/sbbs/-/commit/c464596b33610cc1683b69fd
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Work around what appears to be an integer promotion issue

    On an aarch64 Chromebook running gcc 12.2.0, these would wrap in
    weird ways causing vector fonts to be positioned incorrectly.

    It managed to say that (25 - -7) * 4 / 3 == -168
    This casting dance appears to resolve the issue.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wednesday, January 22, 2025 15:06:23
    https://gitlab.synchro.net/main/sbbs/-/commit/a97b1adad05bc8aec50278bf
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix possibly undefined value in ellipse.

    Top-right quadrant doesn't need a quadrant angle, the angle is what
    we want already.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wednesday, January 22, 2025 15:33:34
    https://gitlab.synchro.net/main/sbbs/-/commit/09b2157307bcfb080f0357a8
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Attempt to silence false positive warning.

    The warning suggests that x1 and y1 may be uninitialized in the i > 0
    block, but that's not really possible...

    It's too bad the warning doesn't clarify. It's also weird that the
    warning was in the draw_line() call and not in the lines above that (incorrectly) compared them with -1.

    Fix that check while we're here.

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