Changes between Initial Version and Version 1 of Ticket #69374


Ignore:
Timestamp:
Feb 19, 2024, 4:52:57 PM (3 months ago)
Author:
ryandesign (Ryan Carsten Schmidt)
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #69374

    • Property Port gcc13 added
  • Ticket #69374 – Description

    initial v1  
    11I noticed a problem in ncurses not displaying multibyte characters (used in line-drawing), and narrowed it down to a problem optimizing an expression in `tty_update.c`, using this chunk(https://github.com/ThomasDickey/ncurses-snapshots/blob/a98f459acb17efd5c1754d12efdfeba8cdb70e68/ncurses/curses.priv.h#L1458):
    22
    3 ````
     3{{{
    44                                } else {                                            \
    55                                    int PUTC_j;                                     \
     
    99                                    }                                               \
    1010                                }                                                   \
    11 ````
     11}}}
    1212
    1313used here(https://github.com/ThomasDickey/ncurses-snapshots/blob/a98f459acb17efd5c1754d12efdfeba8cdb70e68/ncurses/tty/tty_update.c#L357):
    1414
    15 ````
     15{{{
    1616    PUTC(CHDEREF(ch));
    17 ````
     17}}}
    1818
    1919There's no issue reported in valgrind, address sanitizer, etc., in other environments, which would indicate a problem in ncurses, but with optimization that goes through the loop the expected number of times but fails to call the output `NCURSES_OUTC_FUNC` more than once.