Bug fix: should use float8get() instead of (double *) type cast.

Code clean-up according 'Coding Standards and Styles'
This commit is contained in:
unknown 2003-03-06 15:44:52 +04:00
parent 9cbc3df7c3
commit a8c7a0833c

View File

@ -371,8 +371,11 @@ int GLineString::start_point(String *result) const
result->q_append((char) wkbNDR);
result->q_append((uint32) wkbPoint);
result->q_append((double *)data);
result->q_append((double *)(data + 8));
double d;
float8get(d, data);
result->q_append(d);
float8get(d, data + 8);
result->q_append(d);
return 0;
}
@ -395,8 +398,11 @@ int GLineString::end_point(String *result) const
return 1;
result->q_append((char) wkbNDR);
result->q_append((uint32) wkbPoint);
result->q_append((double *)data);
result->q_append((double *)(data + 8));
double d;
float8get(d, data);
result->q_append(d);
float8get(d, data + 8);
result->q_append(d);
return 0;
}
@ -411,7 +417,7 @@ int GLineString::point_n(uint32 num, String *result) const
return 1;
n_points= uint4korr(data);
if ((uint32)(num-1) >= n_points) // really means (num > n_points || num < 1)
if ((uint32) (num - 1) >= n_points) // means (num > n_points || num < 1)
return 1;
data+= 4 + (num - 1) * POINT_DATA_SIZE;
@ -423,8 +429,11 @@ int GLineString::point_n(uint32 num, String *result) const
result->q_append((char) wkbNDR);
result->q_append((uint32) wkbPoint);
result->q_append((double *)data);
result->q_append((double *)(data + 8));
double d;
float8get(d, data);
result->q_append(d);
float8get(d, data + 8);
result->q_append(d);
return 0;
}
@ -518,9 +527,12 @@ int GPolygon::get_data_as_text(String *txt) const
txt->qs_append('(');
for (; n_points>0; --n_points)
{
txt->qs_append((double *)data);
double d;
float8get(d, data);
txt->qs_append(d);
txt->qs_append(' ');
txt->qs_append((double *)(data + 8));
float8get(d, data + 8);
txt->qs_append(d);
txt->qs_append(',');
data+= 8 + 8;
@ -816,11 +828,14 @@ int GMultiPoint::get_data_as_text(String *txt) const
for (; n_points>0; --n_points)
{
txt->qs_append((double *)(data + WKB_HEADER_SIZE));
double d;
float8get(d, data + WKB_HEADER_SIZE);
txt->qs_append(d);
txt->qs_append(' ');
txt->qs_append((double *)(data + (8 + WKB_HEADER_SIZE)));
float8get(d, data + WKB_HEADER_SIZE + 8);
txt->qs_append(d);
txt->qs_append(',');
data += 8+8+WKB_HEADER_SIZE;
data+= WKB_HEADER_SIZE + 8 + 8;
}
txt->length(txt->length()-1);
return 0;
@ -953,9 +968,12 @@ int GMultiLineString::get_data_as_text(String *txt) const
txt->qs_append('(');
for (; n_points>0; --n_points)
{
txt->qs_append((double *)data);
double d;
float8get(d, data);
txt->qs_append(d);
txt->qs_append(' ');
txt->qs_append((double *)(data + 8));
float8get(d, data + 8);
txt->qs_append(d);
txt->qs_append(',');
data+= 8 + 8;
}
@ -1174,9 +1192,12 @@ int GMultiPolygon::get_data_as_text(String *txt) const
txt->qs_append('(');
for (; n_points>0; --n_points)
{
txt->qs_append((double *)data);
double d;
float8get(d, data);
txt->qs_append(d);
txt->qs_append(' ');
txt->qs_append((double *)(data + 8));
float8get(d, data + 8);
txt->qs_append(d);
txt->qs_append(',');
data+= 8 + 8;
}