logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SDL_utf8strnlen - Count the number of codepoints in a UTF-8 string, up to n bytes.

Availability

       This function is available since SDL 3.2.0.

Description

       Counts the _codepoints_, not _bytes_, in str, excluding the null terminator.

       If you need to count the bytes in a string instead, consider using SDL_strnlen().

       The  counting  stops  at bytes bytes (not codepoints!). This seems counterintuitive, but makes it easy to
       express the total size of the string's buffer.

       Since this handles Unicode, it expects the strings to be well-formed  UTF-8  and  not  a  null-terminated
       string  of  arbitrary  bytes.  Bytes  that  are  not  valid UTF-8 are treated as Unicode character U+FFFD
       (REPLACEMENT CHARACTER), so a malformed or incomplete UTF-8 sequence might increase the count by  several
       replacement characters.

Function Parameters

str    The null-terminated UTF-8 string to read. Must not be NULL.

       bytes  The maximum amount of bytes to count.

Name

       SDL_utf8strnlen - Count the number of codepoints in a UTF-8 string, up to n bytes.

Return Value

       Returns The length (in codepoints, excluding the null terminator) of src but never more than maxlen.

See Also

SDL_utf8strlen(3), SDL_strnlen(3)

Simple Directmedia Layer                           SDL 3.2.20                                 SDL_utf8strnlen(3)

Synopsis

#include<SDL3/SDL_stdinc.h>size_tSDL_utf8strnlen(constchar*str,size_tbytes);

Thread Safety

       It is safe to call this function from any thread.

See Also