Commit c2152928fa27eabed1ebba7f10a998e5e5dc7ab3

Ryan C. Gordon 2021-03-24T10:46:05

wikiheaders.pl: Mark some sections as wiki-only so we don't lose them.

diff --git a/build-scripts/wikiheaders.pl b/build-scripts/wikiheaders.pl
index ead91a8..dc332a8 100755
--- a/build-scripts/wikiheaders.pl
+++ b/build-scripts/wikiheaders.pl
@@ -233,13 +233,21 @@ my @standard_wiki_sections = (
     'Draft',
     '[Brief]',
     'Syntax',
-    'Remarks',
     'Function Parameters',
     'Return Value',
+    'Remarks',
     'Version',
+    'Code Examples',
     'Related Functions'
 );
 
+# Sections that only ever exist in the wiki and shouldn't be deleted when
+#  not found in the headers.
+my %only_wiki_sections = (  # The ones don't mean anything, I just need to check for key existence.
+    'Draft', 1,
+    'Code Examples', 1
+);
+
 
 my %headers = ();       # $headers{"SDL_audio.h"} -> reference to an array of all lines of text in SDL_audio.h.
 my %headerfuncs = ();   # $headerfuncs{"SDL_OpenAudio"} -> string of header documentation for SDL_OpenAudio, with comment '*' bits stripped from the start. Newlines embedded!
@@ -761,7 +769,9 @@ if ($copy_direction == 1) {  # --copy-to-headers
 
         foreach (@standard_wiki_sections) {
             # drop sections we either replaced or removed from the original wiki's contents.
-            delete($$sectionsref{$_});
+            if (not defined $only_wiki_sections{$_}) {
+                delete($$sectionsref{$_});
+            }
         }
 
         my $wikisectionorderref = $wikisectionorder{$fn};