mirror of
https://github.com/ascii-boxes/boxes.git
synced 2025-06-20 17:58:56 +02:00
Remove advance32() from 'unicode' module
This function was made redundant by the 'bxstring' module.
This commit is contained in:
parent
9279541714
commit
a11c6cdb51
@ -207,41 +207,6 @@ uint32_t *advance_next32(const uint32_t *s, size_t *invis)
|
||||
|
||||
|
||||
|
||||
uint32_t *advance32(uint32_t *s, const size_t offset)
|
||||
{
|
||||
if (is_empty(s)) {
|
||||
return new_empty_string32();
|
||||
}
|
||||
if (offset == 0) {
|
||||
return s;
|
||||
}
|
||||
|
||||
size_t count = 0; /* the count of visible characters */
|
||||
int visible = 1; /* flag indicating whether the previous char was a visible char */
|
||||
const uint32_t *last_esc = NULL; /* pointer to the start of the last escape sequence encountered */
|
||||
const uint32_t *rest = s; /* pointer to the next character coming up */
|
||||
size_t step_invis = 0; /* unused, but required for advance_next32() call */
|
||||
|
||||
for (ucs4_t c = s[0]; c != char_nul; c = rest[0]) {
|
||||
if (c == char_esc) {
|
||||
last_esc = rest;
|
||||
visible = 0;
|
||||
} else {
|
||||
if (count++ == offset) {
|
||||
if (!visible && last_esc != NULL) {
|
||||
return (uint32_t *) last_esc;
|
||||
}
|
||||
break;
|
||||
}
|
||||
visible = 1;
|
||||
}
|
||||
rest = advance_next32(rest, &step_invis);
|
||||
}
|
||||
return (uint32_t *) rest; /* may point to zero terminator when offset too large */
|
||||
}
|
||||
|
||||
|
||||
|
||||
uint32_t *u32_strconv_from_input(const char *src)
|
||||
{
|
||||
return u32_strconv_from_arg(src, encoding);
|
||||
|
@ -152,20 +152,6 @@ ucs4_t to_utf32(char ascii);
|
||||
uint32_t *advance_next32(const uint32_t *s, size_t *invis);
|
||||
|
||||
|
||||
/**
|
||||
* Determine a new position in the given string s with the given offset of visible characters.
|
||||
* If the character right in front of the target character is invisible, then the pointer is moved to the start of
|
||||
* that invisible sequence. The purpose is to catch any escape sequences which would for example color the character.
|
||||
* CHECK This is redundant, bxstrings can do this better.
|
||||
*
|
||||
* @param s The pointer to the start position. Is assumed to point either at the ESC at the start of an escape
|
||||
* sequence, or to be positioned outside an escape sequence.
|
||||
* @param offset the number of visible character positions to advance the pointer
|
||||
* @return a pointer to the new position in s, or 0 if the end of the string was reached
|
||||
*/
|
||||
uint32_t *advance32(uint32_t *s, const size_t offset);
|
||||
|
||||
|
||||
/**
|
||||
* Convert a string from the input/output encoding (`encoding` in this .h file) to UTF-32 internal representation.
|
||||
* Memory will be allocated for the converted string.
|
||||
|
Loading…
x
Reference in New Issue
Block a user