continue;
entlen = strlen(de->d_name);
- if (has_extension(de->d_name, entlen, ".exe"))
+ if (has_extension(de->d_name, ".exe"))
entlen -= 4;
if (longest < entlen)
}
}
-static inline int has_extension(const char *filename, int len, const char *ext)
+static inline int has_extension(const char *filename, const char *ext)
{
- int extlen = strlen(ext);
+ size_t len = strlen(filename);
+ size_t extlen = strlen(ext);
return len > extlen && !memcmp(filename + len - extlen, ext, extlen);
}
if (strlen(ls->dentry_name) == 63 &&
!strncmp(ls->dentry_name, "objects/pack/pack-", 18) &&
- has_extension(ls->dentry_name, 63, ".pack")) {
+ has_extension(ls->dentry_name, ".pack")) {
get_sha1_hex(ls->dentry_name + 18, sha1);
setup_index(ls->repo, sha1);
}
usage(index_pack_usage);
if (!index_name) {
int len = strlen(pack_name);
- if (!has_extension(pack_name, len, ".pack"))
+ if (!has_extension(pack_name, ".pack"))
die("packfile name '%s' does not end with '.pack'",
pack_name);
index_name_buf = xmalloc(len);
while ((de = readdir(dir)) != NULL) {
int namelen = strlen(de->d_name);
if (namelen != 50 ||
- !has_extension(de->d_name, namelen, ".pack"))
+ !has_extension(de->d_name, ".pack"))
continue;
get_sha1_hex(de->d_name + 5, sha1);
setup_index(sha1);
namelen = strlen(de->d_name);
if (namelen > 255)
continue;
- if (has_extension(de->d_name, namelen, ".lock"))
+ if (has_extension(de->d_name, ".lock"))
continue;
memcpy(path + baselen, de->d_name, namelen+1);
if (stat(git_path("%s", path), &st) < 0)
int namelen = strlen(de->d_name);
struct packed_git *p;
- if (!has_extension(de->d_name, namelen, ".idx"))
+ if (!has_extension(de->d_name, ".idx"))
continue;
/* we have .idx. Is it a file we can map? */
* In addition to "foo.idx" we accept "foo.pack" and "foo";
* normalize these forms to "foo.idx" for add_packed_git().
*/
- if (has_extension(arg, len, ".pack")) {
+ if (has_extension(arg, ".pack")) {
strcpy(arg + len - 5, ".idx");
len--;
- } else if (!has_extension(arg, len, ".idx")) {
+ } else if (!has_extension(arg, ".idx")) {
if (len + 4 >= PATH_MAX)
return error("name too long: %s.idx", arg);
strcpy(arg + len, ".idx");