summaryrefslogtreecommitdiff
path: root/udev
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2008-11-13 18:21:28 +0100
committerKay Sievers <kay.sievers@vrfy.org>2008-11-13 18:21:28 +0100
commit949075dbbdbc2a10b38e5022a4f51d39e391deca (patch)
tree597d13a259e4917b6a364f41f8a71fe0105aa02b /udev
parent3e39ff63658ed76398d0ee98f361221744fe591f (diff)
remove len == 0 check, the index root is always '\0'
Diffstat (limited to 'udev')
-rw-r--r--udev/udev-rules.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/udev/udev-rules.c b/udev/udev-rules.c
index 796d2c157f..df9fc7877d 100644
--- a/udev/udev-rules.c
+++ b/udev/udev-rules.c
@@ -451,15 +451,10 @@ static int add_string(struct udev_rules *rules, const char *str)
unsigned int off;
struct trie_node *parent;
- len = strlen(str);
-
- /* offset 0 is always '\0' */
- if (len == 0)
- return 0;
-
/* walk trie, start from last character of str to find matching tails */
- node_idx = 0;
+ len = strlen(str);
key = str[len-1];
+ node_idx = 0;
for (depth = 0; depth <= len; depth++) {
struct trie_node *node;
unsigned int child_idx;
@@ -1723,7 +1718,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
if (rules->trie_nodes == NULL)
return NULL;
rules->trie_nodes_max = PREALLOC_TRIE;
- /* offset 0 is the trie root */
+ /* offset 0 is the trie root, with an empty string */
memset(rules->trie_nodes, 0x00, sizeof(struct trie_node));
rules->trie_nodes_cur = 1;