It does not make sense for us to work around this. Please add it to your libc instead.
On Thu, Sep 18, 2014 at 3:24 PM, Emil Renner Berthing <syst...@esmil.dk> wrote: > --- > src/udev/udevadm-hwdb.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/src/udev/udevadm-hwdb.c b/src/udev/udevadm-hwdb.c > index 65cbf61..3f31662 100644 > --- a/src/udev/udevadm-hwdb.c > +++ b/src/udev/udevadm-hwdb.c > @@ -123,13 +123,13 @@ static void trie_node_cleanup(struct trie_node *node) { > free(node); > } > > -static int trie_values_cmp(const void *v1, const void *v2, void *arg) { > +static struct trie *trie_node_add_value_trie; > +static int trie_values_cmp(const void *v1, const void *v2) { > const struct trie_value_entry *val1 = v1; > const struct trie_value_entry *val2 = v2; > - struct trie *trie = arg; > > - return strcmp(trie->strings->buf + val1->key_off, > - trie->strings->buf + val2->key_off); > + return strcmp(trie_node_add_value_trie->strings->buf + val1->key_off, > + trie_node_add_value_trie->strings->buf + > val2->key_off); > } > > static int trie_node_add_value(struct trie *trie, struct trie_node *node, > @@ -150,7 +150,9 @@ static int trie_node_add_value(struct trie *trie, struct > trie_node *node, > .value_off = v, > }; > > - val = xbsearch_r(&search, node->values, node->values_count, > sizeof(struct trie_value_entry), trie_values_cmp, trie); > + trie_node_add_value_trie = trie; > + val = bsearch(&search, node->values, node->values_count, > sizeof(struct trie_value_entry), trie_values_cmp); > + trie_node_add_value_trie = NULL; > if (val) { > /* replace existing earlier key with new value */ > val->value_off = v; > @@ -167,7 +169,9 @@ static int trie_node_add_value(struct trie *trie, struct > trie_node *node, > node->values[node->values_count].key_off = k; > node->values[node->values_count].value_off = v; > node->values_count++; > - qsort_r(node->values, node->values_count, sizeof(struct > trie_value_entry), trie_values_cmp, trie); > + trie_node_add_value_trie = trie; > + qsort(node->values, node->values_count, sizeof(struct > trie_value_entry), trie_values_cmp); > + trie_node_add_value_trie = NULL; > return 0; > } > > -- > 2.1.0 > > _______________________________________________ > systemd-devel mailing list > systemd-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/systemd-devel _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel