]> git.meshlink.io Git - catta/blob - hashmap-test.c
9826d536f6ab8aabd8ca16a6750d9d38a6b25cc9
[catta] / hashmap-test.c
1 /* $Id$ */
2
3 /***
4   This file is part of avahi.
5  
6   avahi is free software; you can redistribute it and/or modify it
7   under the terms of the GNU Lesser General Public License as
8   published by the Free Software Foundation; either version 2.1 of the
9   License, or (at your option) any later version.
10  
11   avahi is distributed in the hope that it will be useful, but WITHOUT
12   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13   or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
14   Public License for more details.
15  
16   You should have received a copy of the GNU Lesser General Public
17   License along with avahi; if not, write to the Free Software
18   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19   USA.
20 ***/
21
22 #ifdef HAVE_CONFIG_H
23 #include <config.h>
24 #endif
25
26 #include <stdio.h>
27
28 #include <avahi-common/domain.h>
29 #include <avahi-common/malloc.h>
30
31 #include "hashmap.h"
32 #include "util.h"
33
34 int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) {
35     unsigned n;
36     AvahiHashmap *m;
37     const char *t;
38
39     m = avahi_hashmap_new(avahi_string_hash, avahi_string_equal, avahi_free, avahi_free);
40
41     avahi_hashmap_insert(m, avahi_strdup("bla"), avahi_strdup("#1"));
42     avahi_hashmap_insert(m, avahi_strdup("bla2"), avahi_strdup("asdf"));
43     avahi_hashmap_insert(m, avahi_strdup("gurke"), avahi_strdup("ffsdf"));
44     avahi_hashmap_insert(m, avahi_strdup("blubb"), avahi_strdup("sadfsd"));
45     avahi_hashmap_insert(m, avahi_strdup("bla"), avahi_strdup("#2"));
46
47     for (n = 0; n < 1000; n ++)
48         avahi_hashmap_insert(m, avahi_strdup_printf("key %u", n), avahi_strdup_printf("value %u", n));
49     
50     printf("%s\n", (const char*) avahi_hashmap_lookup(m, "bla"));
51
52     avahi_hashmap_replace(m, avahi_strdup("bla"), avahi_strdup("#3"));
53
54     printf("%s\n", (const char*) avahi_hashmap_lookup(m, "bla"));
55
56     avahi_hashmap_remove(m, "bla");
57
58     t = (const char*) avahi_hashmap_lookup(m, "bla");
59     printf("%s\n", t ? t : "(null)");
60     
61     avahi_hashmap_free(m);
62
63     return 0;
64 }