Browse Source

dict: K&R formatting cosmetics

tags/n2.3
Patrice Clement Diego Biurrun 11 years ago
parent
commit
93d216d37a
1 changed files with 31 additions and 23 deletions
  1. +31
    -23
      libavutil/dict.c

+ 31
- 23
libavutil/dict.c View File

@@ -35,40 +35,47 @@ int av_dict_count(const AVDictionary *m)
return m ? m->count : 0; 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; unsigned int i, j;


if(!m)
if (!m)
return NULL; 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; 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,17 +85,18 @@ 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));
if(tmp) {
AVDictionaryEntry *tmp = av_realloc(m->elems,
(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) {
m->elems[m->count].key = key;
} else
m->elems[m->count].key = av_strdup(key );
if (flags & AV_DICT_DONT_STRDUP_KEY)
m->elems[m->count].key = key;
else
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 = value; m->elems[m->count].value = value;
} else if (oldval && flags & AV_DICT_APPEND) { } else if (oldval && flags & AV_DICT_APPEND) {
@@ -161,7 +169,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);
} }


Loading…
Cancel
Save