PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ _rti_iterator_arg_destroy()

static void _rti_iterator_arg_destroy ( _rti_iterator_arg  _param)
static

Definition at line 471 of file rt_mapalgebra.c.

471  {
472  uint32_t i = 0;
473 
474  if (_param->raster != NULL)
475  rtdealloc(_param->raster);
476  if (_param->isempty != NULL)
477  rtdealloc(_param->isempty);
478  if (_param->width != NULL)
479  rtdealloc(_param->width);
480  if (_param->height != NULL)
481  rtdealloc(_param->height);
482 
483  if (_param->band.rtband != NULL)
484  rtdealloc(_param->band.rtband);
485  if (_param->band.hasnodata != NULL)
486  rtdealloc(_param->band.hasnodata);
487  if (_param->band.isnodata != NULL)
488  rtdealloc(_param->band.isnodata);
489  if (_param->band.nodataval != NULL)
490  rtdealloc(_param->band.nodataval);
491  if (_param->band.minval != NULL)
492  rtdealloc(_param->band.minval);
493 
494  if (_param->offset != NULL) {
495  for (i = 0; i < _param->count; i++) {
496  if (_param->offset[i] == NULL)
497  continue;
498  rtdealloc(_param->offset[i]);
499  }
500  rtdealloc(_param->offset);
501  }
502 
503  if (_param->empty.values != NULL) {
504  for (i = 0; i < _param->dimension.rows; i++) {
505  if (_param->empty.values[i] == NULL)
506  continue;
507  rtdealloc(_param->empty.values[i]);
508  }
509  rtdealloc(_param->empty.values);
510  }
511  if (_param->empty.nodata != NULL) {
512  for (i = 0; i < _param->dimension.rows; i++) {
513  if (_param->empty.nodata[i] == NULL)
514  continue;
515  rtdealloc(_param->empty.nodata[i]);
516  }
517  rtdealloc(_param->empty.nodata);
518  }
519 
520  if (_param->arg != NULL) {
521  if (_param->arg->values != NULL)
522  rtdealloc(_param->arg->values);
523  if (_param->arg->nodata != NULL)
524  rtdealloc(_param->arg->nodata);
525  if (_param->arg->src_pixel != NULL) {
526  for (i = 0; i < _param->count; i++) {
527  if (_param->arg->src_pixel[i] == NULL)
528  continue;
529  rtdealloc(_param->arg->src_pixel[i]);
530  }
531 
532  rtdealloc(_param->arg->src_pixel);
533  }
534 
535  rtdealloc(_param->arg);
536  }
537 
538  rtdealloc(_param);
539 }
void rtdealloc(void *mem)
Definition: rt_context.c:206
struct _rti_iterator_arg_t::@16 band
struct _rti_iterator_arg_t::@18 dimension
struct _rti_iterator_arg_t::@19 empty
rt_iterator_arg arg
double *** values
Definition: librtcore.h:2663

References _rti_iterator_arg_t::arg, _rti_iterator_arg_t::band, _rti_iterator_arg_t::count, _rti_iterator_arg_t::dimension, _rti_iterator_arg_t::empty, _rti_iterator_arg_t::hasnodata, _rti_iterator_arg_t::height, _rti_iterator_arg_t::isempty, _rti_iterator_arg_t::isnodata, _rti_iterator_arg_t::minval, rt_iterator_arg_t::nodata, _rti_iterator_arg_t::nodata, _rti_iterator_arg_t::nodataval, _rti_iterator_arg_t::offset, _rti_iterator_arg_t::raster, _rti_iterator_arg_t::rows, _rti_iterator_arg_t::rtband, rtdealloc(), rt_iterator_arg_t::src_pixel, rt_iterator_arg_t::values, _rti_iterator_arg_t::values, and _rti_iterator_arg_t::width.

Referenced by rt_raster_iterator().

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