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

◆ _rti_warp_arg_destroy()

static void _rti_warp_arg_destroy ( _rti_warp_arg  arg)
static

Definition at line 104 of file rt_warp.c.

104 {
105 int i = 0;
106
107 if (arg->dst.ds != NULL)
108 GDALClose(arg->dst.ds);
109 if (arg->dst.srs != NULL)
110 CPLFree(arg->dst.srs);
111
112 if (arg->dst.drv != NULL && arg->dst.destroy_drv) {
113 GDALDeregisterDriver(arg->dst.drv);
114 GDALDestroyDriver(arg->dst.drv);
115 }
116
117 if (arg->src.ds != NULL)
118 GDALClose(arg->src.ds);
119 if (arg->src.srs != NULL)
120 CPLFree(arg->src.srs);
121
122 if (arg->src.drv != NULL && arg->src.destroy_drv) {
123 GDALDeregisterDriver(arg->src.drv);
124 GDALDestroyDriver(arg->src.drv);
125 }
126
127 if (arg->transform.func == GDALApproxTransform) {
128 if (arg->transform.arg.imgproj != NULL)
129 GDALDestroyGenImgProjTransformer(arg->transform.arg.imgproj);
130 }
131
132 if (arg->wopts != NULL)
133 GDALDestroyWarpOptions(arg->wopts);
134
135 if (arg->transform.option.len > 0 && arg->transform.option.item != NULL) {
136 for (i = 0; i < arg->transform.option.len; i++) {
137 if (arg->transform.option.item[i] != NULL)
138 rtdealloc(arg->transform.option.item[i]);
139 }
140 rtdealloc(arg->transform.option.item);
141 }
142
143 rtdealloc(arg);
144 arg = NULL;
145}
void rtdealloc(void *mem)
Definition rt_context.c:206
struct _rti_warp_arg_t::@20 src
GDALDriverH drv
Definition rt_warp.c:44
struct _rti_warp_arg_t::@20 dst
GDALDatasetH ds
Definition rt_warp.c:45
void * transform
Definition rt_warp.c:59
GDALWarpOptions * wopts
Definition rt_warp.c:50

References _rti_warp_arg_t::destroy_drv, _rti_warp_arg_t::drv, _rti_warp_arg_t::ds, _rti_warp_arg_t::dst, rtdealloc(), _rti_warp_arg_t::src, _rti_warp_arg_t::srs, _rti_warp_arg_t::transform, and _rti_warp_arg_t::wopts.

Referenced by rt_raster_gdal_warp().

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