Changes in common/str.c [1db4e2ae:45adeeb] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • common/str.c

    r1db4e2ae r45adeeb  
    547547
    548548        for (; n > 0 && b[0]; b++, n--) {
    549                 if (b[0] < ' ') {
    550                         /* C0 control codes */
    551                         b[0] = replacement;
    552                         count++;
    553                         continue;
    554                 }
    555 
    556549                int cont = _continuation_bytes(b[0]);
    557550                if (__builtin_expect(cont, 0) == 0)
     
    591584                }
    592585
    593                 bool c1_control = (b[0] == 0b11000010 && b[1] < 0b10100000);
    594                 if (cont == 1 && c1_control) {
    595                         b[0] = replacement;
    596                         count++;
    597                         continue;
    598                 }
    599 
    600586                /* 0b1110!!!! 0b10!xxxxx 0b10xxxxxx */
    601587                if (cont == 2 && !(b[0] & 0b00001111) && !(b[1] & 0b00100000)) {
     
    633619}
    634620
    635 /** Replaces any byte that's not part of a complete valid UTF-8 character
    636  * encoding with a replacement byte.
    637  * Also replaces C0 and C1 control codes.
    638  */
    639621size_t str_sanitize(char *str, size_t n, uint8_t replacement)
    640622{
Note: See TracChangeset for help on using the changeset viewer.