summaryrefslogtreecommitdiff
path: root/src/3rdparty/squirrel
AgeCommit message (Collapse)Author
2021-06-17Cleanup: simplify some boolean expressionsRubidium
2021-06-17Cleanup: [Squirrel] Use nullptr instead of 0 or NULLRubidium
2021-06-10Fix: [MinGW] Unused squirrel code triggering a warningglx22
2021-06-03Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways ↵Patric Stout
we had While at it, replace OTTD_ASSERT with WITH_ASSERT, as this is always set if assert() is valid. No matter if NDEBUG is set or not.
2021-05-16Fix #9267, 47a99bb: [Squirrel] Heap use after freeRubidium
Due to 47a99bb the order of elements in the garbage collection chain has changed causing the class to be finalised before the instances of that class. Since the instance's array of member values depends on the size of the values in the class, the class finalisation resetting that size to 0 causes not all finalisations to run, which subsequently causes a heap use after free. So, just set the SQObjectPtrs to 'null' during the finalisation of the SQClass so the SQInstance can release all instance variables during its finalisation.
2021-04-17Fix #7513: recursive array/class/table release caused stack overflowRubidium
2021-04-17Fix #7513: recursive garbage collection caused stack overflowRubidium
2021-04-01Fix #8919: Release builds with asserts enabled (#8925)Charles Pigott
2021-04-01Codechange: Suppress warnings when asserts are disabled (#8916)Charles Pigott
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2020-06-27Codechange: Add WARN_FORMAT to vseprintf and fix the cascade of warnings ↵Charles Pigott
that followed
2020-06-18Fix: Silence some warnings when building with clang-cl on VS 2019Niels Martin Hansen
Clang-cl presents as both _MSC_VER and __clang__ in the preprocessor which makes some things confusing.
2020-06-05Add: introduce CMake for project managementPatric Stout
CMake works on all our supported platforms, like MSVC, Mingw, GCC, Clang, and many more. It allows for a single way of doing things, so no longer we need shell scripts and vbs scripts to work on all our supported platforms. Additionally, CMake allows to generate project files for like MSVC, KDevelop, etc. This heavily reduces the lines of code we need to support multiple platforms from a project perspective. Addtiionally, this heavily improves our detection of libraries, etc.
2020-02-01Fix #7966: SQInteger is 64-bit, print it as 64-bitglx
2019-09-30Codechange: Explicitly move a few variables to avoid a copy constructor ↵Charles Pigott
(fixes warning from clang)
2019-09-30Fix: GCC9's warnings about deprecated implicit assignment operatorsCharles Pigott
2019-05-11Change: Limit memory allocations for each Squirrel instanceNiels Martin Hansen
This can avoid out-of-memory situations due to single scripts using up the entire address space. Instead, scripts that go above the maximum are killed. The maximum is default 1 GB per script, but can be configured by a setting.
2018-06-27Codechange: Silence -Wclass-memaccess warnings with GCC8Charles Pigott
2018-06-15Codechange: Address some MSVC compiler warningsNiels Martin Hansen
2017-08-20(svn r27896) -Fix: some warningsfrosch
2017-08-13(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)frosch
2016-06-27(svn r27605) -Fix: GCC 6 warning about misleading indentationrubidium
2016-05-11(svn r27561) -Fix [Squirrel]: Fix typos in error messagesmatthijs
2015-05-20(svn r27289) -Fix: some uninitialised instance variablesrubidium
2015-04-11(svn r27233) -Fix [FS#6272]: crash when no AIs were installed due to ↵rubidium
improper handling of non-ASCII characters by the string pointer lexer
2014-10-12(svn r27003) -Cleanup: fix the use of spaces and asterices "around" some ↵rubidium
comments
2014-09-19(svn r26853) -Cleanup [Squirrel]: remove some stuff that we never did and ↵rubidium
especially never should use
2014-09-17(svn r26845) -Fix [Squirrel]: more uninitialized variables in constructorsrubidium
2014-09-17(svn r26844) -Fix: clang compile errorrubidium
2014-09-16(svn r26842) -Codechange [Squirrel]: other simple cases of non-initialised ↵rubidium
instance variables
2014-09-16(svn r26841) -Codechange [Squirrel]: move the actual initialisation of ↵rubidium
instance variables of SQString into the constructor
2014-09-16(svn r26840) -Fix [Squirrel]: merge Init and constructor of SQSharedStaterubidium
2014-09-16(svn r26839) -Fix [Squirrel]: some dead code and making switch fall throughs ↵rubidium
more explicit
2014-09-16(svn r26838) -Fix (r26831): attempt to make MSVC like the code againrubidium
2014-09-16(svn r26837) -Fix [Squirrel]: remove some pointless assignmentsrubidium
2014-09-16(svn r26836) -Fix [Squirrel]: merge SQLexer::Init with the constructor; ↵rubidium
there's no need to construct first and then call init in the next line
2014-09-16(svn r26835) -Fix [Squirrel]: remove dead code from the lexerrubidium
2014-09-16(svn r26834) -Fix [Squirrel]: prevent unitialized memory warning by moving ↵rubidium
code from (static) Init to constructure for SQFunctionProto
2014-09-16(svn r26833) -Fix [Squirrel]: remove a few bits of dead coderubidium
2014-09-16(svn r26832) -Fix [Squirrel]: ensure instance variable of SQNativeClosure is ↵rubidium
properly initialized
2014-09-16(svn r26831) -Fix [Squirrel]: (bogus) warning about falling through in a switchrubidium
2014-09-07(svn r26784) -Codechange [Squirrel]: use WChar for the lexerrubidium
2014-09-06(svn r26783) -Fix (r26781): removed one include too manyrubidium
2014-09-06(svn r26781) -Codechange [Squirrel]: remove includes/definitions that are ↵rubidium
already in stdafx.h
2014-09-06(svn r26780) -Cleanup: remove unused SQUIRREL_API macrorubidium
2014-09-06(svn r26779) -Cleanup [Squirrel]: remove extern "C" statements; we won't be ↵rubidium
exporting things to C from our squirrel
2014-09-06(svn r26778) -Codechange: remove pointless rsl macrorubidium
2014-09-06(svn r26777) -Codechange: use safe string functions in squirrel code as ↵rubidium
well, and prevent using the ones that are deemed unsafe
2014-09-06(svn r26775) -Cleanup [Squirrel]: "resolve" several of the unicode wrapper ↵rubidium
defines
2014-09-06(svn r26774) -Cleanup [Squirrel]: remove _SC macrorubidium