minor
This commit is contained in:
@@ -776,6 +776,7 @@ typedef struct StringArena {
|
||||
fn StringChunkList allocStringChunkList(StringArena* a, String string);
|
||||
fn void releaseStringChunkList(StringArena* a, StringChunkList* list);
|
||||
fn String stringChunkToString(Arena* a, StringChunkList list);
|
||||
fn String stringChunkToStringWithPadding(Arena* a, StringChunkList list, u32 extra);
|
||||
fn void stringChunkListAppend(StringArena* a, StringChunkList* list, String string);
|
||||
fn void stringChunkListDeleteLast(StringArena* a, StringChunkList* list);
|
||||
fn StringChunkList stringChunkListInit(StringArena* a);
|
||||
|
||||
+7
-2
@@ -40,10 +40,15 @@ fn void releaseStringChunkList(StringArena* a, StringChunkList* list) {
|
||||
}
|
||||
|
||||
fn String stringChunkToString(Arena* a, StringChunkList list) {
|
||||
return stringChunkToStringWithPadding(a, list, 0);
|
||||
}
|
||||
|
||||
fn String stringChunkToStringWithPadding(Arena* a, StringChunkList list, u32 extra) {
|
||||
u32 cap = list.total_size + 1 + extra;
|
||||
String result = {
|
||||
.length = list.total_size,
|
||||
.capacity = list.total_size + 1,
|
||||
.bytes = arenaAllocArray(a, u8, list.total_size+1),
|
||||
.capacity = cap,
|
||||
.bytes = arenaAllocArray(a, u8, cap),
|
||||
};
|
||||
MemoryZero(result.bytes, result.capacity);
|
||||
// copy the string bytes out of the StringChunkList into the correctly-sized String
|
||||
|
||||
Reference in New Issue
Block a user