builtin/cat-file: convert struct expand_data to use struct object_id

Convert struct cache_entry to use struct object_id by applying the following semantic patch and the object_id transforms from contrib, plus the actual change to the struct: @@ struct expand_data E1; @@ - E1.sha1 + E1.oid.hash @@ struct expand_data *E1; @@ - E1->sha1 + E1->oid.hash @@ struct expand_data E1; @@ - E1.delta_base_sha1 + E1.delta_base_oid.hash @@ struct expand_data *E1; @@ - E1->delta_base_sha1 + E1->delta_base_oid.hash Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

brian m. carlson committed Sep 5, 2016 at 20:07 UTC cd4f77beb7c7dcb996e08f1eae566802d4056a6c
1 file changed +12 -10
builtin/cat-file.c
+12 -10
@@ -128,12 +128,12 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
128 }
129
130 struct expand_data {
131 - unsigned char sha1[20];
131 + struct object_id oid;
132 enum object_type type;
133 unsigned long size;
134 off_t disk_size;
135 const char *rest;
136 - unsigned char delta_base_sha1[20];
136 + struct object_id delta_base_oid;
137
138 /*
139 * If mark_query is true, we do not expand anything, but rather
@@ -176,7 +176,7 @@ static void expand_atom(struct strbuf *sb, const char *atom, int len,
176
177 if (is_atom("objectname", atom, len)) {
178 if (!data->mark_query)
179 - strbuf_addstr(sb, sha1_to_hex(data->sha1));
179 + strbuf_addstr(sb, oid_to_hex(&data->oid));
180 } else if (is_atom("objecttype", atom, len)) {
181 if (data->mark_query)
182 data->info.typep = &data->type;
@@ -199,9 +199,10 @@ static void expand_atom(struct strbuf *sb, const char *atom, int len,
199 strbuf_addstr(sb, data->rest);
200 } else if (is_atom("deltabase", atom, len)) {
201 if (data->mark_query)
202 - data->info.delta_base_sha1 = data->delta_base_sha1;
202 + data->info.delta_base_sha1 = data->delta_base_oid.hash;
203 else
204 - strbuf_addstr(sb, sha1_to_hex(data->delta_base_sha1));
204 + strbuf_addstr(sb,
205 + oid_to_hex(&data->delta_base_oid));
206 } else
207 die("unknown format element: %.*s", len, atom);
208 }
@@ -232,7 +233,7 @@ static void batch_write(struct batch_options *opt, const void *data, int len)
233
234 static void print_object_or_die(struct batch_options *opt, struct expand_data *data)
235 {
235 - const unsigned char *sha1 = data->sha1;
236 + const unsigned char *sha1 = data->oid.hash;
237
238 assert(data->info.typep);
239
@@ -266,8 +267,9 @@ static void batch_object_write(const char *obj_name, struct batch_options *opt,
267 struct strbuf buf = STRBUF_INIT;
268
269 if (!data->skip_object_info &&
269 - sha1_object_info_extended(data->sha1, &data->info, LOOKUP_REPLACE_OBJECT) < 0) {
270 - printf("%s missing\n", obj_name ? obj_name : sha1_to_hex(data->sha1));
270 + sha1_object_info_extended(data->oid.hash, &data->info, LOOKUP_REPLACE_OBJECT) < 0) {
271 + printf("%s missing\n",
272 + obj_name ? obj_name : oid_to_hex(&data->oid));
273 fflush(stdout);
274 return;
275 }
@@ -290,7 +292,7 @@ static void batch_one_object(const char *obj_name, struct batch_options *opt,
292 int flags = opt->follow_symlinks ? GET_SHA1_FOLLOW_SYMLINKS : 0;
293 enum follow_symlinks_result result;
294
293 - result = get_sha1_with_context(obj_name, flags, data->sha1, &ctx);
295 + result = get_sha1_with_context(obj_name, flags, data->oid.hash, &ctx);
296 if (result != FOUND) {
297 switch (result) {
298 case MISSING_OBJECT:
@@ -336,7 +338,7 @@ struct object_cb_data {
338 static void batch_object_cb(const unsigned char sha1[20], void *vdata)
339 {
340 struct object_cb_data *data = vdata;
339 - hashcpy(data->expand->sha1, sha1);
341 + hashcpy(data->expand->oid.hash, sha1);
342 batch_object_write(NULL, data->opt, data->expand);
343 }
344