Geometry *g1,*g2;
char *relate_str;
int len;
- char *result;
+ text *result;
#ifdef PROFILE
profstart(PROF_QRUN);
PG_RETURN_NULL(); //never get here
}
- len = strlen(relate_str) + 4;
+ len = strlen(relate_str) + VARHDRSZ;
result= palloc(len);
- *((int *) result) = len;
+ VARATT_SIZEP(result) = len;
+ //*((int *) result) = len;
- memcpy(result +4, relate_str, len-4);
+ memcpy(VARDATA(result), relate_str, len-VARHDRSZ);
free(relate_str);
lwnotice("GEOS2POSTGIS: lwgeom_serialize_size returned %d", size);
#endif
- size += 4; // postgresql size header
+ size += VARHDRSZ; // postgresql size header
result = palloc(size);
result->size = size;
lwgeom_serialize_buf(lwgeom, SERIALIZED_FORM(result), &retsize);
- if ( retsize != size-4 )
+ if ( retsize != size-VARHDRSZ )
{
lwerror("GEOS2POSTGIS: lwgeom_serialize_buf returned %d, lwgeom_serialize_size returned %d", retsize, size);
}
size_header = sprintf(sridText,"SRID=%i;",SRID);
//SRID text size + wkb size (+1 = NULL term)
- size_result = size_header + 2*(wkb_input->size-4) + 1;
+ size_result = size_header + 2*(wkb_input->size-VARHDRSZ) + 1;
wkb_srid_hexized = palloc(size_result);
wkb_srid_hexized[0] = 0; // empty
strcpy(wkb_srid_hexized, sridText);
loc = wkb_srid_hexized + size_header; // points to null in "SRID=#;"
- for (t=0; t< (wkb_input->size -4); t++)
+ for (t=0; t< (wkb_input->size -VARHDRSZ); t++)
{
deparse_hex( ((unsigned char *) wkb_input)[4 + t], &loc[t*2]);
}
type = PG_GETARG_TEXT_P(1);
if (VARSIZE(type) < 7)
{
- elog(ERROR,"asbinary(geometry, <type>) - type should be 'XDR' or 'NDR'. type length is %i",VARSIZE(type) -4);
+ elog(ERROR,"asbinary(geometry, <type>) - type should be 'XDR' or 'NDR'. type length is %i",VARSIZE(type) -VARHDRSZ);
PG_RETURN_NULL();
}
//elog(NOTICE, "in WKBFromLWGEOM with WKB (with no 'SRID=#;' = '%s'", hexized_wkb);
len_hexized_wkb = strlen(hexized_wkb);
- size_result = len_hexized_wkb/2 + 4;
+ size_result = len_hexized_wkb/2 + VARHDRSZ;
result = palloc(size_result);
- memcpy(result, &size_result,4); // size header
+ memcpy(result, &size_result,VARHDRSZ); // size header
// have a hexized string, want to make it binary
for (t=0; t< (len_hexized_wkb/2); t++)
{
- ((unsigned char *) result +4)[t] = parse_hex( hexized_wkb + (t*2) );
+ ((unsigned char *) result +VARHDRSZ)[t] = parse_hex( hexized_wkb + (t*2) );
}
pfree(hexized_wkb_srid);
result = palloc(size);// 16 for bbox2d
- memcpy(result,&size,4); // size
+ result->size = size;
result->type = lwgeom_makeType_full(
TYPE_HASZ(old_type),
TYPE_HASM(old_type),
result = palloc(size);// 16 for bbox2d
- memcpy(result,&size,4); // size
+ result->size = size;
result->type = lwgeom_makeType_full(
TYPE_HASZ(old_type),
TYPE_HASM(old_type),