diff options
| author | Edward Thomson <ethomson@edwardthomson.com> | 2017-12-30 08:09:22 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-12-30 08:09:22 -0800 |
| commit | e14bf97ebbed574dd23dc937a05994074baad91c (patch) | |
| tree | 7ba7575994ca7d35bb9802a0d113f604faed0f9d /src/object.c | |
| parent | 083b1a2e2d8d190db02db3db0dad4fa742eccb02 (diff) | |
| parent | 456e52189c95315028d668f9e508798d490765e2 (diff) | |
| download | libgit2-e14bf97ebbed574dd23dc937a05994074baad91c.tar.gz | |
Merge pull request #4443 from libgit2/ethomson/large_loose_blobs
Inflate large loose blobs
Diffstat (limited to 'src/object.c')
| -rw-r--r-- | src/object.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/object.c b/src/object.c index 4d069a34c..48f561384 100644 --- a/src/object.c +++ b/src/object.c @@ -236,13 +236,22 @@ const char *git_object_type2string(git_otype type) git_otype git_object_string2type(const char *str) { + if (!str) + return GIT_OBJ_BAD; + + return git_object_stringn2type(str, strlen(str)); +} + +git_otype git_object_stringn2type(const char *str, size_t len) +{ size_t i; - if (!str || !*str) + if (!str || !len || !*str) return GIT_OBJ_BAD; for (i = 0; i < ARRAY_SIZE(git_objects_table); i++) - if (!strcmp(str, git_objects_table[i].str)) + if (*git_objects_table[i].str && + !git__prefixncmp(str, len, git_objects_table[i].str)) return (git_otype)i; return GIT_OBJ_BAD; |
