diff options
Diffstat (limited to 'ui-tree.c')
-rw-r--r-- | ui-tree.c | 17 |
1 files changed, 7 insertions, 10 deletions
@@ -121,9 +121,8 @@ static void print_object(const unsigned char *sha1, char *path, const char *base | |||
121 | } | 121 | } |
122 | 122 | ||
123 | 123 | ||
124 | static int ls_item(const unsigned char *sha1, const char *base, int baselen, | 124 | static int ls_item(const unsigned char *sha1, struct strbuf *base, |
125 | const char *pathname, unsigned int mode, int stage, | 125 | const char *pathname, unsigned mode, int stage, void *cbdata) |
126 | void *cbdata) | ||
127 | { | 126 | { |
128 | struct walk_tree_context *walk_tree_ctx = cbdata; | 127 | struct walk_tree_context *walk_tree_ctx = cbdata; |
129 | char *name; | 128 | char *name; |
@@ -216,16 +215,15 @@ static void ls_tree(const unsigned char *sha1, char *path, struct walk_tree_cont | |||
216 | } | 215 | } |
217 | 216 | ||
218 | 217 | ||
219 | static int walk_tree(const unsigned char *sha1, const char *base, int baselen, | 218 | static int walk_tree(const unsigned char *sha1, struct strbuf *base, |
220 | const char *pathname, unsigned mode, int stage, | 219 | const char *pathname, unsigned mode, int stage, void *cbdata) |
221 | void *cbdata) | ||
222 | { | 220 | { |
223 | struct walk_tree_context *walk_tree_ctx = cbdata; | 221 | struct walk_tree_context *walk_tree_ctx = cbdata; |
224 | static char buffer[PATH_MAX]; | 222 | static char buffer[PATH_MAX]; |
225 | 223 | ||
226 | if (walk_tree_ctx->state == 0) { | 224 | if (walk_tree_ctx->state == 0) { |
227 | memcpy(buffer, base, baselen); | 225 | memcpy(buffer, base->buf, base->len); |
228 | strcpy(buffer + baselen, pathname); | 226 | strcpy(buffer + base->len, pathname); |
229 | if (strcmp(walk_tree_ctx->match_path, buffer)) | 227 | if (strcmp(walk_tree_ctx->match_path, buffer)) |
230 | return READ_TREE_RECURSIVE; | 228 | return READ_TREE_RECURSIVE; |
231 | 229 | ||
@@ -238,11 +236,10 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen, | |||
238 | return 0; | 236 | return 0; |
239 | } | 237 | } |
240 | } | 238 | } |
241 | ls_item(sha1, base, baselen, pathname, mode, stage, walk_tree_ctx); | 239 | ls_item(sha1, base, pathname, mode, stage, walk_tree_ctx); |
242 | return 0; | 240 | return 0; |
243 | } | 241 | } |
244 | 242 | ||
245 | |||
246 | /* | 243 | /* |
247 | * Show a tree or a blob | 244 | * Show a tree or a blob |
248 | * rev: the commit pointing at the root tree object | 245 | * rev: the commit pointing at the root tree object |