Changes in common/str.c [1db4e2ae:45adeeb] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
common/str.c
r1db4e2ae r45adeeb 547 547 548 548 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 556 549 int cont = _continuation_bytes(b[0]); 557 550 if (__builtin_expect(cont, 0) == 0) … … 591 584 } 592 585 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 600 586 /* 0b1110!!!! 0b10!xxxxx 0b10xxxxxx */ 601 587 if (cont == 2 && !(b[0] & 0b00001111) && !(b[1] & 0b00100000)) { … … 633 619 } 634 620 635 /** Replaces any byte that's not part of a complete valid UTF-8 character636 * encoding with a replacement byte.637 * Also replaces C0 and C1 control codes.638 */639 621 size_t str_sanitize(char *str, size_t n, uint8_t replacement) 640 622 {
Note:
See TracChangeset
for help on using the changeset viewer.