diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-14 11:39:27 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-14 11:39:27 -0700 |
commit | 3e58763542ab858ed2b2c7c704594f420df28c8b (patch) | |
tree | d8ac1c38a08c621eb237c962dfc099fc48c83970 | |
parent | Start adding interfaces to read in partial trees (diff) | |
download | tgif-3e58763542ab858ed2b2c7c704594f420df28c8b.tar.xz |
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 ;)
-rw-r--r-- | cache.h | 2 | ||||
-rw-r--r-- | tree.c | 10 |
2 files changed, 7 insertions, 5 deletions
@@ -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); @@ -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); } |