Fix up read_tree() pathspec matching to use "const char **"

The same way the other pathspecs work.  Also fix missing success return
from the matching - not that anything actually uses this yet ;)
This commit is contained in:
Linus Torvalds 2005-07-14 11:39:27 -07:00
Родитель 0ca14a57f1
Коммит 3e58763542
2 изменённых файлов: 7 добавлений и 5 удалений

Просмотреть файл

@ -191,7 +191,7 @@ extern char *write_sha1_file_prepare(void *buf,
extern int check_sha1_signature(const unsigned char *sha1, void *buf, unsigned long size, const char *type);
/* Read a tree into the cache */
extern int read_tree(void *buffer, unsigned long size, int stage, char **paths);
extern int read_tree(void *buffer, unsigned long size, int stage, const char **paths);
extern int write_sha1_from_fd(const unsigned char *sha1, int fd);
extern int write_sha1_to_fd(int fd, const unsigned char *sha1);

10
tree.c
Просмотреть файл

@ -21,9 +21,9 @@ static int read_one_entry(unsigned char *sha1, const char *base, int baselen, co
return add_cache_entry(ce, ADD_CACHE_OK_TO_ADD|ADD_CACHE_SKIP_DFCHECK);
}
static int match_tree_entry(const char *base, int baselen, const char *path, unsigned int mode, char **paths)
static int match_tree_entry(const char *base, int baselen, const char *path, unsigned int mode, const char **paths)
{
char *match;
const char *match;
int pathlen;
if (!paths)
@ -59,13 +59,15 @@ static int match_tree_entry(const char *base, int baselen, const char *path, uns
if (strncmp(path, match, pathlen))
continue;
return 1;
}
return 0;
}
static int read_tree_recursive(void *buffer, unsigned long size,
const char *base, int baselen,
int stage, char **match)
int stage, const char **match)
{
while (size) {
int len = strlen(buffer)+1;
@ -115,7 +117,7 @@ static int read_tree_recursive(void *buffer, unsigned long size,
return 0;
}
int read_tree(void *buffer, unsigned long size, int stage, char **match)
int read_tree(void *buffer, unsigned long size, int stage, const char **match)
{
return read_tree_recursive(buffer, size, "", 0, stage, match);
}