PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ rtpg_nmapalgebraexpr_arg_init()

static rtpg_nmapalgebraexpr_arg rtpg_nmapalgebraexpr_arg_init ( int  cnt,
char **  kw 
)
static

Definition at line 1012 of file rtpg_mapalgebra.c.

1012 {
1013 rtpg_nmapalgebraexpr_arg arg = NULL;
1014 int i = 0;
1015
1016 arg = palloc(sizeof(struct rtpg_nmapalgebraexpr_arg_t));
1017 if (arg == NULL) {
1018 elog(ERROR, "rtpg_nmapalgebraexpr_arg_init: Could not allocate memory for arguments");
1019 return NULL;
1020 }
1021
1023 if (arg->bandarg == NULL) {
1024 elog(ERROR, "rtpg_nmapalgebraexpr_arg_init: Could not allocate memory for arg->bandarg");
1025 return NULL;
1026 }
1027
1028 arg->callback.kw.count = cnt;
1029 arg->callback.kw.val = kw;
1030
1031 arg->callback.exprcount = 3;
1032 for (i = 0; i < arg->callback.exprcount; i++) {
1033 arg->callback.expr[i].spi_plan = NULL;
1034 arg->callback.expr[i].spi_argcount = 0;
1035 arg->callback.expr[i].spi_argpos = palloc(cnt * sizeof(uint8_t));
1036 if (arg->callback.expr[i].spi_argpos == NULL) {
1037 elog(ERROR, "rtpg_nmapalgebraexpr_arg_init: Could not allocate memory for spi_argpos");
1038 return NULL;
1039 }
1040 memset(arg->callback.expr[i].spi_argpos, 0, sizeof(uint8_t) * cnt);
1041 arg->callback.expr[i].hasval = 0;
1042 arg->callback.expr[i].val = 0;
1043 }
1044
1045 arg->callback.nodatanodata.hasval = 0;
1046 arg->callback.nodatanodata.val = 0;
1047
1048 return arg;
1049}
static rtpg_nmapalgebra_arg rtpg_nmapalgebra_arg_init(void)
rtpg_nmapalgebraexpr_callback_arg callback
rtpg_nmapalgebra_arg bandarg
struct rtpg_nmapalgebraexpr_callback_arg::@26 nodatanodata
struct rtpg_nmapalgebraexpr_callback_arg::@25 expr[3]
struct rtpg_nmapalgebraexpr_callback_arg::@27 kw

References rtpg_nmapalgebraexpr_arg_t::bandarg, rtpg_nmapalgebraexpr_arg_t::callback, rtpg_nmapalgebraexpr_callback_arg::count, rtpg_nmapalgebraexpr_callback_arg::expr, rtpg_nmapalgebraexpr_callback_arg::exprcount, rtpg_nmapalgebraexpr_callback_arg::hasval, rtpg_nmapalgebraexpr_callback_arg::kw, rtpg_nmapalgebraexpr_callback_arg::nodatanodata, rtpg_nmapalgebra_arg_init(), rtpg_nmapalgebraexpr_callback_arg::spi_argcount, rtpg_nmapalgebraexpr_callback_arg::spi_argpos, rtpg_nmapalgebraexpr_callback_arg::spi_plan, and rtpg_nmapalgebraexpr_callback_arg::val.

Referenced by RASTER_nMapAlgebraExpr().

Here is the call graph for this function:
Here is the caller graph for this function: