From: Kay Sievers Date: Wed, 12 Nov 2008 14:01:20 +0000 (+0100) Subject: reserve child slot 0 X-Git-Tag: 174~1330 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0dd9f015d3a7be6502ba3ec5ebbe6bcc9b056755;p=systemd reserve child slot 0 --- diff --git a/udev/udev-rules.c b/udev/udev-rules.c index efd8310c..1f28e4f0 100644 --- a/udev/udev-rules.c +++ b/udev/udev-rules.c @@ -1773,6 +1773,8 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) if (rules->trie_childs == NULL) return NULL; rules->trie_childs_max = PREALLOC_TRIE; + /* offset 0 is reserved for the null child node */ + rules->trie_childs_cur = 1; rules->trie_root = calloc(UCHAR_MAX + 1, sizeof(unsigned short)); @@ -1886,9 +1888,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) rules->buf_max = rules->buf_cur; } } - info(udev, "shrunk to %zu bytes tokens (%u * %zu bytes), %zu bytes buffer\n", + info(udev, "rules use %zu bytes tokens (%u * %zu bytes), %zu bytes buffer\n", rules->token_max * sizeof(struct token), rules->token_max, sizeof(struct token), rules->buf_max); - info(udev, "used %zu bytes for index (%u * %zu bytes nodes, %u * %zu bytes child links)\n", + info(udev, "temporary index used %zu bytes (%u * %zu bytes nodes, %u * %zu bytes child links)\n", rules->trie_nodes_cur * sizeof(struct trie_node) + rules->trie_childs_cur * sizeof(struct trie_child), rules->trie_nodes_cur, sizeof(struct trie_node), rules->trie_childs_cur, sizeof(struct trie_child));