digitalmars.D - BUG: wrong automatic conversion to char* string
- KUV <KUV_member pathlink.com> Jan 15 2006
- Thomas Kuehne <thomas-dloop kuehne.cn> Jan 16 2006
I use this code to execute mysql query:
mysql_query(mySQL, "SELECT host_Id FROM hosts WHERE host_Id NOT IN (" ~
seenHosts ~ ")");
And sometimes get error in mysql syntax because of extra character (code 08) at
the end of line, according to mysql log.
I used to manual conversion by toStringz() function, and this worked ok:
char* z = toStringz("SELECT host_Id FROM hosts WHERE host_Id NOT IN (" ~
seenHosts ~ ")");
mysql_query(mySQL, z);
So I think this is caused by bug in the D compiler.
Jan 15 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 KUV schrieb am 2006-01-15:I use this code to execute mysql query: mysql_query(mySQL, "SELECT host_Id FROM hosts WHERE host_Id NOT IN (" ~ seenHosts ~ ")"); And sometimes get error in mysql syntax because of extra character (code 08) at the end of line, according to mysql log. I used to manual conversion by toStringz() function, and this worked ok: char* z = toStringz("SELECT host_Id FROM hosts WHERE host_Id NOT IN (" ~ seenHosts ~ ")"); mysql_query(mySQL, z); So I think this is caused by bug in the D compiler.
Only constant character arrays are zero terminated. Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFDzBJo3w+/yD4P9tIRAtoUAJ4/t6pz4bJbmlkxNJJlD85URGTGkgCg0Ax+ X8pQ/HC+B3KbEKngJteftKk= =0esM -----END PGP SIGNATURE-----
Jan 16 2006








Thomas Kuehne <thomas-dloop kuehne.cn>