gpg-interface: add function for converting trust level to string
Add new helper function `gpg_trust_level_to_str()` which will convert a given member of `enum signature_trust_level` to its corresponding string (in lowercase). For example, `TRUST_ULTIMATE` will yield the string "ultimate". This will abstract out some code in `pretty.c` relating to gpg signature trust levels. Mentored-by: Christian Couder <chriscool@tuxfamily.org> Mentored-by: Hariom Verma <hariom18599@gmail.com> Signed-off-by: Jaydeep Das <jaydeepjd.8914@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									e4a4b31577
								
							
						
					
					
						commit
						803978da49
					
				|  | @ -165,15 +165,17 @@ static struct { | |||
| 	{ 0, "TRUST_", GPG_STATUS_TRUST_LEVEL }, | ||||
| }; | ||||
|  | ||||
| static struct { | ||||
| /* Keep the order same as enum signature_trust_level */ | ||||
| static struct sigcheck_gpg_trust_level { | ||||
| 	const char *key; | ||||
| 	const char *display_key; | ||||
| 	enum signature_trust_level value; | ||||
| } sigcheck_gpg_trust_level[] = { | ||||
| 	{ "UNDEFINED", TRUST_UNDEFINED }, | ||||
| 	{ "NEVER", TRUST_NEVER }, | ||||
| 	{ "MARGINAL", TRUST_MARGINAL }, | ||||
| 	{ "FULLY", TRUST_FULLY }, | ||||
| 	{ "ULTIMATE", TRUST_ULTIMATE }, | ||||
| 	{ "UNDEFINED", "undefined", TRUST_UNDEFINED }, | ||||
| 	{ "NEVER", "never", TRUST_NEVER }, | ||||
| 	{ "MARGINAL", "marginal", TRUST_MARGINAL }, | ||||
| 	{ "FULLY", "fully", TRUST_FULLY }, | ||||
| 	{ "ULTIMATE", "ultimate", TRUST_ULTIMATE }, | ||||
| }; | ||||
|  | ||||
| static void replace_cstring(char **field, const char *line, const char *next) | ||||
|  | @ -905,6 +907,20 @@ const char *get_signing_key(void) | |||
| 	return git_committer_info(IDENT_STRICT | IDENT_NO_DATE); | ||||
| } | ||||
|  | ||||
| const char *gpg_trust_level_to_str(enum signature_trust_level level) | ||||
| { | ||||
| 	struct sigcheck_gpg_trust_level *trust; | ||||
|  | ||||
| 	if (level < 0 || level >= ARRAY_SIZE(sigcheck_gpg_trust_level)) | ||||
| 		BUG("invalid trust level requested %d", level); | ||||
|  | ||||
| 	trust = &sigcheck_gpg_trust_level[level]; | ||||
| 	if (trust->value != level) | ||||
| 		BUG("sigcheck_gpg_trust_level[] unsorted"); | ||||
|  | ||||
| 	return sigcheck_gpg_trust_level[level].display_key; | ||||
| } | ||||
|  | ||||
| int sign_buffer(struct strbuf *buffer, struct strbuf *signature, const char *signing_key) | ||||
| { | ||||
| 	return use_format->sign_buffer(buffer, signature, signing_key); | ||||
|  |  | |||
|  | @ -71,6 +71,14 @@ size_t parse_signed_buffer(const char *buf, size_t size); | |||
| int sign_buffer(struct strbuf *buffer, struct strbuf *signature, | ||||
| 		const char *signing_key); | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Returns corresponding string in lowercase for a given member of | ||||
|  * enum signature_trust_level. For example, `TRUST_ULTIMATE` will | ||||
|  * return "ultimate". | ||||
|  */ | ||||
| const char *gpg_trust_level_to_str(enum signature_trust_level level); | ||||
|  | ||||
| int git_gpg_config(const char *, const char *, void *); | ||||
| void set_signing_key(const char *); | ||||
| const char *get_signing_key(void); | ||||
|  |  | |||
							
								
								
									
										18
									
								
								pretty.c
								
								
								
								
							
							
						
						
									
										18
									
								
								pretty.c
								
								
								
								
							|  | @ -1575,23 +1575,7 @@ static size_t format_commit_one(struct strbuf *sb, /* in UTF-8 */ | |||
| 				strbuf_addstr(sb, c->signature_check.primary_key_fingerprint); | ||||
| 			break; | ||||
| 		case 'T': | ||||
| 			switch (c->signature_check.trust_level) { | ||||
| 			case TRUST_UNDEFINED: | ||||
| 				strbuf_addstr(sb, "undefined"); | ||||
| 				break; | ||||
| 			case TRUST_NEVER: | ||||
| 				strbuf_addstr(sb, "never"); | ||||
| 				break; | ||||
| 			case TRUST_MARGINAL: | ||||
| 				strbuf_addstr(sb, "marginal"); | ||||
| 				break; | ||||
| 			case TRUST_FULLY: | ||||
| 				strbuf_addstr(sb, "fully"); | ||||
| 				break; | ||||
| 			case TRUST_ULTIMATE: | ||||
| 				strbuf_addstr(sb, "ultimate"); | ||||
| 				break; | ||||
| 			} | ||||
| 			strbuf_addstr(sb, gpg_trust_level_to_str(c->signature_check.trust_level)); | ||||
| 			break; | ||||
| 		default: | ||||
| 			return 0; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Jaydeep Das
						Jaydeep Das