Root/poly2d/p2d_free.c

1/*
2 * p2d_free.c - Deallocate polygons
3 *
4 * Written 2012 by Werner Almesberger
5 * Copyright 2012 Werner Almesberger
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 */
12
13
14#include <stdlib.h>
15
16#include "poly2d.h"
17
18
19void p2d_free(struct p2d *p)
20{
21    struct v2d *v, *next;
22
23    v = p->v;
24    while (v) {
25        next = v->next;
26        free(v);
27        v = next;
28        if (v == p->v)
29            break;
30    }
31    free(p);
32}
33
34
35void p2d_free_all(struct p2d *p)
36{
37    struct p2d *next;
38
39    while (p) {
40        next = p->next;
41        p2d_free(p);
42        p = next;
43    }
44}
45

Archive Download this file

Branches:
master



interactive