Changeset 45adeeb in mainline for common/str.c


Ignore:
Timestamp:
2025-04-17T15:04:17Z (5 days ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
master
Children:
1db4e2ae, fb75979
Parents:
ae787807
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2025-04-14 12:19:52)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2025-04-17 15:04:17)
Message:

Expose restartable version of str_decode() as str_decode_r()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • common/str.c

    rae787807 r45adeeb  
    427427        char32_t ch = _str_decode(str, offset, size, &mb);
    428428
    429         if (ch == CHAR_INVALID)
     429        if (ch == CHAR_INVALID || mb.state)
    430430                return U_SPECIAL;
    431431
    432         if (mb.state)
    433                 return U_SPECIAL;
    434 
    435432        return ch;
     433}
     434
     435char32_t str_decode_r(const char *str, size_t *offset, size_t size,
     436        char32_t replacement, mbstate_t *mb)
     437{
     438        char32_t ch = _str_decode(str, offset, size, mb);
     439        return (ch == CHAR_INVALID) ? replacement : ch;
    436440}
    437441
Note: See TracChangeset for help on using the changeset viewer.