Skip to content

Commit

Permalink
eda/sqlite: Fixed a crash on SetData to null; Fixed handling of signe…
Browse files Browse the repository at this point in the history
…d 16bit values
  • Loading branch information
jerstlouis committed Jun 5, 2011
1 parent c5b2f04 commit f34206a
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions eda/drivers/sqlite/EDASQLiteCommon.ec
Expand Up @@ -817,7 +817,7 @@ class SQLiteRow : DriverRow
case 2:
{
int value;
if(value < 0)
if((int)data < 0)
value = (int)*(short *)data;
else
value = (int)*(uint16 *)data;
Expand All @@ -827,7 +827,7 @@ class SQLiteRow : DriverRow
case 1:
{
int value;
if(value < 0)
if((int)data < 0)
value = (int)*(char *)data;
else
value = (int)*(byte *)data;
Expand All @@ -847,7 +847,7 @@ class SQLiteRow : DriverRow
}
case SQLITE_TEXT:
{
if(data)
if((char *)data)
sqlite3_bind_text(findStatement, 1, (char *)data, strlen((char *)data), SQLITE_STATIC);
else
sqlite3_bind_text(findStatement, 1, null, 0, SQLITE_STATIC);
Expand Down Expand Up @@ -1191,7 +1191,7 @@ class SQLiteRow : DriverRow
case 2:
{
int value;
if(value < 0)
if((int)data < 0)
value = (int)*(short *)data;
else
value = (int)*(uint16 *)data;
Expand All @@ -1201,7 +1201,7 @@ class SQLiteRow : DriverRow
case 1:
{
int value;
if(value < 0)
if((int)data < 0)
value = (int)*(char *)data;
else
value = (int)*(byte *)data;
Expand All @@ -1221,7 +1221,8 @@ class SQLiteRow : DriverRow
}
case SQLITE_TEXT:
{
if(data)
// TOFIX: Checking a not casted typed_object for null should generate a compiler error (crashes!)
if((char *)data)
sqlite3_bind_text(updateStatement, 1, (char *)data, strlen((char *)data), SQLITE_STATIC);
else
sqlite3_bind_text(updateStatement, 1, null, 0, SQLITE_STATIC);
Expand Down

0 comments on commit f34206a

Please sign in to comment.