Umbau Abschalten Warnungen und gezielte Pragmas

Nach dem Setzen der Defaults werden jetzt erst die
Warnungen nach Aenderungsdatum des Files abgeschaltet,
und dann die gezielt gesetzten Pragmas fuer
bestimmte Verzeichnisse gesetzt.

Change-Id: I4a90d549fc704b14a7777d56d46d70e019cb6bed
diff --git a/secure/master/autoinclude.c b/secure/master/autoinclude.c
index bc6ecd0..04ae830 100644
--- a/secure/master/autoinclude.c
+++ b/secure/master/autoinclude.c
@@ -54,37 +54,9 @@
   if (current_file)
     return 0;
 
-  string res=autoincludes[0]; // global default.
+  // Zuerst den global default holen.
+  string res=autoincludes[0];
 
-  string *p_arr = explode(base_file,"/")-({""});
-  //DEBUG(sprintf("AINC: File: %O, Pfad: %O\n",base_file, p_arr));
-
-  if (sizeof(p_arr) && m_contains(&topleveldir, autoincludes, p_arr[0])) {
-    // p_arr[0]: d, p, std, etc.
-    // erst wird der Defaulteintrag 0 genommen
-    res += topleveldir[0];
-    if (sizeof(p_arr) > 1 && m_contains(&region, topleveldir, p_arr[1])) {
-      // p_arr[1] ebene, polar, unterwelt, service, ...
-      // erst den Defaulteintrag der Region nehmen
-      res += region[0];
-      if (sizeof(p_arr) > 2 && m_contains(&ainc_string, region, p_arr[2])) {
-        // p_arr[2]: magiername. Fuer den Magier was hinterlegt.
-        res += ainc_string;
-      }
-    }
-    // Fuer einige Top-Level-Verzeichnisse sollen explizit eingeschaltete
-    // Pragmas auch fuer alte Files nicht ausgeschaltet werden. In dem Fall
-    // direkt beenden.
-    switch(p_arr[0])
-    {
-      case "std":
-      case "secure":
-      case "room":
-      case "obj":
-      case "items":
-        return res;
-    }
-  }
   // Fuer aeltere Files schalten wir einige Warnungen explizit aus. :-(
   // (1407179680 == "Mon,  4. Aug 2014, 21:14:40")
   // (1609455600 == "Fre,  1. Jan 2021, 00:00:00")
@@ -111,6 +83,28 @@
                      no_warn_dead_code,no_warn_applied_functions");
   }
 #endif
+
+  // Aber schlussendlich werden jetzt noch Einstellungen fuer bestimmte,
+  // gezielt konfigurierte Verzeichnisse ermittelt. (Diese ueberschreiben ggf.
+  // auch die abgeschalteten Warnungen oben.)
+
+  string *p_arr = explode(base_file,"/")-({""});
+  //DEBUG(sprintf("AINC: File: %O, Pfad: %O\n",base_file, p_arr));
+
+  if (sizeof(p_arr) && m_contains(&topleveldir, autoincludes, p_arr[0])) {
+    // p_arr[0]: d, p, std, etc.
+    // erst wird der Defaulteintrag 0 genommen
+    res += topleveldir[0];
+    if (sizeof(p_arr) > 1 && m_contains(&region, topleveldir, p_arr[1])) {
+      // p_arr[1] ebene, polar, unterwelt, service, ...
+      // erst den Defaulteintrag der Region nehmen
+      res += region[0];
+      if (sizeof(p_arr) > 2 && m_contains(&ainc_string, region, p_arr[2])) {
+        // p_arr[2]: magiername. Fuer den Magier was hinterlegt.
+        res += ainc_string;
+      }
+    }
+  }
   //DEBUG(res);
   return res;
 }