/src/libgit2/src/util/hashmap_str.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (C) the libgit2 contributors. All rights reserved. |
3 | | * |
4 | | * This file is part of libgit2, distributed under the GNU GPL v2 with |
5 | | * a Linking Exception. For full terms see the included COPYING file. |
6 | | */ |
7 | | #ifndef INCLUDE_hashmap_str_h__ |
8 | | #define INCLUDE_hashmap_str_h__ |
9 | | |
10 | | #include "hashmap.h" |
11 | | |
12 | | GIT_INLINE(uint32_t) git_hashmap_str_hash(const char *s) |
13 | 0 | { |
14 | 0 | uint32_t h = (uint32_t)*s; |
15 | |
|
16 | 0 | if (h) { |
17 | 0 | for (++s; *s; ++s) |
18 | 0 | h = (h << 5) - h + (uint32_t)*s; |
19 | 0 | } |
20 | |
|
21 | 0 | return h; |
22 | 0 | } Unexecuted instantiation: objects_fuzzer.c:git_hashmap_str_hash Unexecuted instantiation: fuzzer_utils.c:git_hashmap_str_hash Unexecuted instantiation: libgit2.c:git_hashmap_str_hash Unexecuted instantiation: merge_driver.c:git_hashmap_str_hash Unexecuted instantiation: merge_file.c:git_hashmap_str_hash Unexecuted instantiation: mwindow.c:git_hashmap_str_hash Unexecuted instantiation: object.c:git_hashmap_str_hash Unexecuted instantiation: object_api.c:git_hashmap_str_hash Unexecuted instantiation: odb.c:git_hashmap_str_hash Unexecuted instantiation: odb_loose.c:git_hashmap_str_hash Unexecuted instantiation: odb_pack.c:git_hashmap_str_hash Unexecuted instantiation: oid.c:git_hashmap_str_hash Unexecuted instantiation: pack.c:git_hashmap_str_hash Unexecuted instantiation: repository.c:git_hashmap_str_hash Unexecuted instantiation: revparse.c:git_hashmap_str_hash Unexecuted instantiation: revwalk.c:git_hashmap_str_hash Unexecuted instantiation: settings.c:git_hashmap_str_hash Unexecuted instantiation: submodule.c:git_hashmap_str_hash Unexecuted instantiation: tag.c:git_hashmap_str_hash Unexecuted instantiation: smart_protocol.c:git_hashmap_str_hash Unexecuted instantiation: tree.c:git_hashmap_str_hash Unexecuted instantiation: worktree.c:git_hashmap_str_hash Unexecuted instantiation: filebuf.c:git_hashmap_str_hash Unexecuted instantiation: fs_path.c:git_hashmap_str_hash Unexecuted instantiation: futils.c:git_hashmap_str_hash Unexecuted instantiation: attr.c:git_hashmap_str_hash Unexecuted instantiation: attr_file.c:git_hashmap_str_hash Unexecuted instantiation: attrcache.c:git_hashmap_str_hash Unexecuted instantiation: blob.c:git_hashmap_str_hash Unexecuted instantiation: branch.c:git_hashmap_str_hash Unexecuted instantiation: cache.c:git_hashmap_str_hash Unexecuted instantiation: checkout.c:git_hashmap_str_hash Unexecuted instantiation: clone.c:git_hashmap_str_hash Unexecuted instantiation: commit.c:git_hashmap_str_hash Unexecuted instantiation: commit_graph.c:git_hashmap_str_hash Unexecuted instantiation: commit_list.c:git_hashmap_str_hash Unexecuted instantiation: config.c:git_hashmap_str_hash Unexecuted instantiation: config_cache.c:git_hashmap_str_hash Unexecuted instantiation: config_file.c:git_hashmap_str_hash Unexecuted instantiation: config_list.c:git_hashmap_str_hash Unexecuted instantiation: config_parse.c:git_hashmap_str_hash Unexecuted instantiation: config_snapshot.c:git_hashmap_str_hash Unexecuted instantiation: delta.c:git_hashmap_str_hash Unexecuted instantiation: diff.c:git_hashmap_str_hash Unexecuted instantiation: diff_driver.c:git_hashmap_str_hash Unexecuted instantiation: diff_generate.c:git_hashmap_str_hash Unexecuted instantiation: diff_print.c:git_hashmap_str_hash Unexecuted instantiation: diff_tform.c:git_hashmap_str_hash Unexecuted instantiation: email.c:git_hashmap_str_hash Unexecuted instantiation: filter.c:git_hashmap_str_hash Unexecuted instantiation: grafts.c:git_hashmap_str_hash Unexecuted instantiation: hashsig.c:git_hashmap_str_hash Unexecuted instantiation: ident.c:git_hashmap_str_hash Unexecuted instantiation: index.c:git_hashmap_str_hash Unexecuted instantiation: indexer.c:git_hashmap_str_hash Unexecuted instantiation: iterator.c:git_hashmap_str_hash Unexecuted instantiation: mailmap.c:git_hashmap_str_hash Unexecuted instantiation: merge.c:git_hashmap_str_hash Unexecuted instantiation: midx.c:git_hashmap_str_hash Unexecuted instantiation: pack-objects.c:git_hashmap_str_hash Unexecuted instantiation: patch.c:git_hashmap_str_hash Unexecuted instantiation: patch_generate.c:git_hashmap_str_hash Unexecuted instantiation: path.c:git_hashmap_str_hash Unexecuted instantiation: pathspec.c:git_hashmap_str_hash Unexecuted instantiation: push.c:git_hashmap_str_hash Unexecuted instantiation: refdb.c:git_hashmap_str_hash Unexecuted instantiation: refdb_fs.c:git_hashmap_str_hash Unexecuted instantiation: reflog.c:git_hashmap_str_hash Unexecuted instantiation: refs.c:git_hashmap_str_hash Unexecuted instantiation: remote.c:git_hashmap_str_hash Unexecuted instantiation: signature.c:git_hashmap_str_hash Unexecuted instantiation: transaction.c:git_hashmap_str_hash Unexecuted instantiation: local.c:git_hashmap_str_hash Unexecuted instantiation: tree-cache.c:git_hashmap_str_hash Unexecuted instantiation: sortedcache.c:git_hashmap_str_hash Unexecuted instantiation: crlf.c:git_hashmap_str_hash Unexecuted instantiation: diff_file.c:git_hashmap_str_hash Unexecuted instantiation: diff_stats.c:git_hashmap_str_hash Unexecuted instantiation: diff_xdiff.c:git_hashmap_str_hash Unexecuted instantiation: fetch.c:git_hashmap_str_hash Unexecuted instantiation: fetchhead.c:git_hashmap_str_hash Unexecuted instantiation: graph.c:git_hashmap_str_hash Unexecuted instantiation: ignore.c:git_hashmap_str_hash |
23 | | |
24 | | GIT_INLINE(bool) git_hashmap_str_equal(const char *one, const char *two) |
25 | 0 | { |
26 | 0 | return strcmp(one, two) == 0; |
27 | 0 | } Unexecuted instantiation: objects_fuzzer.c:git_hashmap_str_equal Unexecuted instantiation: fuzzer_utils.c:git_hashmap_str_equal Unexecuted instantiation: libgit2.c:git_hashmap_str_equal Unexecuted instantiation: merge_driver.c:git_hashmap_str_equal Unexecuted instantiation: merge_file.c:git_hashmap_str_equal Unexecuted instantiation: mwindow.c:git_hashmap_str_equal Unexecuted instantiation: object.c:git_hashmap_str_equal Unexecuted instantiation: object_api.c:git_hashmap_str_equal Unexecuted instantiation: odb.c:git_hashmap_str_equal Unexecuted instantiation: odb_loose.c:git_hashmap_str_equal Unexecuted instantiation: odb_pack.c:git_hashmap_str_equal Unexecuted instantiation: oid.c:git_hashmap_str_equal Unexecuted instantiation: pack.c:git_hashmap_str_equal Unexecuted instantiation: repository.c:git_hashmap_str_equal Unexecuted instantiation: revparse.c:git_hashmap_str_equal Unexecuted instantiation: revwalk.c:git_hashmap_str_equal Unexecuted instantiation: settings.c:git_hashmap_str_equal Unexecuted instantiation: submodule.c:git_hashmap_str_equal Unexecuted instantiation: tag.c:git_hashmap_str_equal Unexecuted instantiation: smart_protocol.c:git_hashmap_str_equal Unexecuted instantiation: tree.c:git_hashmap_str_equal Unexecuted instantiation: worktree.c:git_hashmap_str_equal Unexecuted instantiation: filebuf.c:git_hashmap_str_equal Unexecuted instantiation: fs_path.c:git_hashmap_str_equal Unexecuted instantiation: futils.c:git_hashmap_str_equal Unexecuted instantiation: attr.c:git_hashmap_str_equal Unexecuted instantiation: attr_file.c:git_hashmap_str_equal Unexecuted instantiation: attrcache.c:git_hashmap_str_equal Unexecuted instantiation: blob.c:git_hashmap_str_equal Unexecuted instantiation: branch.c:git_hashmap_str_equal Unexecuted instantiation: cache.c:git_hashmap_str_equal Unexecuted instantiation: checkout.c:git_hashmap_str_equal Unexecuted instantiation: clone.c:git_hashmap_str_equal Unexecuted instantiation: commit.c:git_hashmap_str_equal Unexecuted instantiation: commit_graph.c:git_hashmap_str_equal Unexecuted instantiation: commit_list.c:git_hashmap_str_equal Unexecuted instantiation: config.c:git_hashmap_str_equal Unexecuted instantiation: config_cache.c:git_hashmap_str_equal Unexecuted instantiation: config_file.c:git_hashmap_str_equal Unexecuted instantiation: config_list.c:git_hashmap_str_equal Unexecuted instantiation: config_parse.c:git_hashmap_str_equal Unexecuted instantiation: config_snapshot.c:git_hashmap_str_equal Unexecuted instantiation: delta.c:git_hashmap_str_equal Unexecuted instantiation: diff.c:git_hashmap_str_equal Unexecuted instantiation: diff_driver.c:git_hashmap_str_equal Unexecuted instantiation: diff_generate.c:git_hashmap_str_equal Unexecuted instantiation: diff_print.c:git_hashmap_str_equal Unexecuted instantiation: diff_tform.c:git_hashmap_str_equal Unexecuted instantiation: email.c:git_hashmap_str_equal Unexecuted instantiation: filter.c:git_hashmap_str_equal Unexecuted instantiation: grafts.c:git_hashmap_str_equal Unexecuted instantiation: hashsig.c:git_hashmap_str_equal Unexecuted instantiation: ident.c:git_hashmap_str_equal Unexecuted instantiation: index.c:git_hashmap_str_equal Unexecuted instantiation: indexer.c:git_hashmap_str_equal Unexecuted instantiation: iterator.c:git_hashmap_str_equal Unexecuted instantiation: mailmap.c:git_hashmap_str_equal Unexecuted instantiation: merge.c:git_hashmap_str_equal Unexecuted instantiation: midx.c:git_hashmap_str_equal Unexecuted instantiation: pack-objects.c:git_hashmap_str_equal Unexecuted instantiation: patch.c:git_hashmap_str_equal Unexecuted instantiation: patch_generate.c:git_hashmap_str_equal Unexecuted instantiation: path.c:git_hashmap_str_equal Unexecuted instantiation: pathspec.c:git_hashmap_str_equal Unexecuted instantiation: push.c:git_hashmap_str_equal Unexecuted instantiation: refdb.c:git_hashmap_str_equal Unexecuted instantiation: refdb_fs.c:git_hashmap_str_equal Unexecuted instantiation: reflog.c:git_hashmap_str_equal Unexecuted instantiation: refs.c:git_hashmap_str_equal Unexecuted instantiation: remote.c:git_hashmap_str_equal Unexecuted instantiation: signature.c:git_hashmap_str_equal Unexecuted instantiation: transaction.c:git_hashmap_str_equal Unexecuted instantiation: local.c:git_hashmap_str_equal Unexecuted instantiation: tree-cache.c:git_hashmap_str_equal Unexecuted instantiation: sortedcache.c:git_hashmap_str_equal Unexecuted instantiation: crlf.c:git_hashmap_str_equal Unexecuted instantiation: diff_file.c:git_hashmap_str_equal Unexecuted instantiation: diff_stats.c:git_hashmap_str_equal Unexecuted instantiation: diff_xdiff.c:git_hashmap_str_equal Unexecuted instantiation: fetch.c:git_hashmap_str_equal Unexecuted instantiation: fetchhead.c:git_hashmap_str_equal Unexecuted instantiation: graph.c:git_hashmap_str_equal Unexecuted instantiation: ignore.c:git_hashmap_str_equal |
28 | | |
29 | | #define GIT_HASHMAP_STR_STRUCT(name, val_t) \ |
30 | | GIT_HASHMAP_STRUCT(name, const char *, val_t) |
31 | | #define GIT_HASHMAP_STR_PROTOTYPES(name, val_t) \ |
32 | | GIT_HASHMAP_PROTOTYPES(name, const char *, val_t) |
33 | | #define GIT_HASHMAP_STR_FUNCTIONS(name, scope, val_t) \ |
34 | | GIT_HASHMAP_FUNCTIONS(name, scope, const char *, val_t, git_hashmap_str_hash, git_hashmap_str_equal) |
35 | | |
36 | | #define GIT_HASHMAP_STR_SETUP(name, val_t) \ |
37 | | GIT_HASHMAP_STR_STRUCT(name, val_t) \ |
38 | | GIT_HASHMAP_STR_FUNCTIONS(name, GIT_HASHMAP_INLINE, val_t) |
39 | | |
40 | | GIT_HASHSET_SETUP(git_hashset_str, const char *, git_hashmap_str_hash, git_hashmap_str_equal); |
41 | | GIT_HASHMAP_SETUP(git_hashmap_str, const char *, void *, git_hashmap_str_hash, git_hashmap_str_equal); |
42 | | |
43 | | #endif |