Older
-
r36
(Support for comments in the configuration file.
BUG fix in l...) committed by thiadmer.riemersma
- Support for comments in the configuration file.
BUG fix in location (path) for the configuration file.
Support for comments in the configuration file.
BUG fix in location (path) for the configuration file.
-
r35
(Code generation bug fix (packed opcodes, optimization level ...) committed by thiadmer.riemersma
- Code generation bug fix (packed opcodes, optimization level 2).
amx.c: bug fix in amx_GetString().
compiler option -T, which selects the configuration file to use.
Minor modifications (e.g. update of the copyright).
Code generation bug fix (packed opcodes, optimization level 2).
amx.c: bug fix in amx_GetString().
compiler option -T, which selects the configuration file to use.
Minor modifications (e.g. update of the copyright).
-
r34
(sc1.c: fixed regression in handling 2-dimensional arrays wit...) committed by thiadmer.riemersma
- sc1.c: fixed regression in handling 2-dimensional arrays without size specification.
amxfile.c: support building with Borland C++.
sc1.c: fixed regression in handling 2-dimensional arrays without size specification.
amxfile.c: support building with Borland C++.
-
r33
("exit" state functions are now also supported (in addition t...) committed by thiadmer.riemersma
- "exit" state functions are now also supported (in addition to "entry" state functions).
The call.pri and jump.pri opcodes have been removed, because they made a buffer-overrun attack
possible.
Trailing commas are now allowed in the initialization data of arrays.
The macro substition processor now recognizes the "#" character for "stringizing" a parameter. Note
that concatenation of literal strings requires an ellipsis in Pawn (which is different than C/C++).
The stringize operator is only available in the replacement text of a macro.
When a source file contains indenting with both spaces and tab characters, and no explicit tab size
is given, the compiler now makes an educated guess for the tab space to use. This reduces warnings
about "loose indentation".
SECURITY FIX: the CALL.pri and JUMP.pri instructions were removed, because one could use them to
force a jump out of the virtual sand box of the abstract machine and call arbitrary code that is
carefully laid out in the data section of the script.
The handshake of the debugger in a remote-debugging configuration is a little faster. That is, the
debugger finds the remote device/host faster. Remote debugging is typically used with embedded
systems.
Better support for ncurses, which is now also the default for Linux (if it is installed).
For the amxProcess module, the dyncall library now replaces the libffi library, because dyncall
comes with ports for Unix/Linux, Macintosh and Windows (libffi only supported Unix-like systems).
The amxProcess module now also compiles without dyncall, but with reduced functionality.
The "binreloc" module is now optional when compiling pawnrun and pawndbg under Linux; binreloc is
part of the "autopackage" developer tools.
A portable INI file parser in the amxFile extension module.
BUG fix: the ternary operator ("a ? b : c") had a bug when "b" and "c" were arrays of different
lengths. This bug was reported by Bailopan on the Pawn forum.
BUG fix: amxFile had an error in the file CRC calculation.
BUG fix: function uuencode() in amxString was broken.
BUG fix: when basing a one-dimensional array on an enumaration and using the ellipsis ("...") in the
initialler to initialize the complete array to a value, the ellipsis would drop out immediately and
fail to fill the remainder with the given value/sequence.
BUG fix: indexing an undeclared symbol made the compiler abort with an "assertion failed" message.
This has been corrected.
Various other bug fixes.
"exit" state functions are now also supported (in addition to "entry" state functions).
The call.pri and jump.pri opcodes have been removed, because they made a buffer-overrun attack
possible.
Trailing commas are now allowed in the initialization data of arrays.
The macro substition processor now recognizes the "#" character for "stringizing" a parameter. Note
that concatenation of literal strings requires an ellipsis in Pawn (which is different than C/C++).
The stringize operator is only available in the replacement text of a macro.
When a source file contains indenting with both spaces and tab characters, and no explicit tab size
is given, the compiler now makes an educated guess for the tab space to use. This reduces warnings
about "loose indentation".
SECURITY FIX: the CALL.pri and JUMP.pri instructions were removed, because one could use them to
force a jump out of the virtual sand box of the abstract machine and call arbitrary code that is
carefully laid out in the data section of the script.
The handshake of the debugger in a remote-debugging configuration is a little faster. That is, the
debugger finds the remote device/host faster. Remote debugging is typically used with embedded
systems.
Better support for ncurses, which is now also the default for Linux (if it is installed).
For the amxProcess module, the dyncall library now replaces the libffi library, because dyncall
comes with ports for Unix/Linux, Macintosh and Windows (libffi only supported Unix-like systems).
The amxProcess module now also compiles without dyncall, but with reduced functionality.
The "binreloc" module is now optional when compiling pawnrun and pawndbg under Linux; binreloc is
part of the "autopackage" developer tools.
A portable INI file parser in the amxFile extension module.
BUG fix: the ternary operator ("a ? b : c") had a bug when "b" and "c" were arrays of different
lengths. This bug was reported by Bailopan on the Pawn forum.
BUG fix: amxFile had an error in the file CRC calculation.
BUG fix: function uuencode() in amxString was broken.
BUG fix: when basing a one-dimensional array on an enumaration and using the ellipsis ("...") in the
initialler to initialize the complete array to a value, the ellipsis would drop out immediately and
fail to fill the remainder with the given value/sequence.
BUG fix: indexing an undeclared symbol made the compiler abort with an "assertion failed" message.
This has been corrected.
Various other bug fixes.
|