diff options
author | Philip Kelley <phkelley@hotmail.com> | 2013-01-27 23:17:07 +0400 |
---|---|---|
committer | Philip Kelley <phkelley@hotmail.com> | 2013-01-27 23:17:07 +0400 |
commit | 11d9f6b30438a141def883b0115f7f764c03e990 (patch) | |
tree | abe54e8085c4e3a1c7a822ee256f81e0d58e6b42 /src/attr_file.c | |
parent | aa3bf89df21c44f22fe70b4aac9109646fd06b48 (diff) |
Vector improvements and their fallout
Diffstat (limited to 'src/attr_file.c')
-rw-r--r-- | src/attr_file.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/attr_file.c b/src/attr_file.c index 485bcb434..628cb1544 100644 --- a/src/attr_file.c +++ b/src/attr_file.c @@ -191,9 +191,9 @@ int git_attr_file__lookup_one( name.name_hash = git_attr_file__name_hash(attr); git_attr_file__foreach_matching_rule(file, path, i, rule) { - int pos = git_vector_bsearch(&rule->assigns, &name); + size_t pos; - if (pos >= 0) { + if (!git_vector_bsearch(&pos, &rule->assigns, &name)) { *value = ((git_attr_assignment *) git_vector_get(&rule->assigns, pos))->value; break; @@ -240,14 +240,15 @@ bool git_attr_rule__match( git_attr_assignment *git_attr_rule__lookup_assignment( git_attr_rule *rule, const char *name) { - int pos; + size_t pos; git_attr_name key; key.name = name; key.name_hash = git_attr_file__name_hash(name); - pos = git_vector_bsearch(&rule->assigns, &key); + if (git_vector_bsearch(&pos, &rule->assigns, &key)) + return NULL; - return (pos >= 0) ? git_vector_get(&rule->assigns, pos) : NULL; + return git_vector_get(&rule->assigns, pos); } int git_attr_path__init( |