summaryrefslogtreecommitdiff
path: root/src/ai/api/squirrel_export.awk
diff options
context:
space:
mode:
authoryexo <yexo@openttd.org>2009-02-14 20:03:06 +0000
committeryexo <yexo@openttd.org>2009-02-14 20:03:06 +0000
commit37819fc8c59f7eb3e38e1831b2db6db497e194e6 (patch)
treed02c8c1864f2e3ddd413d805229eafd85198a67a /src/ai/api/squirrel_export.awk
parent84deeecc5b21584b7aee023bb820671683cd7ef1 (diff)
downloadopenttd-37819fc8c59f7eb3e38e1831b2db6db497e194e6.tar.xz
(svn r15481) -Fix [NoAI]: Make sure AIs can't call functions they shouldn't call.
Diffstat (limited to 'src/ai/api/squirrel_export.awk')
-rw-r--r--src/ai/api/squirrel_export.awk13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/ai/api/squirrel_export.awk b/src/ai/api/squirrel_export.awk
index 9ce3ff26b..1a37289d6 100644
--- a/src/ai/api/squirrel_export.awk
+++ b/src/ai/api/squirrel_export.awk
@@ -86,10 +86,10 @@ BEGIN {
/^( *)private/ { if (cls_level == 1) public = "false"; next; }
# Ignore special doxygen blocks
-/^#ifndef DOXYGEN_SKIP/ { doxygen_skip = "next"; next; }
-/^#ifdef DOXYGEN_SKIP/ { doxygen_skip = "true"; next; }
-/^#endif/ { doxygen_skip = "false"; next; }
-/^#else/ {
+/^#ifndef DOXYGEN_SKIP/ { doxygen_skip = "next"; next; }
+/^#ifdef DOXYGEN_SKIP/ { doxygen_skip = "true"; next; }
+/^#endif \/\* DOXYGEN_SKIP \*\// { doxygen_skip = "false"; next; }
+/^#else/ {
if (doxygen_skip == "next") {
doxygen_skip = "true";
} else {
@@ -99,6 +99,11 @@ BEGIN {
}
{ if (doxygen_skip == "true") next }
+# Ignore functions that shouldn't be exported to squirrel
+/^#ifndef EXPORT_SKIP/ { export_skip = "true"; next; }
+/^#endif \/\* EXPORT_SKIP \*\// { export_skip = "false"; next; }
+{ if (export_skip == "true") next }
+
# Ignore the comments
/^#/ { next; }
/\/\*.*\*\// { comment = "false"; next; }