 8868b1ebfb
			
		
	
	8868b1ebfb
	
	
	
		
			
			Plumb "struct key_value_info" through all code paths that end in die_bad_number(), which lets us remove the helper functions that read analogous values from "struct config_reader". As a result, nothing reads config_reader.config_kvi any more, so remove that too. In config.c, this requires changing the signature of git_configset_get_value() to 'return' "kvi" in an out parameter so that git_configset_get_<type>() can pass it to git_config_<type>(). Only numeric types will use "kvi", so for non-numeric types (e.g. git_configset_get_string()), pass NULL to indicate that the out parameter isn't needed. Outside of config.c, config callbacks now need to pass "ctx->kvi" to any of the git_config_<type>() functions that parse a config string into a number type. Included is a .cocci patch to make that refactor. The only exceptional case is builtin/config.c, where git_config_<type>() is called outside of a config callback (namely, on user-provided input), so config source information has never been available. In this case, die_bad_number() defaults to a generic, but perfectly descriptive message. Let's provide a safe, non-NULL for "kvi" anyway, but make sure not to change the message. Signed-off-by: Glen Choo <chooglen@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			28 lines
		
	
	
		
			226 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			226 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| @@
 | |
| identifier C1, C2, C3;
 | |
| @@
 | |
| (
 | |
| (
 | |
| git_config_int
 | |
| |
 | |
| git_config_int64
 | |
| |
 | |
| git_config_ulong
 | |
| |
 | |
| git_config_ssize_t
 | |
| )
 | |
|   (C1, C2
 | |
| + , ctx->kvi
 | |
|   )
 | |
| |
 | |
| (
 | |
| git_configset_get_value
 | |
| |
 | |
| git_config_bool_or_int
 | |
| )
 | |
|   (C1, C2
 | |
| + , ctx->kvi
 | |
|  , C3
 | |
|   )
 | |
| )
 |