improved API unit tests and fixed many small related issues
changes to improve memory freeing
removed deprecated functions
changed error_handler function type from void to int
@@ -527,10 +527,22 @@ If you wish to compress the output so it uses less memory, use this call to `CDi
```
10. Delete a single cdict entry with
10. Delete a cdict entry and its value's contents, if appropriate (e.g. if they are a pointer) with the following.
```c
CDict_del(cdict,key);
CDict_del_and_contents(cdict,entry,TRUE);
```
Delete a cdict entry but do not delete its contents with this.
```c
CDict_del_and_contents(cdict,entry,TRUE);
```
Delete a reference to a cdict entry with a call like this, but beware this does *not* delete the entry contents so will, unless you free the entry manually, lead to memory leaks.
```c
CDict_del(cdict,entry);
```
11. Append to a cdict entry, with given key, by value, with the following code. As with `CDict_set()` the key and value types are guessed automatically.
@@ -762,8 +774,10 @@ In case of an error, you can set a function pointer as an error handler and set
The error handler function will be sent the data pointer, error number and a format statement and subsequent arguments so you can recreate the error string that *libcdict* uses by default.
If the error handler function returns non-zero, *libcdict* exits on error. if the error handler returns 0, *libcdict* does not exit on error.