Browse Source

chaning to iterative implelementation of find

doc_update_sequoia
vb 8 years ago
parent
commit
4f8407f5b9
2 changed files with 9 additions and 9 deletions
  1. +7
    -7
      src/stringpair.c
  2. +2
    -2
      src/stringpair.h

+ 7
- 7
src/stringpair.c View File

@ -159,19 +159,19 @@ DYNAMIC_API void free_stringpair_list(stringpair_list_t *stringpair_list)
}
}
DYNAMIC_API stringpair_t *stringpair_list_find(
DYNAMIC_API stringpair_list_t *stringpair_list_find(
stringpair_list_t *stringpair_list,
const char *key
)
{
assert(key);
if (stringpair_list == NULL)
return NULL;
stringpair_list_t *_l;
for (_l = stringpair_list; _l; _l = _l->next) {
if (strcoll(key, _l->value->key) == 0)
return _l;
}
if (strcoll(stringpair_list->value->key, key) == 0)
return stringpair_list->value;
else
return stringpair_list_find(stringpair_list->next, key);
return NULL;
}

+ 2
- 2
src/stringpair.h View File

@ -149,9 +149,9 @@ DYNAMIC_API void free_stringpair_list(stringpair_list_t *stringpair_list);
// key (in) key to search for
//
// return value:
// stringpair_t if found or NULL if not
// node with result if found or NULL if not
DYNAMIC_API stringpair_t *stringpair_list_find(
DYNAMIC_API stringpair_list_t *stringpair_list_find(
stringpair_list_t *stringpair_list,
const char *key
);


Loading…
Cancel
Save