diff --git a/cinera/cinera.c b/cinera/cinera.c index 8258453..1e9cf70 100644 --- a/cinera/cinera.c +++ b/cinera/cinera.c @@ -23,7 +23,7 @@ typedef struct version CINERA_APP_VERSION = { .Major = 0, .Minor = 8, - .Patch = 13 + .Patch = 15 }; #include // NOTE(matt): varargs @@ -492,50 +492,6 @@ typedef struct memory_pen_location struct memory_pen_location *Next; } memory_pen_location; -typedef enum -{ - MBT_NONE, - - MBT_ASSET, - MBT_CATEGORY_INFO, - MBT_CONFIG_IDENTIFIER_ID, - MBT_CONFIG_BOOL_PAIR, - MBT_CONFIG_INT_PAIR, - MBT_CONFIG_PAIR, - MBT_CONFIG_STRING_ASSOCIATION, - MBT_CONFIG_TYPE_FIELD, - MBT_CONFIG_TYPE_SPEC, - MBT_CREDIT, - MBT_IDENTIFIER, - MBT_LANDMARK, - MBT_MEDIUM, - MBT_NAVIGATION_BUFFER, - MBT_PERSON, - MBT_PERSON_PTR, - MBT_PROJECT, - MBT_PROJECT_PTR, - MBT_REF_INFO, - MBT_RESOLUTION_ERROR, - MBT_ROLE, - MBT_SCOPE_TREE, - MBT_SCOPE_TREE_PTR, - MBT_SPEAKER, - MBT_STRING, - MBT_STRING_PTR, - MBT_SUPPORT, - MBT_TAG_OFFSET, - MBT_TOKEN, - MBT_TOKENS, - MBT_UINT32, - MBT_VARIANT, - MBT_VARIANT_STRING, - MBT_WATCH_FILE, - MBT_WATCH_HANDLE, - MBT_COUNT, -} memory_book_type; - -uint64_t MemoryBookTypeWidths[MBT_COUNT]; - // TODO(matt): We probably want our memory_book to be able to support strings that span multiple pages // SearchQuotes() especially could benefit from this @@ -547,28 +503,23 @@ typedef struct uint64_t ItemCount; memory_page *Pages; memory_pen_location *Pen; - memory_book_type Type; } memory_book; #define _memory_book(type) memory_book memory_book -InitBook(memory_book_type Type, uint64_t ItemsPerPage) +InitBook(uint64_t DataWidthInBytes, uint64_t ItemsPerPage) { - Assert(MemoryBookTypeWidths[Type]); - memory_book Result = {}; - Result.PageSize = ItemsPerPage * MemoryBookTypeWidths[Type]; - Result.Type = Type; - Result.DataWidthInBytes = MemoryBookTypeWidths[Type]; + Result.PageSize = ItemsPerPage * DataWidthInBytes; + Result.DataWidthInBytes = DataWidthInBytes; return Result; } memory_book -InitBookOfPointers(memory_book_type Type, uint64_t ItemsPerPage) +InitBookOfPointers(uint64_t ItemsPerPage) { memory_book Result = {}; Result.PageSize = ItemsPerPage * sizeof(uintptr_t); - Result.Type = Type; Result.DataWidthInBytes = sizeof(uintptr_t); return Result; } @@ -578,7 +529,6 @@ InitBookOfStrings(uint64_t PageSizeInBytes) { memory_book Result = {}; Result.PageSize = PageSizeInBytes; - Result.Type = MBT_STRING; Result.DataWidthInBytes = 1; return Result; } @@ -609,15 +559,12 @@ FreeBook(memory_book *M) } FreeAndResetCount(M->Pages, M->PageCount); - if(M->Type == MBT_STRING) + memory_pen_location *This = M->Pen; + while(This) { - memory_pen_location *This = M->Pen; - while(This) - { - M->Pen = M->Pen->Prev; - Free(This); - This = M->Pen; - } + M->Pen = M->Pen->Prev; + Free(This); + This = M->Pen; } memory_book Zero = {}; @@ -629,13 +576,11 @@ FreeAndReinitialiseBook(memory_book *M) { int PageSize = M->PageSize; int DataWidthInBytes = M->DataWidthInBytes; - int Type = M->Type; FreeBook(M); M->PageSize = PageSize; M->DataWidthInBytes = DataWidthInBytes; - M->Type = Type; } memory_page * @@ -810,53 +755,11 @@ PrintPage(memory_page *P) } void -PrintBook(memory_book *M) +PrintBookOfStrings(memory_book *M) { - switch(M->Type) + for(int i = 0; i < M->PageCount; ++i) { - case MBT_STRING: - { - for(int i = 0; i < M->PageCount; ++i) - { - PrintPage(&M->Pages[i]); - } - } break; - case MBT_NONE: Assert(0); break; - case MBT_ASSET: Assert(0); break; - case MBT_CATEGORY_INFO: Assert(0); break; - case MBT_CONFIG_IDENTIFIER_ID: Assert(0); break; - case MBT_CONFIG_BOOL_PAIR: Assert(0); break; - case MBT_CONFIG_INT_PAIR: Assert(0); break; - case MBT_CONFIG_PAIR: Assert(0); break; - case MBT_CONFIG_STRING_ASSOCIATION: Assert(0); break; - case MBT_CONFIG_TYPE_FIELD: Assert(0); break; - case MBT_CONFIG_TYPE_SPEC: Assert(0); break; - case MBT_CREDIT: Assert(0); break; - case MBT_IDENTIFIER: Assert(0); break; - case MBT_LANDMARK: Assert(0); break; - case MBT_MEDIUM: Assert(0); break; - case MBT_NAVIGATION_BUFFER: Assert(0); break; - case MBT_PERSON: Assert(0); break; - case MBT_PERSON_PTR: Assert(0); break; - case MBT_PROJECT: Assert(0); break; - case MBT_PROJECT_PTR: Assert(0); break; - case MBT_REF_INFO: Assert(0); break; - case MBT_RESOLUTION_ERROR: Assert(0); break; - case MBT_ROLE: Assert(0); break; - case MBT_SCOPE_TREE: Assert(0); break; - case MBT_SCOPE_TREE_PTR: Assert(0); break; - case MBT_SPEAKER: Assert(0); break; - case MBT_STRING_PTR: Assert(0); break; - case MBT_SUPPORT: Assert(0); break; - case MBT_TAG_OFFSET: Assert(0); break; - case MBT_TOKEN: Assert(0); break; - case MBT_TOKENS: Assert(0); break; - case MBT_UINT32: Assert(0); break; - case MBT_VARIANT: Assert(0); break; - case MBT_VARIANT_STRING: Assert(0); break; - case MBT_WATCH_FILE: Assert(0); break; - case MBT_WATCH_HANDLE: Assert(0); break; - case MBT_COUNT: break; + PrintPage(&M->Pages[i]); } } @@ -4239,8 +4142,8 @@ InitTemplate(template *Template, string Location, template_type Type) fprintf(stderr, "%sPacking%s template: %s\n", ColourStrings[CS_ONGOING], ColourStrings[CS_END], Template->File.Path); ReadFileIntoBuffer(&Template->File); ClearTemplateMetadata(Template); - Template->Metadata.Tags = InitBook(MBT_TAG_OFFSET, 16); - Template->Metadata.NavBuffer = InitBook(MBT_NAVIGATION_BUFFER, 4); + Template->Metadata.Tags = InitBook(sizeof(tag_offset), 16); + Template->Metadata.NavBuffer = InitBook(sizeof(navigation_buffer), 4); } #define SECONDS_PER_HOUR 3600 @@ -5640,7 +5543,7 @@ PushWatchHandle(string Path, extension_id Extension, watch_type Type, project *P if(!Watch) { Watch = MakeSpaceInBook(&WatchHandles.Handles); - Watch->Files = InitBook(MBT_WATCH_FILE, 16); + Watch->Files = InitBook(sizeof(watch_file), 16); Watch->TargetPath = TargetPath; Watch->WatchedPath = GetNearestExistingPath(TargetPath); @@ -6021,8 +5924,8 @@ PlaceAsset(string Filename, asset_type Type, uint64_t Variants, bool Associated, This->FilenameAt = FinalPathComponentPosition(Filename); if(Position == Assets.ItemCount && !This->Known) { - This->Player = InitBook(MBT_LANDMARK, 8); - This->Search = InitBook(MBT_LANDMARK, 8); + This->Player = InitBook(sizeof(landmark), 8); + This->Search = InitBook(sizeof(landmark), 8); ++Assets.ItemCount; } @@ -6105,7 +6008,7 @@ InitBuiltinAssets(void) void InitAssets(void) { - Assets = InitBook(MBT_ASSET, 16); + Assets = InitBook(sizeof(asset), 16); InitBuiltinAssets(); db_block_assets *AssetsBlock = LocateBlock(B_ASET); if(AssetsBlock) @@ -6957,7 +6860,7 @@ BuildCredits(string HMMLFilepath, buffer *CreditsMenu, HMML_VideoMetaData *Metad speakers *Speakers, bool *RequiresCineraJS) { #if(HMMLIB_MAJOR_VERSION == 2) - memory_book Credits = InitBook(MBT_CREDIT, 4); + memory_book Credits = InitBook(sizeof(credit), 4); MergeCredits(&Credits, CurrentProject, Metadata); for(int RoleIndex = 0; RoleIndex < Config->Role.ItemCount; ++RoleIndex) { @@ -9508,7 +9411,7 @@ speakers InitSpeakers() { speakers Result = {}; - Result.Speakers = InitBook(MBT_SPEAKER, 4); + Result.Speakers = InitBook(sizeof(speaker), 4); Result.Abbreviations = InitBookOfStrings(64); return Result; } @@ -9577,7 +9480,7 @@ BuildReference(memory_book *Strings, _memory_book(ref_info) *ReferencesArray, HM if(ID) { ref_info *This = MakeSpaceInBook(ReferencesArray); - This->Identifier = InitBook(MBT_IDENTIFIER, 4); + This->Identifier = InitBook(sizeof(identifier), 4); // TODO(matt): Just point into the Ref directly, rather than copying strings? if(Ref->isbn) { @@ -9792,8 +9695,8 @@ ProcessTimestamp(buffers *CollationBuffers, neighbourhood *N, string Filepath, m *PreviousTimecode = Timestamp->time; #endif - memory_book LocalTopics = InitBook(MBT_CATEGORY_INFO, 8); - memory_book LocalMedia = InitBook(MBT_CATEGORY_INFO, 8); + memory_book LocalTopics = InitBook(sizeof(category_info), 8); + memory_book LocalMedia = InitBook(sizeof(category_info), 8); quote_info QuoteInfo = { }; @@ -10612,10 +10515,10 @@ HMMLToBuffers(buffers *CollationBuffers, template *BespokeTemplate, string BaseF if(ClaimMenuIndexAndPlayerBuffers(&MenuBuffers, &IndexBuffers, &PlayerBuffers) == RC_SUCCESS) { memory_book Strings = InitBookOfStrings(Kilobytes(4)); - _memory_book(ref_info) ReferencesArray = InitBook(MBT_REF_INFO, 8); + _memory_book(ref_info) ReferencesArray = InitBook(sizeof(ref_info), 8); speakers Speakers = InitSpeakers(); - memory_book Topics = InitBook(MBT_CATEGORY_INFO, 8); - memory_book Media = InitBook(MBT_CATEGORY_INFO, 8); + memory_book Topics = InitBook(sizeof(category_info), 8); + memory_book Media = InitBook(sizeof(category_info), 8); bool HasQuoteMenu = FALSE; bool HasReferenceMenu = FALSE; @@ -13851,7 +13754,7 @@ PushUniqueString(memory_book *UniqueThemes, string *GlobalTheme) void GenerateThemeLinks(buffer *IncludesSearch, project *P) { - memory_book UniqueThemes = InitBookOfPointers(MBT_STRING_PTR, 4); + memory_book UniqueThemes = InitBookOfPointers(4); if(P) { PushUniqueStringsRecursively(&UniqueThemes, P); @@ -15071,7 +14974,7 @@ project_generations CopyAccumulator(project_generations *G) { project_generations Result = {}; - Result.EntriesInGeneration = InitBook(MBT_UINT32, 4); + Result.EntriesInGeneration = InitBook(sizeof(uint32_t), 4); for(int i = 0; i < G->EntriesInGeneration.ItemCount; ++i) { uint32_t *Src = GetPlaceInBook(&G->EntriesInGeneration, i); @@ -15085,7 +14988,7 @@ project_generations InitAccumulator(project_generations *G) { project_generations Result = {}; - Result.EntriesInGeneration = InitBook(MBT_UINT32, 4); + Result.EntriesInGeneration = InitBook(sizeof(uint32_t), 4); for(int i = 0; i < G->CurrentGeneration; ++i) { MakeSpaceInBook(&Result.EntriesInGeneration); @@ -15990,7 +15893,7 @@ SyncDB(config *C) // DB.Metadata.Signposts.ProjectsBlock.Ptr = LocateBlock(B_PROJ); project_generations Accumulator = {}; - Accumulator.EntriesInGeneration = InitBook(MBT_UINT32, 4); + Accumulator.EntriesInGeneration = InitBook(sizeof(uint32_t), 4); db_block_projects *SParent = DB.Metadata.Signposts.ProjectsBlock.Ptr; @@ -16655,59 +16558,10 @@ void InitWatchHandles(uint32_t DefaultEventsMask, uint64_t DesiredPageSize) { WatchHandles.DefaultEventsMask = DefaultEventsMask; - WatchHandles.Handles = InitBook(MBT_WATCH_HANDLE, 16); + WatchHandles.Handles = InitBook(sizeof(watch_handle), 16); WatchHandles.Paths = InitBookOfStrings(DesiredPageSize); } -void -InitMemoryBookTypeWidths(void) -{ - for(memory_book_type i = 0; i < MBT_COUNT; ++i) - { - switch(i) - { - case MBT_ASSET: MemoryBookTypeWidths[i] = sizeof(asset); break; - case MBT_CATEGORY_INFO: MemoryBookTypeWidths[i] = sizeof(category_info); break; - case MBT_CONFIG_IDENTIFIER_ID: MemoryBookTypeWidths[i] = sizeof(config_identifier_id); break; - case MBT_CONFIG_BOOL_PAIR: MemoryBookTypeWidths[i] = sizeof(config_bool_pair); break; - case MBT_CONFIG_INT_PAIR: MemoryBookTypeWidths[i] = sizeof(config_int_pair); break; - case MBT_CONFIG_PAIR: MemoryBookTypeWidths[i] = sizeof(config_pair); break; - case MBT_CONFIG_STRING_ASSOCIATION: MemoryBookTypeWidths[i] = sizeof(config_string_association); break; - case MBT_CONFIG_TYPE_FIELD: MemoryBookTypeWidths[i] = sizeof(config_type_field); break; - case MBT_CONFIG_TYPE_SPEC: MemoryBookTypeWidths[i] = sizeof(config_type_spec); break; - case MBT_CREDIT: MemoryBookTypeWidths[i] = sizeof(credit); break; - case MBT_IDENTIFIER: MemoryBookTypeWidths[i] = sizeof(identifier); break; - case MBT_LANDMARK: MemoryBookTypeWidths[i] = sizeof(landmark); break; - case MBT_MEDIUM: MemoryBookTypeWidths[i] = sizeof(medium); break; - case MBT_NAVIGATION_BUFFER: MemoryBookTypeWidths[i] = sizeof(navigation_buffer); break; - case MBT_PERSON: MemoryBookTypeWidths[i] = sizeof(person); break; - case MBT_PROJECT: MemoryBookTypeWidths[i] = sizeof(project); break; - case MBT_REF_INFO: MemoryBookTypeWidths[i] = sizeof(ref_info); break; - case MBT_RESOLUTION_ERROR: MemoryBookTypeWidths[i] = sizeof(resolution_error); break; - case MBT_ROLE: MemoryBookTypeWidths[i] = sizeof(role); break; - case MBT_SCOPE_TREE: MemoryBookTypeWidths[i] = sizeof(scope_tree); break; - case MBT_SPEAKER: MemoryBookTypeWidths[i] = sizeof(speaker); break; - case MBT_SUPPORT: MemoryBookTypeWidths[i] = sizeof(support); break; - case MBT_TAG_OFFSET: MemoryBookTypeWidths[i] = sizeof(tag_offset); break; - case MBT_TOKEN: MemoryBookTypeWidths[i] = sizeof(token); break; - case MBT_TOKENS: MemoryBookTypeWidths[i] = sizeof(tokens); break; - case MBT_UINT32: MemoryBookTypeWidths[i] = sizeof(uint32_t); break; - case MBT_VARIANT: MemoryBookTypeWidths[i] = sizeof(variant); break; - case MBT_VARIANT_STRING: MemoryBookTypeWidths[i] = sizeof(variant_string); break; - case MBT_WATCH_FILE: MemoryBookTypeWidths[i] = sizeof(watch_file); break; - case MBT_WATCH_HANDLE: MemoryBookTypeWidths[i] = sizeof(watch_handle); break; - - case MBT_NONE: - case MBT_PERSON_PTR: - case MBT_PROJECT_PTR: - case MBT_SCOPE_TREE_PTR: - case MBT_STRING: - case MBT_STRING_PTR: - case MBT_COUNT: break; - } - } -} - void Coda(int Sig) { @@ -16733,10 +16587,8 @@ main(int ArgC, char **Args) { MEM_TEST_TOP("main()"); InitInterruptHandler(); - Assert(ArrayCount(MemoryBookTypeWidths) == MBT_COUNT); Assert(ArrayCount(BufferIDStrings) == BID_COUNT); Assert(ArrayCount(TemplateTags) == TEMPLATE_TAG_COUNT); - InitMemoryBookTypeWidths(); char CommandLineArg; char *ConfigPath = "$XDG_CONFIG_HOME/cinera/cinera.conf"; while((CommandLineArg = getopt(ArgC, Args, "0c:ehv")) != -1) @@ -16799,7 +16651,7 @@ main(int ArgC, char **Args) CollationBuffers.Search.ID = BID_COLLATION_BUFFERS_SEARCH; // NOTE(matt): Allocated by SearchToBuffer() - memory_book TokensList = InitBook(MBT_TOKENS, 8); + memory_book TokensList = InitBook(sizeof(tokens), 8); template BespokeTemplate = {}; neighbourhood Neighbourhood = {}; diff --git a/cinera/cinera_config.c b/cinera/cinera_config.c index 6f5314d..6495326 100644 --- a/cinera/cinera_config.c +++ b/cinera/cinera_config.c @@ -343,7 +343,7 @@ tokens * PushTokens(memory_book *TokensList) { tokens *This = MakeSpaceInBook(TokensList); - This->Token = InitBook(MBT_TOKEN, 16); + This->Token = InitBook(sizeof(token), 16); This->CurrentLine = 1; return This; } @@ -871,7 +871,7 @@ PushTypeSpec(memory_book *TypeSpecs, config_identifier_id ID, bool IsPermeable) //PrintFunctionName("PushTypeSpec()"); config_type_spec *Result = MakeSpaceInBook(TypeSpecs); Result->ID = ID; - Result->Field = InitBook(MBT_CONFIG_TYPE_FIELD, 4); + Result->Field = InitBook(sizeof(config_type_field), 4); Result->Permeable = IsPermeable; return Result; } @@ -891,7 +891,7 @@ _memory_book(config_type_specs) InitTypeSpecs(void) { //PrintFunctionName("InitTypeSpecs()"); - memory_book Result = InitBook(MBT_CONFIG_TYPE_SPEC, 16); + memory_book Result = InitBook(sizeof(config_type_spec), 16); config_type_spec *Root = PushTypeSpec(&Result, IDENT_NULL, FALSE); PushTypeSpecField(Root, FT_STRING, IDENT_ASSETS_ROOT_DIR, TRUE); @@ -1261,7 +1261,7 @@ SetTypeSpec(scope_tree *Type, memory_book *TypeSpecs) //PrintTypeSpec(Spec); Type->TypeSpec.ID = Spec->ID; Type->TypeSpec.Permeable = Spec->Permeable; - Type->TypeSpec.Field = InitBook(MBT_CONFIG_TYPE_FIELD, 4); + Type->TypeSpec.Field = InitBook(sizeof(config_type_field), 4); for(int i = 0; i < Spec->Field.ItemCount; ++i) { config_type_field *Src = GetPlaceInBook(&Spec->Field, i); @@ -1660,10 +1660,10 @@ PushBoolPair(scope_tree *Parent, config_bool_pair *B) void InitScopeBooks(scope_tree *Scope) { - Scope->Trees = InitBook(MBT_SCOPE_TREE, 4); - Scope->Pairs = InitBook(MBT_CONFIG_PAIR, 4); - Scope->IntPairs = InitBook(MBT_CONFIG_INT_PAIR, 4); - Scope->BoolPairs = InitBook(MBT_CONFIG_BOOL_PAIR, 4); + Scope->Trees = InitBook(sizeof(scope_tree), 4); + Scope->Pairs = InitBook(sizeof(config_pair), 4); + Scope->IntPairs = InitBook(sizeof(config_int_pair), 4); + Scope->BoolPairs = InitBook(sizeof(config_bool_pair), 4); } scope_tree * @@ -2411,7 +2411,7 @@ ScopeTokens(scope_tree *Tree, memory_book *TokensList, tokens *T, memory_book *T { int IncludePathTokenIndex = T->CurrentIndex - 1; config_include_rules Rules = {}; - Rules.ID = InitBook(MBT_CONFIG_IDENTIFIER_ID, 4); + Rules.ID = InitBook(sizeof(config_identifier_id), 4); switch(ParseIncludeRules(TypeSpecs, &Parent->TypeSpec, T, &Rules)) { case RC_SUCCESS: @@ -2757,7 +2757,7 @@ string DeriveLineageOfProject(config *C, scope_tree *Project) { string Result = {}; - memory_book StringList = InitBookOfPointers(MBT_STRING_PTR, 4); + memory_book StringList = InitBookOfPointers(4); if(Project) { string **Writer = MakeSpaceInBook(&StringList); @@ -2797,7 +2797,7 @@ string DeriveLineageWithoutOriginOfProject(config *C, scope_tree *Project) { string Result = {}; - memory_book StringList = InitBookOfPointers(MBT_STRING_PTR, 4); + memory_book StringList = InitBookOfPointers(4); if(Project->Parent && Project->Parent->ID.Key == IDENT_PROJECT) { string **Writer = MakeSpaceInBook(&StringList); @@ -3116,7 +3116,7 @@ PushVariantUniquely(resolution_errors *E, memory_book *VariantStrings, string Pa variant_string *NewVariantString = MakeSpaceInBook(VariantStrings); NewVariantString->Path = Path; - NewVariantString->Variants = InitBook(MBT_VARIANT, 4); + NewVariantString->Variants = InitBook(sizeof(variant), 4); variant *NewVariants = MakeSpaceInBook(&NewVariantString->Variants); *NewVariants = Variants; } @@ -3325,7 +3325,7 @@ PushPersonOntoConfig(config *C, resolution_errors *E, config_verifiers *V, scope } #endif - This->Support = InitBook(MBT_SUPPORT, 2); + This->Support = InitBook(sizeof(support), 2); for(int i = 0; i < PersonTree->Trees.ItemCount; ++i) { scope_tree *ThisSupport = GetPlaceInBook(&PersonTree->Trees, i); @@ -3429,7 +3429,7 @@ void PushAssociation(config_string_associations *HMMLDirs, string *S0, string *S1, project *P) { config_string_association *This = MakeSpaceInBook(&HMMLDirs->Associations); - This->Projects = InitBookOfPointers(MBT_PROJECT_PTR, 4); + This->Projects = InitBookOfPointers(4); if(S0) { This->String0 = *S0; } if(S1) { This->String1 = *S1; } @@ -3508,14 +3508,14 @@ SetUniqueHMMLDir(config *C, resolution_errors *E, config_string_associations *HM void PushProject(config *C, resolution_errors *E, config_verifiers *V, project *P, scope_tree *ProjectTree) { - P->Medium = InitBook(MBT_MEDIUM, 8); - P->Child = InitBook(MBT_PROJECT, 8); + P->Medium = InitBook(sizeof(medium), 8); + P->Child = InitBook(sizeof(project), 8); #if(HMMLIB_MAJOR_VERSION == 2) - P->Credit = InitBook(MBT_CREDIT, 4); + P->Credit = InitBook(sizeof(credit), 4); #else - P->Indexer = InitBookOfPointers(MBT_PERSON_PTR, 4); - P->CoHost = InitBookOfPointers(MBT_PERSON_PTR, 4); - P->Guest = InitBookOfPointers(MBT_PERSON_PTR, 4); + P->Indexer = InitBookOfPointers(4); + P->CoHost = InitBookOfPointers(4); + P->Guest = InitBookOfPointers(4); #endif config_string_associations *HMMLDirs = &V->HMMLDirs; @@ -4810,18 +4810,18 @@ config_verifiers InitVerifiers(void) { config_verifiers Result = {}; - Result.VariantStrings = InitBook(MBT_VARIANT_STRING, 8); + Result.VariantStrings = InitBook(sizeof(variant_string), 8); Result.HMMLDirs.ID0 = IDENT_HMML_DIR; - Result.HMMLDirs.Associations = InitBook(MBT_CONFIG_STRING_ASSOCIATION, 8); + Result.HMMLDirs.Associations = InitBook(sizeof(config_string_association), 8); Result.BaseDirAndSearchLocation.ID0 = IDENT_BASE_DIR; Result.BaseDirAndSearchLocation.ID1 = IDENT_SEARCH_LOCATION; - Result.BaseDirAndSearchLocation.Associations = InitBook(MBT_CONFIG_STRING_ASSOCIATION, 8); + Result.BaseDirAndSearchLocation.Associations = InitBook(sizeof(config_string_association), 8); Result.BaseDirAndPlayerLocation.ID0 = IDENT_BASE_DIR; Result.BaseDirAndPlayerLocation.ID1 = IDENT_PLAYER_LOCATION; - Result.BaseDirAndPlayerLocation.Associations = InitBook(MBT_CONFIG_STRING_ASSOCIATION, 8); + Result.BaseDirAndPlayerLocation.Associations = InitBook(sizeof(config_string_association), 8); return Result; } @@ -4834,7 +4834,7 @@ IsPositioned(config_int_pair *Position) void PositionRolesInConfig(config *C, resolution_errors *E, config_verifiers *V, scope_tree *S) { - memory_book RolesStaging = InitBookOfPointers(MBT_SCOPE_TREE_PTR, 4); + memory_book RolesStaging = InitBookOfPointers(4); for(int i = 0; i < S->Trees.ItemCount; ++i) { scope_tree *Tree = GetPlaceInBook(&S->Trees, i); @@ -4918,13 +4918,13 @@ ResolveVariables(scope_tree *S) Assert(LOG_COUNT == ArrayCount(LogLevelStrings)); config *Result = calloc(1, sizeof(config)); Result->ResolvedVariables = InitBookOfStrings(Kilobytes(1)); - Result->Person = InitBook(MBT_PERSON, 8); - Result->Role = InitBook(MBT_ROLE, 4); - Result->Project = InitBook(MBT_PROJECT, 8); + Result->Person = InitBook(sizeof(person), 8); + Result->Role = InitBook(sizeof(role), 4); + Result->Project = InitBook(sizeof(project), 8); resolution_errors Errors = {}; - Errors.Warnings = InitBook(MBT_RESOLUTION_ERROR, 16); - Errors.Errors = InitBook(MBT_RESOLUTION_ERROR, 16); + Errors.Warnings = InitBook(sizeof(resolution_error), 16); + Errors.Errors = InitBook(sizeof(resolution_error), 16); config_verifiers Verifiers = InitVerifiers();