ref-filter: use non-const ref_format in *_atom_parser()
Use non-const ref_format in *_atom_parser(), which can help us modify the members of ref_format in *_atom_parser(). Mentored-by: Christian Couder <christian.couder@gmail.com> Mentored-by: Hariom Verma <hariom18599@gmail.com> Signed-off-by: ZheNing Hu <adlternative@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									7121c4d4e2
								
							
						
					
					
						commit
						e85fcb355a
					
				|  | @ -146,7 +146,7 @@ static int verify_tag(const char *name, const char *ref, | ||||||
| 		      const struct object_id *oid, void *cb_data) | 		      const struct object_id *oid, void *cb_data) | ||||||
| { | { | ||||||
| 	int flags; | 	int flags; | ||||||
| 	const struct ref_format *format = cb_data; | 	struct ref_format *format = cb_data; | ||||||
| 	flags = GPG_VERIFY_VERBOSE; | 	flags = GPG_VERIFY_VERBOSE; | ||||||
|  |  | ||||||
| 	if (format->format) | 	if (format->format) | ||||||
|  |  | ||||||
							
								
								
									
										40
									
								
								ref-filter.c
								
								
								
								
							
							
						
						
									
										40
									
								
								ref-filter.c
								
								
								
								
							|  | @ -226,7 +226,7 @@ static int strbuf_addf_ret(struct strbuf *sb, int ret, const char *fmt, ...) | ||||||
| 	return ret; | 	return ret; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int color_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int color_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 			     const char *color_value, struct strbuf *err) | 			     const char *color_value, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (!color_value) | 	if (!color_value) | ||||||
|  | @ -264,7 +264,7 @@ static int refname_atom_parser_internal(struct refname_atom *atom, const char *a | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int remote_ref_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int remote_ref_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 				  const char *arg, struct strbuf *err) | 				  const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	struct string_list params = STRING_LIST_INIT_DUP; | 	struct string_list params = STRING_LIST_INIT_DUP; | ||||||
|  | @ -311,7 +311,7 @@ static int remote_ref_atom_parser(const struct ref_format *format, struct used_a | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int objecttype_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int objecttype_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 				  const char *arg, struct strbuf *err) | 				  const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (arg) | 	if (arg) | ||||||
|  | @ -323,7 +323,7 @@ static int objecttype_atom_parser(const struct ref_format *format, struct used_a | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int objectsize_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int objectsize_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 				  const char *arg, struct strbuf *err) | 				  const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (!arg) { | 	if (!arg) { | ||||||
|  | @ -343,7 +343,7 @@ static int objectsize_atom_parser(const struct ref_format *format, struct used_a | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int deltabase_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int deltabase_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 				 const char *arg, struct strbuf *err) | 				 const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (arg) | 	if (arg) | ||||||
|  | @ -355,7 +355,7 @@ static int deltabase_atom_parser(const struct ref_format *format, struct used_at | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int body_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int body_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 			    const char *arg, struct strbuf *err) | 			    const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (arg) | 	if (arg) | ||||||
|  | @ -364,7 +364,7 @@ static int body_atom_parser(const struct ref_format *format, struct used_atom *a | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int subject_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int subject_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 			       const char *arg, struct strbuf *err) | 			       const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (!arg) | 	if (!arg) | ||||||
|  | @ -376,7 +376,7 @@ static int subject_atom_parser(const struct ref_format *format, struct used_atom | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int trailers_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int trailers_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 				const char *arg, struct strbuf *err) | 				const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	atom->u.contents.trailer_opts.no_divider = 1; | 	atom->u.contents.trailer_opts.no_divider = 1; | ||||||
|  | @ -402,7 +402,7 @@ static int trailers_atom_parser(const struct ref_format *format, struct used_ato | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int contents_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int contents_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 				const char *arg, struct strbuf *err) | 				const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (!arg) | 	if (!arg) | ||||||
|  | @ -430,7 +430,7 @@ static int contents_atom_parser(const struct ref_format *format, struct used_ato | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int raw_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int raw_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 				const char *arg, struct strbuf *err) | 				const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (!arg) | 	if (!arg) | ||||||
|  | @ -442,7 +442,7 @@ static int raw_atom_parser(const struct ref_format *format, struct used_atom *at | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int oid_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int oid_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 			   const char *arg, struct strbuf *err) | 			   const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (!arg) | 	if (!arg) | ||||||
|  | @ -461,7 +461,7 @@ static int oid_atom_parser(const struct ref_format *format, struct used_atom *at | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int person_email_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int person_email_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 				    const char *arg, struct strbuf *err) | 				    const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (!arg) | 	if (!arg) | ||||||
|  | @ -475,7 +475,7 @@ static int person_email_atom_parser(const struct ref_format *format, struct used | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int refname_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int refname_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 			       const char *arg, struct strbuf *err) | 			       const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	return refname_atom_parser_internal(&atom->u.refname, arg, atom->name, err); | 	return refname_atom_parser_internal(&atom->u.refname, arg, atom->name, err); | ||||||
|  | @ -492,7 +492,7 @@ static align_type parse_align_position(const char *s) | ||||||
| 	return -1; | 	return -1; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int align_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int align_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 			     const char *arg, struct strbuf *err) | 			     const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	struct align *align = &atom->u.align; | 	struct align *align = &atom->u.align; | ||||||
|  | @ -544,7 +544,7 @@ static int align_atom_parser(const struct ref_format *format, struct used_atom * | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int if_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int if_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 			  const char *arg, struct strbuf *err) | 			  const char *arg, struct strbuf *err) | ||||||
| { | { | ||||||
| 	if (!arg) { | 	if (!arg) { | ||||||
|  | @ -559,7 +559,7 @@ static int if_atom_parser(const struct ref_format *format, struct used_atom *ato | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int head_atom_parser(const struct ref_format *format, struct used_atom *atom, | static int head_atom_parser(struct ref_format *format, struct used_atom *atom, | ||||||
| 			    const char *arg, struct strbuf *unused_err) | 			    const char *arg, struct strbuf *unused_err) | ||||||
| { | { | ||||||
| 	atom->u.head = resolve_refdup("HEAD", RESOLVE_REF_READING, NULL, NULL); | 	atom->u.head = resolve_refdup("HEAD", RESOLVE_REF_READING, NULL, NULL); | ||||||
|  | @ -570,7 +570,7 @@ static struct { | ||||||
| 	const char *name; | 	const char *name; | ||||||
| 	info_source source; | 	info_source source; | ||||||
| 	cmp_type cmp_type; | 	cmp_type cmp_type; | ||||||
| 	int (*parser)(const struct ref_format *format, struct used_atom *atom, | 	int (*parser)(struct ref_format *format, struct used_atom *atom, | ||||||
| 		      const char *arg, struct strbuf *err); | 		      const char *arg, struct strbuf *err); | ||||||
| } valid_atom[] = { | } valid_atom[] = { | ||||||
| 	[ATOM_REFNAME] = { "refname", SOURCE_NONE, FIELD_STR, refname_atom_parser }, | 	[ATOM_REFNAME] = { "refname", SOURCE_NONE, FIELD_STR, refname_atom_parser }, | ||||||
|  | @ -653,7 +653,7 @@ struct atom_value { | ||||||
| /* | /* | ||||||
|  * Used to parse format string and sort specifiers |  * Used to parse format string and sort specifiers | ||||||
|  */ |  */ | ||||||
| static int parse_ref_filter_atom(const struct ref_format *format, | static int parse_ref_filter_atom(struct ref_format *format, | ||||||
| 				 const char *atom, const char *ep, | 				 const char *atom, const char *ep, | ||||||
| 				 struct strbuf *err) | 				 struct strbuf *err) | ||||||
| { | { | ||||||
|  | @ -2556,7 +2556,7 @@ static void append_literal(const char *cp, const char *ep, struct ref_formatting | ||||||
| } | } | ||||||
|  |  | ||||||
| int format_ref_array_item(struct ref_array_item *info, | int format_ref_array_item(struct ref_array_item *info, | ||||||
| 			   const struct ref_format *format, | 			  struct ref_format *format, | ||||||
| 			  struct strbuf *final_buf, | 			  struct strbuf *final_buf, | ||||||
| 			  struct strbuf *error_buf) | 			  struct strbuf *error_buf) | ||||||
| { | { | ||||||
|  | @ -2602,7 +2602,7 @@ int format_ref_array_item(struct ref_array_item *info, | ||||||
| } | } | ||||||
|  |  | ||||||
| void pretty_print_ref(const char *name, const struct object_id *oid, | void pretty_print_ref(const char *name, const struct object_id *oid, | ||||||
| 		      const struct ref_format *format) | 		      struct ref_format *format) | ||||||
| { | { | ||||||
| 	struct ref_array_item *ref_item; | 	struct ref_array_item *ref_item; | ||||||
| 	struct strbuf output = STRBUF_INIT; | 	struct strbuf output = STRBUF_INIT; | ||||||
|  |  | ||||||
|  | @ -116,7 +116,7 @@ void ref_array_sort(struct ref_sorting *sort, struct ref_array *array); | ||||||
| void ref_sorting_set_sort_flags_all(struct ref_sorting *sorting, unsigned int mask, int on); | void ref_sorting_set_sort_flags_all(struct ref_sorting *sorting, unsigned int mask, int on); | ||||||
| /*  Based on the given format and quote_style, fill the strbuf */ | /*  Based on the given format and quote_style, fill the strbuf */ | ||||||
| int format_ref_array_item(struct ref_array_item *info, | int format_ref_array_item(struct ref_array_item *info, | ||||||
| 			  const struct ref_format *format, | 			  struct ref_format *format, | ||||||
| 			  struct strbuf *final_buf, | 			  struct strbuf *final_buf, | ||||||
| 			  struct strbuf *error_buf); | 			  struct strbuf *error_buf); | ||||||
| /*  Parse a single sort specifier and add it to the list */ | /*  Parse a single sort specifier and add it to the list */ | ||||||
|  | @ -137,7 +137,7 @@ void setup_ref_filter_porcelain_msg(void); | ||||||
|  * name must be a fully qualified refname. |  * name must be a fully qualified refname. | ||||||
|  */ |  */ | ||||||
| void pretty_print_ref(const char *name, const struct object_id *oid, | void pretty_print_ref(const char *name, const struct object_id *oid, | ||||||
| 		      const struct ref_format *format); | 		      struct ref_format *format); | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Push a single ref onto the array; this can be used to construct your own |  * Push a single ref onto the array; this can be used to construct your own | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 ZheNing Hu
						ZheNing Hu