summaryrefslogtreecommitdiffstats
path: root/freefilter.c
diff options
context:
space:
mode:
authorSimon Rettberg2014-03-15 01:49:50 +0100
committerSimon Rettberg2014-03-15 01:49:50 +0100
commitbedd2e7ccb1595c23e159eaa952ae1b0b5a3d2ad (patch)
treec7d1995a09f6ed0c4e6873252e957d72f5d07d07 /freefilter.c
downloadldadp-bedd2e7ccb1595c23e159eaa952ae1b0b5a3d2ad.tar.gz
ldadp-bedd2e7ccb1595c23e159eaa952ae1b0b5a3d2ad.tar.xz
ldadp-bedd2e7ccb1595c23e159eaa952ae1b0b5a3d2ad.zip
Lean and mean initial commit
Not much functionality yet
Diffstat (limited to 'freefilter.c')
-rw-r--r--freefilter.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/freefilter.c b/freefilter.c
new file mode 100644
index 0000000..442dfd1
--- /dev/null
+++ b/freefilter.c
@@ -0,0 +1,16 @@
+#include "ldap.h"
+#include <stdlib.h>
+
+void freefilter(struct Filter* f) {
+ if (f) {
+ freeava(f->a);
+ if (f->x) freefilter(f->x);
+ if (f->next) freefilter(f->next);
+ while (f->substrings) {
+ struct Substring* s=f->substrings->next;
+ free(f->substrings);
+ f->substrings=s;
+ }
+ free(f);
+ }
+}