destroy memory of the cluster list */
| 285 | |
| 286 | /* destroy memory of the cluster list */ |
| 287 | static void clusterInfoDestroyList(msClusterLayerInfo* layerinfo, clusterInfo* feature) |
| 288 | { |
| 289 | clusterInfo* s = feature; |
| 290 | clusterInfo* next; |
| 291 | /* destroy the shapes added to this node */ |
| 292 | while (s) |
| 293 | { |
| 294 | next = s->next; |
| 295 | if (s->siblings) |
| 296 | { |
| 297 | clusterInfoDestroyList(layerinfo, s->siblings); |
| 298 | } |
| 299 | msFreeShape(&s->shape); |
| 300 | msFree(s->group); |
| 301 | msFree(s); |
| 302 | --layerinfo->numFeatures; |
| 303 | s = next; |
| 304 | } |
| 305 | } |
| 306 | |
| 307 | /* alloc memory for a new treenode */ |
| 308 | static clusterTreeNode *clusterTreeNodeCreate(msClusterLayerInfo* layerinfo, rectObj rect) |
no test coverage detected