+void dictionary_free_all(dictionary_t* dict, void (*freeFunction)(void*))
+{
+ dictionary_internal_t*d = (dictionary_internal_t*)dict->internal;
+ int num = 0;
+ char* name = stringarray_at(&d->keys, num) ;
+ while (name)
+ {
+ freeFunction(dictionary_lookup(dict, name));
+ num++;
+ name = stringarray_at(&d->keys, num);
+ }
+ dictionary_clear(dict);
+}
+