pathspec doc: parse_pathspec does not maintain references to args
The command line arguments passed to main() are valid for the life of a program, but the same is not true for all other argv-style arrays (e.g. when a caller creates an argv_array). Clarify that parse_pathspec does not rely on the argv passed to it to remain valid. This makes it easier to tell that callers like "git rev-list --stdin" are safe and ensures that that is more likely to remain true as the implementation of parse_pathspec evolves. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									7fa3c2ad6d
								
							
						
					
					
						commit
						29c0e902a8
					
				|  | @ -526,10 +526,6 @@ static void NORETURN unsupported_magic(const char *pattern, | |||
| 	    pattern, sb.buf); | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * Given command line arguments and a prefix, convert the input to | ||||
|  * pathspec. die() if any magic in magic_mask is used. | ||||
|  */ | ||||
| void parse_pathspec(struct pathspec *pathspec, | ||||
| 		    unsigned magic_mask, unsigned flags, | ||||
| 		    const char *prefix, const char **argv) | ||||
|  |  | |||
|  | @ -70,6 +70,13 @@ struct pathspec { | |||
|  */ | ||||
| #define PATHSPEC_LITERAL_PATH (1<<6) | ||||
|  | ||||
| /* | ||||
|  * Given command line arguments and a prefix, convert the input to | ||||
|  * pathspec. die() if any magic in magic_mask is used. | ||||
|  * | ||||
|  * Any arguments used are copied. It is safe for the caller to modify | ||||
|  * or free 'prefix' and 'args' after calling this function. | ||||
|  */ | ||||
| extern void parse_pathspec(struct pathspec *pathspec, | ||||
| 			   unsigned magic_mask, | ||||
| 			   unsigned flags, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Jonathan Nieder
						Jonathan Nieder