Add str8 truncate
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// Generated by the DN single header generator 2026-07-12 23:15:45
|
||||
// Generated by the DN single header generator 2026-07-14 16:32:48
|
||||
|
||||
// DN: Single header generator commented out => #if defined(_CLANGD)
|
||||
// #define DN_WITH_TESTS 1
|
||||
@@ -3817,6 +3817,18 @@ DN_API void DN_Str8Remove(DN_Str8 *string, DN_USize offset, DN_USize count)
|
||||
string->count -= bytes_to_move;
|
||||
}
|
||||
|
||||
DN_API DN_Str8 DN_Str8TruncateArena(DN_Str8 string, DN_USize max_count, DN_Str8 truncator, DN_Arena *arena)
|
||||
{
|
||||
DN_Str8 result = {};
|
||||
if (string.count > max_count) {
|
||||
DN_Str8 string_trunc = DN_Str8Subset(string, 0, max_count);
|
||||
result = DN_Str8FromFmtArena(arena, "%.*s%.*s", DN_Str8PrintFmt(string_trunc), DN_Str8PrintFmt(truncator));
|
||||
} else {
|
||||
result = DN_Str8FromStr8Arena(string, arena);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
DN_API DN_Str8TruncResult DN_Str8TruncMiddlePtr(DN_Str8 str8, DN_USize side_size, DN_Str8 truncator, char *dest, DN_USize dest_max)
|
||||
{
|
||||
DN_Assert(side_size <= DN_USIZE_MAX / 2);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Generated by the DN single header generator 2026-07-12 23:15:45
|
||||
// Generated by the DN single header generator 2026-07-14 16:32:48
|
||||
|
||||
#if !defined(DN_H)
|
||||
#define DN_H
|
||||
@@ -5061,6 +5061,7 @@ DN_API DN_Str8 DN_Str8AppendFV
|
||||
DN_API DN_Str8 DN_Str8FillF (DN_Arena *arena, DN_USize count, char const *fmt, ...);
|
||||
DN_API DN_Str8 DN_Str8FillFV (DN_Arena *arena, DN_USize count, char const *fmt, va_list args);
|
||||
DN_API void DN_Str8Remove (DN_Str8 *string, DN_USize offset, DN_USize count);
|
||||
DN_API DN_Str8 DN_Str8TruncateArena (DN_Str8 string, DN_USize max_count, DN_Str8 truncator, DN_Arena *arena);
|
||||
DN_API DN_Str8TruncResult DN_Str8TruncMiddlePtr (DN_Str8 str8, DN_USize side_size, DN_Str8 truncator, char *dest, DN_USize dest_max);
|
||||
DN_API DN_Str8TruncResult DN_Str8TruncMiddle (DN_Str8 str8, DN_USize side_size, DN_Str8 truncator, DN_Arena *arena);
|
||||
DN_API DN_Str8 DN_Str8Lower (DN_Str8 string, DN_Arena *arena);
|
||||
|
||||
Reference in New Issue
Block a user