mirror of
https://github.com/Ed94/metadesk.git
synced 2026-07-09 11:21:37 -07:00
adding arena (p4)
This commit is contained in:
@@ -38,7 +38,7 @@ static void PrintNode(MD_Node* node, FILE* file, int indent_count) {
|
||||
MD_StringJoin join = MD_ZERO_STRUCT;
|
||||
join.mid = MD_S8CString(", ");
|
||||
|
||||
MD_String8 flag_names = MD_S8ListJoin(flags_list, &join);
|
||||
MD_String8 flag_names = MD_S8ListJoin(arena, flags_list, &join);
|
||||
fprintf(file, "%.*s,\n", MD_S8VArg(flag_names));
|
||||
|
||||
if(node->string.size > 0) Print(file, indent_count+1, "String: %.*s,\n", MD_S8VArg(node->string));
|
||||
|
||||
@@ -39,8 +39,13 @@ int main(int argument_count, char **arguments)
|
||||
//~ NOTE(rjf): Parse command line arguments.
|
||||
MD_String8List arg_list = MD_StringListFromArgCV(arena, argument_count, arguments);
|
||||
MD_CmdLine cmdln = MD_MakeCmdLineFromOptions(arena, arg_list);
|
||||
MD_String8 site_info_path = MD_S8ListJoin(MD_CmdLineValuesFromString(cmdln, MD_S8Lit("siteinfo")), 0);
|
||||
MD_String8 page_dir_path = MD_S8ListJoin(MD_CmdLineValuesFromString(cmdln, MD_S8Lit("pagedir")), 0);
|
||||
|
||||
MD_String8List siteinfo_values = MD_CmdLineValuesFromString(cmdln, MD_S8Lit("siteinfo"));
|
||||
MD_String8 site_info_path = MD_S8ListJoin(arena, siteinfo_values, 0);
|
||||
|
||||
MD_String8List pagedir_values = MD_CmdLineValuesFromString(cmdln, MD_S8Lit("pagedir"));
|
||||
MD_String8 page_dir_path = MD_S8ListJoin(arena, pagedir_values, 0);
|
||||
|
||||
if(!MD_CmdLineB32FromString(cmdln, MD_S8Lit("siteinfo")) ||
|
||||
!MD_CmdLineB32FromString(cmdln, MD_S8Lit("pagedir")))
|
||||
{
|
||||
|
||||
+6
-7
@@ -760,7 +760,7 @@ MD_S8Split(MD_Arena *arena, MD_String8 string, int split_count, MD_String8 *spli
|
||||
}
|
||||
|
||||
MD_FUNCTION_IMPL MD_String8
|
||||
MD_S8ListJoin(MD_String8List list, MD_StringJoin *join_ptr)
|
||||
MD_S8ListJoin(MD_Arena *arena, MD_String8List list, MD_StringJoin *join_ptr)
|
||||
{
|
||||
// setup join parameters
|
||||
MD_StringJoin join = MD_ZERO_STRUCT;
|
||||
@@ -776,7 +776,7 @@ MD_S8ListJoin(MD_String8List list, MD_StringJoin *join_ptr)
|
||||
MD_String8 result = MD_ZERO_STRUCT;
|
||||
result.size = (list.total_size + join.pre.size +
|
||||
sep_count*join.mid.size + join.post.size);
|
||||
result.str = MD_PushArray(MD_u8, result.size);
|
||||
result.str = MD_PushArrayAr(arena, MD_u8, result.size);
|
||||
|
||||
// fill
|
||||
MD_u8 *ptr = result.str;
|
||||
@@ -2311,7 +2311,7 @@ MD_ParseOneNode(MD_Arena *arena, MD_String8 string, MD_u64 offset)
|
||||
|
||||
MD_StringJoin join = MD_ZERO_STRUCT;
|
||||
join.mid = MD_S8Lit(" ");
|
||||
MD_String8 byte_string = MD_S8ListJoin(bytes, &join);
|
||||
MD_String8 byte_string = MD_S8ListJoin(arena, bytes, &join);
|
||||
|
||||
// NOTE(rjf): @error Bad character
|
||||
MD_String8 error_str = MD_S8Fmt(arena, "Non-ASCII character \"%.*s\"",
|
||||
@@ -2990,11 +2990,10 @@ MD_CmdLineB32FromString(MD_CmdLine cmdln, MD_String8 name)
|
||||
MD_FUNCTION MD_i64
|
||||
MD_CmdLineI64FromString(MD_CmdLine cmdln, MD_String8 name)
|
||||
{
|
||||
MD_i64 v = 0;
|
||||
MD_String8List values = MD_CmdLineValuesFromString(cmdln, name);
|
||||
MD_String8 value_str = MD_S8ListJoin(values, 0);
|
||||
v = MD_CStyleIntFromString(value_str);
|
||||
return v;
|
||||
MD_String8 value_str = MD_S8ListJoin(MD_Scratch(), values, 0);
|
||||
MD_i64 result = MD_CStyleIntFromString(value_str);
|
||||
return(result);
|
||||
}
|
||||
|
||||
//~ File System
|
||||
|
||||
+2
-1
@@ -766,7 +766,8 @@ MD_FUNCTION void MD_S8ListPush(MD_Arena *arena, MD_String8List *list,
|
||||
MD_FUNCTION void MD_S8ListConcat(MD_String8List *list, MD_String8List *to_push);
|
||||
MD_FUNCTION MD_String8List MD_S8Split(MD_Arena *arena, MD_String8 string, int split_count,
|
||||
MD_String8 *splits);
|
||||
MD_FUNCTION MD_String8 MD_S8ListJoin(MD_String8List list, MD_StringJoin *join);
|
||||
MD_FUNCTION MD_String8 MD_S8ListJoin(MD_Arena *arena, MD_String8List list,
|
||||
MD_StringJoin *join);
|
||||
|
||||
MD_FUNCTION MD_String8 MD_S8Stylize(MD_Arena *arena, MD_String8 string,
|
||||
MD_IdentifierStyle style, MD_String8 separator);
|
||||
|
||||
Reference in New Issue
Block a user