diff options
Diffstat (limited to 'src/backend/utils/adt/int.c')
-rw-r--r-- | src/backend/utils/adt/int.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/backend/utils/adt/int.c b/src/backend/utils/adt/int.c index fd82a83c47c..ad8e6d02ee4 100644 --- a/src/backend/utils/adt/int.c +++ b/src/backend/utils/adt/int.c @@ -201,8 +201,8 @@ int2vectorout(PG_FUNCTION_ARGS) Datum int2vectorrecv(PG_FUNCTION_ARGS) { + LOCAL_FCINFO(locfcinfo, 3); StringInfo buf = (StringInfo) PG_GETARG_POINTER(0); - FunctionCallInfoData locfcinfo; int2vector *result; /* @@ -211,19 +211,19 @@ int2vectorrecv(PG_FUNCTION_ARGS) * fcinfo->flinfo->fn_extra. So we need to pass it our own flinfo * parameter. */ - InitFunctionCallInfoData(locfcinfo, fcinfo->flinfo, 3, + InitFunctionCallInfoData(*locfcinfo, fcinfo->flinfo, 3, InvalidOid, NULL, NULL); - locfcinfo.arg[0] = PointerGetDatum(buf); - locfcinfo.arg[1] = ObjectIdGetDatum(INT2OID); - locfcinfo.arg[2] = Int32GetDatum(-1); - locfcinfo.argnull[0] = false; - locfcinfo.argnull[1] = false; - locfcinfo.argnull[2] = false; + locfcinfo->args[0].value = PointerGetDatum(buf); + locfcinfo->args[0].isnull = false; + locfcinfo->args[1].value = ObjectIdGetDatum(INT2OID); + locfcinfo->args[1].isnull = false; + locfcinfo->args[2].value = Int32GetDatum(-1); + locfcinfo->args[2].isnull = false; - result = (int2vector *) DatumGetPointer(array_recv(&locfcinfo)); + result = (int2vector *) DatumGetPointer(array_recv(locfcinfo)); - Assert(!locfcinfo.isnull); + Assert(!locfcinfo->isnull); /* sanity checks: int2vector must be 1-D, 0-based, no nulls */ if (ARR_NDIM(result) != 1 || |