builtin: convert textconv_object to use struct object_id
Since all of its callers have been updated, make textconv_object take a struct object_id. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
63ecb99e0d
commit
acad70d106
@ -25,7 +25,7 @@ struct fmt_merge_msg_opts {
|
||||
extern int fmt_merge_msg(struct strbuf *in, struct strbuf *out,
|
||||
struct fmt_merge_msg_opts *);
|
||||
|
||||
extern int textconv_object(const char *path, unsigned mode, const unsigned char *sha1, int sha1_valid, char **buf, unsigned long *buf_size);
|
||||
extern int textconv_object(const char *path, unsigned mode, const struct object_id *oid, int oid_valid, char **buf, unsigned long *buf_size);
|
||||
|
||||
extern int is_builtin(const char *s);
|
||||
|
||||
|
@ -154,8 +154,8 @@ static int diff_hunks(mmfile_t *file_a, mmfile_t *file_b,
|
||||
*/
|
||||
int textconv_object(const char *path,
|
||||
unsigned mode,
|
||||
const unsigned char *sha1,
|
||||
int sha1_valid,
|
||||
const struct object_id *oid,
|
||||
int oid_valid,
|
||||
char **buf,
|
||||
unsigned long *buf_size)
|
||||
{
|
||||
@ -163,7 +163,7 @@ int textconv_object(const char *path,
|
||||
struct userdiff_driver *textconv;
|
||||
|
||||
df = alloc_filespec(path);
|
||||
fill_filespec(df, sha1, sha1_valid, mode);
|
||||
fill_filespec(df, oid->hash, oid_valid, mode);
|
||||
textconv = get_textconv(df);
|
||||
if (!textconv) {
|
||||
free_filespec(df);
|
||||
@ -188,7 +188,7 @@ static void fill_origin_blob(struct diff_options *opt,
|
||||
|
||||
num_read_blob++;
|
||||
if (DIFF_OPT_TST(opt, ALLOW_TEXTCONV) &&
|
||||
textconv_object(o->path, o->mode, o->blob_oid.hash, 1, &file->ptr, &file_size))
|
||||
textconv_object(o->path, o->mode, &o->blob_oid, 1, &file->ptr, &file_size))
|
||||
;
|
||||
else
|
||||
file->ptr = read_sha1_file(o->blob_oid.hash, &type,
|
||||
@ -2366,7 +2366,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,
|
||||
switch (st.st_mode & S_IFMT) {
|
||||
case S_IFREG:
|
||||
if (DIFF_OPT_TST(opt, ALLOW_TEXTCONV) &&
|
||||
textconv_object(read_from, mode, null_sha1, 0, &buf_ptr, &buf_len))
|
||||
textconv_object(read_from, mode, &null_oid, 0, &buf_ptr, &buf_len))
|
||||
strbuf_attach(&buf, buf_ptr, buf_len, buf_len + 1);
|
||||
else if (strbuf_read_file(&buf, read_from, st.st_size) != st.st_size)
|
||||
die_errno("cannot open or read '%s'", read_from);
|
||||
@ -2793,7 +2793,7 @@ parse_done:
|
||||
die("no such path %s in %s", path, final_commit_name);
|
||||
|
||||
if (DIFF_OPT_TST(&sb.revs->diffopt, ALLOW_TEXTCONV) &&
|
||||
textconv_object(path, o->mode, o->blob_oid.hash, 1, (char **) &sb.final_buf,
|
||||
textconv_object(path, o->mode, &o->blob_oid, 1, (char **) &sb.final_buf,
|
||||
&sb.final_buf_size))
|
||||
;
|
||||
else
|
||||
|
@ -66,7 +66,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
|
||||
die("git cat-file --textconv %s: <object> must be <sha1:path>",
|
||||
obj_name);
|
||||
|
||||
if (textconv_object(obj_context.path, obj_context.mode, oid.hash, 1, &buf, &size))
|
||||
if (textconv_object(obj_context.path, obj_context.mode, &oid, 1, &buf, &size))
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
|
@ -479,7 +479,7 @@ static int show_blob_object(const struct object_id *oid, struct rev_info *rev, c
|
||||
if (get_sha1_with_context(obj_name, 0, oidc.hash, &obj_context))
|
||||
die(_("Not a valid object name %s"), obj_name);
|
||||
if (!obj_context.path[0] ||
|
||||
!textconv_object(obj_context.path, obj_context.mode, oidc.hash, 1, &buf, &size))
|
||||
!textconv_object(obj_context.path, obj_context.mode, &oidc, 1, &buf, &size))
|
||||
return stream_blob_to_fd(1, oid->hash, NULL, 0);
|
||||
|
||||
if (!buf)
|
||||
|
Loading…
Reference in New Issue
Block a user