mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-12 02:19:35 +00:00
Merge commit '93d216d37a3f95190ecb9d51cf72f54ea4e04ec7'
* commit '93d216d37a3f95190ecb9d51cf72f54ea4e04ec7': dict: K&R formatting cosmetics Conflicts: libavutil/dict.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
774d0c9dba
@ -35,40 +35,47 @@ int av_dict_count(const AVDictionary *m)
|
||||
return m ? m->count : 0;
|
||||
}
|
||||
|
||||
AVDictionaryEntry *
|
||||
av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags)
|
||||
AVDictionaryEntry *av_dict_get(AVDictionary *m, const char *key,
|
||||
const AVDictionaryEntry *prev, int flags)
|
||||
{
|
||||
unsigned int i, j;
|
||||
|
||||
if(!m)
|
||||
if (!m)
|
||||
return NULL;
|
||||
|
||||
if(prev) i= prev - m->elems + 1;
|
||||
else i= 0;
|
||||
if (prev)
|
||||
i = prev - m->elems + 1;
|
||||
else
|
||||
i = 0;
|
||||
|
||||
for(; i<m->count; i++){
|
||||
const char *s= m->elems[i].key;
|
||||
if(flags & AV_DICT_MATCH_CASE) for(j=0; s[j] == key[j] && key[j]; j++);
|
||||
else for(j=0; av_toupper(s[j]) == av_toupper(key[j]) && key[j]; j++);
|
||||
if(key[j])
|
||||
for (; i < m->count; i++) {
|
||||
const char *s = m->elems[i].key;
|
||||
if (flags & AV_DICT_MATCH_CASE)
|
||||
for (j = 0; s[j] == key[j] && key[j]; j++)
|
||||
;
|
||||
else
|
||||
for (j = 0; av_toupper(s[j]) == av_toupper(key[j]) && key[j]; j++)
|
||||
;
|
||||
if (key[j])
|
||||
continue;
|
||||
if(s[j] && !(flags & AV_DICT_IGNORE_SUFFIX))
|
||||
if (s[j] && !(flags & AV_DICT_IGNORE_SUFFIX))
|
||||
continue;
|
||||
return &m->elems[i];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
|
||||
int av_dict_set(AVDictionary **pm, const char *key, const char *value,
|
||||
int flags)
|
||||
{
|
||||
AVDictionary *m = *pm;
|
||||
AVDictionary *m = *pm;
|
||||
AVDictionaryEntry *tag = av_dict_get(m, key, NULL, flags);
|
||||
char *oldval = NULL;
|
||||
|
||||
if(!m)
|
||||
if (!m)
|
||||
m = *pm = av_mallocz(sizeof(*m));
|
||||
|
||||
if(tag) {
|
||||
if (tag) {
|
||||
if (flags & AV_DICT_DONT_OVERWRITE)
|
||||
return 0;
|
||||
if (flags & AV_DICT_APPEND)
|
||||
@ -78,16 +85,17 @@ int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags
|
||||
av_free(tag->key);
|
||||
*tag = m->elems[--m->count];
|
||||
} else {
|
||||
AVDictionaryEntry *tmp = av_realloc(m->elems, (m->count+1) * sizeof(*m->elems));
|
||||
if(tmp) {
|
||||
AVDictionaryEntry *tmp = av_realloc(m->elems,
|
||||
(m->count + 1) * sizeof(*m->elems));
|
||||
if (tmp)
|
||||
m->elems = tmp;
|
||||
} else
|
||||
else
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
if (value) {
|
||||
if (flags & AV_DICT_DONT_STRDUP_KEY) {
|
||||
if (flags & AV_DICT_DONT_STRDUP_KEY)
|
||||
m->elems[m->count].key = (char*)(intptr_t)key;
|
||||
} else
|
||||
else
|
||||
m->elems[m->count].key = av_strdup(key);
|
||||
if (flags & AV_DICT_DONT_STRDUP_VAL) {
|
||||
m->elems[m->count].value = (char*)(intptr_t)value;
|
||||
@ -164,7 +172,7 @@ void av_dict_free(AVDictionary **pm)
|
||||
AVDictionary *m = *pm;
|
||||
|
||||
if (m) {
|
||||
while(m->count--) {
|
||||
while (m->count--) {
|
||||
av_free(m->elems[m->count].key);
|
||||
av_free(m->elems[m->count].value);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user