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:
Michael Niedermayer 2014-03-07 12:44:09 +01:00
commit 774d0c9dba
1 changed files with 29 additions and 21 deletions

View File

@ -35,40 +35,47 @@ int av_dict_count(const AVDictionary *m)
return m ? m->count : 0; return m ? m->count : 0;
} }
AVDictionaryEntry * AVDictionaryEntry *av_dict_get(AVDictionary *m, const char *key,
av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags) const AVDictionaryEntry *prev, int flags)
{ {
unsigned int i, j; unsigned int i, j;
if(!m) if (!m)
return NULL; return NULL;
if(prev) i= prev - m->elems + 1; if (prev)
else i= 0; i = prev - m->elems + 1;
else
i = 0;
for(; i<m->count; i++){ for (; i < m->count; i++) {
const char *s= m->elems[i].key; const char *s = m->elems[i].key;
if(flags & AV_DICT_MATCH_CASE) for(j=0; s[j] == key[j] && key[j]; j++); if (flags & AV_DICT_MATCH_CASE)
else for(j=0; av_toupper(s[j]) == av_toupper(key[j]) && key[j]; j++); for (j = 0; s[j] == key[j] && key[j]; j++)
if(key[j]) ;
else
for (j = 0; av_toupper(s[j]) == av_toupper(key[j]) && key[j]; j++)
;
if (key[j])
continue; continue;
if(s[j] && !(flags & AV_DICT_IGNORE_SUFFIX)) if (s[j] && !(flags & AV_DICT_IGNORE_SUFFIX))
continue; continue;
return &m->elems[i]; return &m->elems[i];
} }
return NULL; 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); AVDictionaryEntry *tag = av_dict_get(m, key, NULL, flags);
char *oldval = NULL; char *oldval = NULL;
if(!m) if (!m)
m = *pm = av_mallocz(sizeof(*m)); m = *pm = av_mallocz(sizeof(*m));
if(tag) { if (tag) {
if (flags & AV_DICT_DONT_OVERWRITE) if (flags & AV_DICT_DONT_OVERWRITE)
return 0; return 0;
if (flags & AV_DICT_APPEND) 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); av_free(tag->key);
*tag = m->elems[--m->count]; *tag = m->elems[--m->count];
} else { } else {
AVDictionaryEntry *tmp = av_realloc(m->elems, (m->count+1) * sizeof(*m->elems)); AVDictionaryEntry *tmp = av_realloc(m->elems,
if(tmp) { (m->count + 1) * sizeof(*m->elems));
if (tmp)
m->elems = tmp; m->elems = tmp;
} else else
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
} }
if (value) { 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; m->elems[m->count].key = (char*)(intptr_t)key;
} else else
m->elems[m->count].key = av_strdup(key); m->elems[m->count].key = av_strdup(key);
if (flags & AV_DICT_DONT_STRDUP_VAL) { if (flags & AV_DICT_DONT_STRDUP_VAL) {
m->elems[m->count].value = (char*)(intptr_t)value; m->elems[m->count].value = (char*)(intptr_t)value;
@ -164,7 +172,7 @@ void av_dict_free(AVDictionary **pm)
AVDictionary *m = *pm; AVDictionary *m = *pm;
if (m) { if (m) {
while(m->count--) { while (m->count--) {
av_free(m->elems[m->count].key); av_free(m->elems[m->count].key);
av_free(m->elems[m->count].value); av_free(m->elems[m->count].value);
} }