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