summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2013-04-25 16:25:22 +0100
committerGravatar Martin Szulecki2013-04-25 16:25:22 +0100
commit8ae2368031ac51065b569003209aae267b95d5b2 (patch)
tree13befd2c16f6de15be09d826f45e5338ab06a54a
parentb2924a1549d874fb86deaad5fd2438e567c65bf4 (diff)
downloadlibimobiledevice-8ae2368031ac51065b569003209aae267b95d5b2.tar.gz
libimobiledevice-8ae2368031ac51065b569003209aae267b95d5b2.tar.bz2
afc: Add convenience helper to free AFC dictionaries in afc_dictionary_free()
-rw-r--r--include/libimobiledevice/afc.h1
-rw-r--r--src/afc.c14
2 files changed, 15 insertions, 0 deletions
diff --git a/include/libimobiledevice/afc.h b/include/libimobiledevice/afc.h
index d262650..faf1b10 100644
--- a/include/libimobiledevice/afc.h
+++ b/include/libimobiledevice/afc.h
@@ -115,6 +115,7 @@ afc_error_t afc_set_file_time(afc_client_t client, const char *path, uint64_t mt
/* Helper functions */
afc_error_t afc_get_device_info_key(afc_client_t client, const char *key, char **value);
+afc_error_t afc_dictionary_free(char **dictionary);
#ifdef __cplusplus
}
diff --git a/src/afc.c b/src/afc.c
index f39562d..f8ca27c 100644
--- a/src/afc.c
+++ b/src/afc.c
@@ -1349,3 +1349,17 @@ afc_error_t afc_set_file_time(afc_client_t client, const char *path, uint64_t mt
return ret;
}
+afc_error_t afc_dictionary_free(char **dictionary)
+{
+ int i = 0;
+
+ if (!dictionary)
+ return AFC_E_INVALID_ARG;
+
+ for (i = 0; dictionary[i]; i++) {
+ free(dictionary[i]);
+ }
+ free(dictionary);
+
+ return AFC_E_SUCCESS;
+}