rewrote forward API to use cached parameter pushing instead of immediate pushing

removed copy back cruft since it's no longer needed
removed PushCells() from API requirements, not needed
adjusted documentation and added TODO list to ForwardSys.cpp
various internal improvements

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40188
This commit is contained in:
David Anderson
2006-11-12 09:51:39 +00:00
parent 442806dd45
commit bad69571b6
9 changed files with 181 additions and 433 deletions
+7 -4
View File
@@ -216,10 +216,10 @@ namespace SourcePawn
* Converts a physical string to a local address.
*
* @param local_addr Local address in plugin.
* @param chars Number of chars to write, including NULL terminator.
* @param bytes Number of chars to write, including NULL terminator.
* @param source Source string to copy.
*/
virtual int StringToLocal(cell_t local_addr, size_t chars, const char *source) =0;
virtual int StringToLocal(cell_t local_addr, size_t bytes, const char *source) =0;
/**
* Converts a physical UTF-8 string to a local address.
@@ -229,9 +229,12 @@ namespace SourcePawn
* @param local_addr Local address in plugin.
* @param maxbytes Number of bytes to write, including NULL terminator.
* @param source Source string to copy.
* @param wrtnbytes Optionally filled with the number of written bytes.
* @param wrtnbytes Optionally set to the number of actual bytes written.
*/
virtual int StringToLocalUTF8(cell_t local_addr, size_t maxbytes, const char *source, size_t *wrtnbytes) =0;
virtual int StringToLocalUTF8(cell_t local_addr,
size_t maxbytes,
const char *source,
size_t *wrtnbytes) =0;
/**
* Pushes a cell onto the stack. Increases the parameter count by one.