PostGIS  2.1.10dev-r@@SVN_REVISION@@
static void _rti_iterator_arg_destroy ( _rti_iterator_arg  _param)
static

Definition at line 13576 of file rt_api.c.

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().

13576  {
13577  int i = 0;
13578 
13579  if (_param->raster != NULL)
13580  rtdealloc(_param->raster);
13581  if (_param->isempty != NULL)
13582  rtdealloc(_param->isempty);
13583  if (_param->width != NULL)
13584  rtdealloc(_param->width);
13585  if (_param->height != NULL)
13586  rtdealloc(_param->height);
13587 
13588  if (_param->band.rtband != NULL)
13589  rtdealloc(_param->band.rtband);
13590  if (_param->band.hasnodata != NULL)
13591  rtdealloc(_param->band.hasnodata);
13592  if (_param->band.isnodata != NULL)
13593  rtdealloc(_param->band.isnodata);
13594  if (_param->band.nodataval != NULL)
13595  rtdealloc(_param->band.nodataval);
13596  if (_param->band.minval != NULL)
13597  rtdealloc(_param->band.minval);
13598 
13599  if (_param->offset != NULL) {
13600  for (i = 0; i < _param->count; i++) {
13601  if (_param->offset[i] == NULL)
13602  continue;
13603  rtdealloc(_param->offset[i]);
13604  }
13605  rtdealloc(_param->offset);
13606  }
13607 
13608  if (_param->empty.values != NULL) {
13609  for (i = 0; i < _param->dimension.rows; i++) {
13610  if (_param->empty.values[i] == NULL)
13611  continue;
13612  rtdealloc(_param->empty.values[i]);
13613  }
13614  rtdealloc(_param->empty.values);
13615  }
13616  if (_param->empty.nodata != NULL) {
13617  for (i = 0; i < _param->dimension.rows; i++) {
13618  if (_param->empty.nodata[i] == NULL)
13619  continue;
13620  rtdealloc(_param->empty.nodata[i]);
13621  }
13622  rtdealloc(_param->empty.nodata);
13623  }
13624 
13625  if (_param->arg != NULL) {
13626  if (_param->arg->values != NULL)
13627  rtdealloc(_param->arg->values);
13628  if (_param->arg->nodata != NULL)
13629  rtdealloc(_param->arg->nodata);
13630  if (_param->arg->src_pixel != NULL) {
13631  for (i = 0; i < _param->count; i++) {
13632  if (_param->arg->src_pixel[i] == NULL)
13633  continue;
13634  rtdealloc(_param->arg->src_pixel[i]);
13635  }
13636 
13637  rtdealloc(_param->arg->src_pixel);
13638  }
13639 
13640  rtdealloc(_param->arg);
13641  }
13642 
13643  rtdealloc(_param);
13644 }
rt_band * rtband
Definition: rt_api.c:13512
void rtdealloc(void *mem)
Definition: rt_api.c:882
int ** src_pixel
Definition: rt_api.h:2381
rt_raster * raster
Definition: rt_api.c:13505
rt_iterator_arg arg
Definition: rt_api.c:13534
double ** values
Definition: rt_api.c:13530
struct _rti_iterator_arg_t::@13 empty
double * nodataval
Definition: rt_api.c:13515
struct _rti_iterator_arg_t::@10 band
double ** offset
Definition: rt_api.c:13507
double *** values
Definition: rt_api.h:2376
struct _rti_iterator_arg_t::@12 dimension
int *** nodata
Definition: rt_api.h:2378

Here is the call graph for this function:

Here is the caller graph for this function: