mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-20 09:34:19 +00:00
Merge #4395
4395: Update str_utf8_stats documentation, minor refactoring r=heinrich5991 a=Robyt3 This removes the check for the null-terminator from the while loop, as this is also checked in `str_utf8_forward`, which returns an unchanged size in this case. The comparison `new_size != *size` was previously redundant for that reason. Update comments and add some empty lines for consistency. `@heinrich5991` ## Checklist - [X] Tested the change ingame - [ ] Provided screenshots if it is a visual change - [ ] Tested in combination with possibly related configuration options - [ ] Written a unit test if it works standalone, system.c especially - [ ] Considered possible null pointers and out of bounds array indexing - [ ] Changed no physics that affect existing maps - [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional) Co-authored-by: Robert Müller <robert.mueller@uni-siegen.de>
This commit is contained in:
commit
5c5469ba0a
|
@ -3458,17 +3458,14 @@ void str_utf8_stats(const char *str, int max_size, int max_count, int *size, int
|
||||||
{
|
{
|
||||||
*size = 0;
|
*size = 0;
|
||||||
*count = 0;
|
*count = 0;
|
||||||
while(str[*size] && *size < max_size && *count < max_count)
|
while(*size < max_size && *count < max_count)
|
||||||
{
|
{
|
||||||
int new_size = str_utf8_forward(str, *size);
|
int new_size = str_utf8_forward(str, *size);
|
||||||
if(new_size != *size)
|
if(new_size == *size || new_size >= max_size || *count >= max_count)
|
||||||
{
|
|
||||||
if(new_size >= max_size || *count >= max_count)
|
|
||||||
break;
|
break;
|
||||||
*size = new_size;
|
*size = new_size;
|
||||||
++(*count);
|
++(*count);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned str_quickhash(const char *str)
|
unsigned str_quickhash(const char *str)
|
||||||
|
|
|
@ -2091,7 +2091,7 @@ void str_utf8_copy(char *dst, const char *src, int dst_size);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Function: str_utf8_stats
|
Function: str_utf8_stats
|
||||||
Determines the byte size and utf8 character count of a string.
|
Determines the byte size and utf8 character count of a utf8 string.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
str - Pointer to the string.
|
str - Pointer to the string.
|
||||||
|
@ -2101,21 +2101,24 @@ void str_utf8_copy(char *dst, const char *src, int dst_size);
|
||||||
count - Pointer to store count of utf8 characters of the string.
|
count - Pointer to store count of utf8 characters of the string.
|
||||||
|
|
||||||
Remarks:
|
Remarks:
|
||||||
- Assumes nothing about the encoding of the string.
|
- The string is treated as zero-terminated utf8 string.
|
||||||
It's the users responsibility to make sure the bounds are aligned.
|
- It's the user's responsibility to make sure the bounds are aligned.
|
||||||
*/
|
*/
|
||||||
void str_utf8_stats(const char *str, int max_size, int max_count, int *size, int *count);
|
void str_utf8_stats(const char *str, int max_size, int max_count, int *size, int *count);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Function: str_next_token
|
Function: str_next_token
|
||||||
Writes the next token after str into buf, returns the rest of the string.
|
Writes the next token after str into buf, returns the rest of the string.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
str - Pointer to string.
|
str - Pointer to string.
|
||||||
delim - Delimiter for tokenization.
|
delim - Delimiter for tokenization.
|
||||||
buffer - Buffer to store token in.
|
buffer - Buffer to store token in.
|
||||||
buffer_size - Size of the buffer.
|
buffer_size - Size of the buffer.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Pointer to rest of the string.
|
Pointer to rest of the string.
|
||||||
|
|
||||||
Remarks:
|
Remarks:
|
||||||
- The token is always null-terminated.
|
- The token is always null-terminated.
|
||||||
*/
|
*/
|
||||||
|
@ -2287,6 +2290,7 @@ int secure_rand_below(int below);
|
||||||
/*
|
/*
|
||||||
Function: set_console_msg_color
|
Function: set_console_msg_color
|
||||||
Sets the console color.
|
Sets the console color.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
rgb - If NULL it will reset the console color to default, else it will transform the rgb color to a console color
|
rgb - If NULL it will reset the console color to default, else it will transform the rgb color to a console color
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue