dict: Change return type of av_dict_copy()

av_dict_set() could return an error, so forward it appropriately.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
pull/264/head
Vittorio Giovara 9 years ago
parent c1aac39eac
commit 11c5f438ff
  1. 4
      doc/APIchanges
  2. 11
      libavutil/dict.c
  3. 4
      libavutil/dict.h
  4. 2
      libavutil/version.h

@ -13,6 +13,10 @@ libavutil: 2015-08-28
API changes, most recent first:
2015-xx-xx - xxxxxxx - lavu 55.2.0 - dict.h
Change return type of av_dict_copy() from void to int, so that a proper
error code can be reported.
2015-xx-xx - xxxxxxx - lavc 57.0.0 - avcodec.h
Change type of AVPacket.duration from int to int64_t.

@ -186,10 +186,15 @@ void av_dict_free(AVDictionary **pm)
av_freep(pm);
}
void av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags)
int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags)
{
AVDictionaryEntry *t = NULL;
while ((t = av_dict_get(src, "", t, AV_DICT_IGNORE_SUFFIX)))
av_dict_set(dst, t->key, t->value, flags);
while ((t = av_dict_get(src, "", t, AV_DICT_IGNORE_SUFFIX))) {
int ret = av_dict_set(dst, t->key, t->value, flags);
if (ret < 0)
return ret;
}
return 0;
}

@ -130,8 +130,10 @@ int av_dict_parse_string(AVDictionary **pm, const char *str,
* @param src pointer to source AVDictionary struct
* @param flags flags to use when setting entries in *dst
* @note metadata is read using the AV_DICT_IGNORE_SUFFIX flag
* @return 0 on success, negative AVERROR code on failure. If dst was allocated
* by this function, callers should free the associated memory.
*/
void av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags);
int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags);
/**
* Free all the memory allocated for an AVDictionary struct

@ -54,7 +54,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 55
#define LIBAVUTIL_VERSION_MINOR 1
#define LIBAVUTIL_VERSION_MINOR 2
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \

Loading…
Cancel
Save