419{
420 static const uint32_t box2d_idx = 0;
421 static const uint32_t geom_idx = 1;
424
425 if (PG_ARGISNULL(box2d_idx) && PG_ARGISNULL(geom_idx))
426 {
427 PG_RETURN_NULL();
428 }
429
431
432 if (PG_ARGISNULL(box2d_idx))
433 {
434
436 PG_RETURN_NULL();
438 PG_RETURN_POINTER(
result);
439 }
440
441
442 if (PG_ARGISNULL(geom_idx))
443 {
444 memcpy(
result, (
char *)PG_GETARG_DATUM(box2d_idx),
sizeof(
GBOX));
445 PG_RETURN_POINTER(
result);
446 }
447
448
449
451 {
452
453 memcpy(
result, (
char *)PG_GETARG_DATUM(box2d_idx),
sizeof(
GBOX));
454 PG_RETURN_POINTER(
result);
455 }
456
457 a = (
GBOX *)PG_GETARG_DATUM(box2d_idx);
458 b = &box;
459
464
465 PG_RETURN_POINTER(
result);
466}
char result[OUT_DOUBLE_BUFFER_SIZE]
int gserialized_datum_get_gbox_p(Datum gsdatum, GBOX *gbox)
Given a GSERIALIZED datum, as quickly as possible (peaking into the top of the memory) return the gbo...