diff --git a/hmml_to_html/hmml_to_html.c b/hmml_to_html/hmml_to_html.c index 9ca83b6..5983101 100644 --- a/hmml_to_html/hmml_to_html.c +++ b/hmml_to_html/hmml_to_html.c @@ -737,7 +737,7 @@ BuildReference(ref_info *ReferencesArray, int RefIdentifier, int UniqueRefs, HMM } void -InsertCategory(categories *Topics, categories *Media, bool *HasTopic, bool *HasMedium, char *Marker) +InsertCategory(categories *Topics, categories *Media, char *Marker) { bool IsMedium = FALSE; @@ -747,7 +747,6 @@ InsertCategory(categories *Topics, categories *Media, bool *HasTopic, bool *HasM if(!StringsDiffer(CategoryMedium[CategoryMediumIndex].Medium, Marker)) { IsMedium = TRUE; - *HasMedium = TRUE; break; } } @@ -786,7 +785,6 @@ InsertCategory(categories *Topics, categories *Media, bool *HasTopic, bool *HasM } else { - *HasTopic = TRUE; for(CategoryIndex = 0; CategoryIndex < Topics->Count; ++CategoryIndex) { if(!StringsDiffer(Marker, Topics->Category[CategoryIndex].Marker)) @@ -1909,9 +1907,7 @@ goto Cleanup; #endif HMML_Annotation *Anno = HMML.annotations + AnnotationIndex; categories LocalTopics = { 0 }; - bool HasTopic = FALSE; categories LocalMedia = { 0 }; - bool HasMedium = FALSE; bool HasQuote = FALSE; bool HasReference = FALSE; @@ -1943,7 +1939,7 @@ goto Cleanup; { HasFilterMenu = TRUE; } - InsertCategory(&Topics, &Media, &HasTopic, &HasMedium, "authored"); + InsertCategory(&Topics, &Media, "authored"); CopyStringToBuffer(&AnnotationClass, " authored"); hsl_colour AuthorColour; StringToColourHash(&AuthorColour, Anno->author); @@ -1967,10 +1963,6 @@ goto Cleanup; Anno->author); } - if(!HasMedium) - { - HasMedium = TRUE; - } } InPtr = Anno->text; @@ -2044,8 +2036,8 @@ goto Cleanup; { HasFilterMenu = TRUE; } - InsertCategory(&Topics, &Media, &HasTopic, &HasMedium, Anno->markers[MarkerIndex].marker); // Global - InsertCategory(&LocalTopics, &LocalMedia, &HasTopic, &HasMedium, Anno->markers[MarkerIndex].marker); // Local + InsertCategory(&Topics, &Media, Anno->markers[MarkerIndex].marker); // Global + InsertCategory(&LocalTopics, &LocalMedia, Anno->markers[MarkerIndex].marker); // Local } } @@ -2308,16 +2300,16 @@ goto Cleanup; } if(Anno->markers[MarkerIndex].marker) { - InsertCategory(&Topics, &Media, &HasTopic, &HasMedium, Anno->markers[MarkerIndex].marker); + InsertCategory(&Topics, &Media, Anno->markers[MarkerIndex].marker); } - InsertCategory(&LocalTopics, &LocalMedia, &HasTopic, &HasMedium, Anno->markers[MarkerIndex].marker); + InsertCategory(&LocalTopics, &LocalMedia, Anno->markers[MarkerIndex].marker); ++MarkerIndex; } - if(!HasMedium) + if(LocalMedia.Count == 0) { - InsertCategory(&Topics, &Media, &HasTopic, &HasMedium, DefaultMedium); - InsertCategory(&LocalTopics, &LocalMedia, &HasTopic, &HasMedium, DefaultMedium); + InsertCategory(&Topics, &Media, DefaultMedium); + InsertCategory(&LocalTopics, &LocalMedia, DefaultMedium); } BuildCategories(&AnnotationClass, &TopicDots, LocalTopics, LocalMedia, &MarkerIndex); @@ -2337,7 +2329,7 @@ goto Cleanup; CopyBuffer(&Annotation, &Text); - if(HasTopic) + if(LocalTopics.Count > 0) { CopyBuffer(&Annotation, &TopicDots); } @@ -2448,61 +2440,55 @@ goto Cleanup; if(HasFilterMenu) { CopyStringToBuffer(&FilterState, - " var filterState = {\n"); + " var filterState = {\n"); for(int i = 0; i < Topics.Count; ++i) { CopyStringToBuffer(&FilterState, "\"%s\":\t{ \"type\": \"%s\",\t\"off\": false },\n", - Topics.Category[i].Marker, "topic"); + Topics.Category[i].Marker, "topic"); } for(int i = 0; i < Media.Count; ++i) { CopyStringToBuffer(&FilterState, "\"%s\":\t{ \"type\": \"%s\",\t\"off\": false },\n", - Media.Category[i].Marker, "medium"); + Media.Category[i].Marker, "medium"); } CopyStringToBuffer(&FilterState, - " };\n"); + " };\n"); CopyStringToBuffer(&FilterMenu, - "
\n"); - CopyBuffer(&Menus, &FilterMenu); + CopyBuffer(&Menus, &FilterMenu); + + } if(HasCreditsMenu) {