summaryrefslogtreecommitdiff
path: root/libavutil/dict.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavutil/dict.c')
-rw-r--r--libavutil/dict.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/libavutil/dict.c b/libavutil/dict.c
index 14ad780a79..ee059d712c 100644
--- a/libavutil/dict.c
+++ b/libavutil/dict.c
@@ -20,6 +20,7 @@
#include <string.h>
+#include "avassert.h"
#include "avstring.h"
#include "dict.h"
#include "dict_internal.h"
@@ -38,6 +39,24 @@ int av_dict_count(const AVDictionary *m)
return m ? m->count : 0;
}
+const AVDictionaryEntry *av_dict_iterate(const AVDictionary *m,
+ const AVDictionaryEntry *prev)
+{
+ int i = 0;
+
+ if (!m)
+ return NULL;
+
+ if (prev)
+ i = prev - m->elems + 1;
+
+ av_assert2(i >= 0);
+ if (i >= m->count)
+ return NULL;
+
+ return &m->elems[i];
+}
+
AVDictionaryEntry *av_dict_get(const AVDictionary *m, const char *key,
const AVDictionaryEntry *prev, int flags)
{