summaryrefslogtreecommitdiff
path: root/src/ivyargument.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ivyargument.c')
-rwxr-xr-xsrc/ivyargument.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ivyargument.c b/src/ivyargument.c
index 5333b99..5d398d9 100755
--- a/src/ivyargument.c
+++ b/src/ivyargument.c
@@ -21,7 +21,9 @@
#include <stdlib.h>
#include <memory.h>
#include <string.h>
+
#ifdef WIN32
+#include <crtdbg.h>
#include <windows.h>
#else
#include <arpa/inet.h>
@@ -29,6 +31,8 @@
#include <unistd.h>
#include <netdb.h>
#endif
+
+
#include "list.h"
#include "ivyargument.h"
@@ -54,6 +58,12 @@ IvyArgument IvyArgumentNew( int len, const void * value )
}
void IvyArgumentFree( IvyArgument arg )
{
+ IvyArgument p;
+ IvyArgument psuiv;
+ IVY_LIST_EACH_SAFE( arg->childrens, p, psuiv )
+ {
+ IvyArgumentFree(p);
+ }
free( arg );
}
void IvyArgumentGetValue( IvyArgument arg, int * len, const void **val )