aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/trie.inc.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/trie.inc.h b/src/trie.inc.h
index ffc8ac8e..64e5239d 100644
--- a/src/trie.inc.h
+++ b/src/trie.inc.h
@@ -87,16 +87,19 @@ TYPE* GET(TRIE(TYPE)) ( TRIE(TYPE)* trie, char* key ) {
char* subkey = key;
while (n != NULL) {
- if (subkey[1] == '\0') {
- /* Wanted node found,
- * value can however be NULL */
- return n->value;
- } else if (subkey[0] == n->c) {
- n = n->child;
- subkey++;
+ if (subkey[0] == n->c) {
+ if (subkey[1] == '\0') {
+ /* Wanted node found,
+ * value can however be NULL */
+ return n->value;
+ } else {
+ n = n->child;
+ subkey++;
+ }
} else {
n = n->next;
}
+
}
/* Position not found */