07.07.2013, 14:07
(
Last edited by maddinat0r; 07/07/2013 at 04:44 PM.
)
Quote:
I found a bug.
mysql_format() causes the server to crash if the input is too long, on Linux. I don't know the exact character count but seems like mysql_format() is not able to handle long strings. I have been using format() instead of it and everything works perfect. I think you gotta fix it ASAP, as its a very important function for this plugin. As a reminder again, that only happens in Linux. |
Quote:
No this happens from some other reason. I have no error in the mysql log so it doesn't seem to be related to a query. It seems almost random. If you have it I would appreciate an upload so I can report what function is the cause.
|
http://dfiles.eu/files/45pzfxmjf
Here is the complete package with the .pdb file.
EDIT:
R27 is released.
Changes:
- added support for y_inline
- fixed some memory leaks
- improved Windows XP compatibility
- fixed bug where OnQueryError parameters had empty values
- renamed mysql_real_escape_string to mysql_escape_string
- rewrote native mysql_format
- reduced usage of memory allocation (malloc)
- added enum datatype support to int-conversion natives
- replaced mysql_function_query native wrapper with pawn define
- changed MySQL connector again (sorry for that, Windows users will have to update the libmysql.dll again)
- improved HTML log file design
mysql_format now also supports precision and width for the %f and %d specifier just like the normal format native.
An example:
Code:
mysql_format(SQLHandle, Query, sizeof(Query), "SELECT * FROM foo WHERE bar = '%04d'", 4); printf("Query1: %s", Query); mysql_format(SQLHandle, Query, sizeof(Query), "UPDATE foo SET PosX = '%.2f', PosY = '%06.4f'", 123.4567, 987.654); printf("Query2: %s", Query);
Quote:
Query1: SELECT * FROM foo WHERE bar = '0004' Query2: UPDATE foo SET PosX = '123.45', PosY = '000987.6540' |