digitalmars.D - BUG: wrong automatic conversion to char* string
- KUV (10/10) Jan 15 2006 I use this code to execute mysql query:
- Thomas Kuehne (10/20) Jan 16 2006 -----BEGIN PGP SIGNED MESSAGE-----
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