revert(3p/git): Revert merge of git upstream at v2.26.2
This causes cgit to serve error pages, which is undesirable. This reverts commit5229c9b232, reversing changes made tof2b211131f.
This commit is contained in:
		
							parent
							
								
									6f8fbf4aa4
								
							
						
					
					
						commit
						93ba78d6f4
					
				
					 1006 changed files with 60537 additions and 148724 deletions
				
			
		
							
								
								
									
										65
									
								
								third_party/git/Documentation/technical/api-argv-array.txt
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								third_party/git/Documentation/technical/api-argv-array.txt
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,65 @@ | |||
| argv-array API | ||||
| ============== | ||||
| 
 | ||||
| The argv-array API allows one to dynamically build and store | ||||
| NULL-terminated lists.  An argv-array maintains the invariant that the | ||||
| `argv` member always points to a non-NULL array, and that the array is | ||||
| always NULL-terminated at the element pointed to by `argv[argc]`. This | ||||
| makes the result suitable for passing to functions expecting to receive | ||||
| argv from main(), or the link:api-run-command.html[run-command API]. | ||||
| 
 | ||||
| The string-list API (documented in string-list.h) is similar, but cannot be | ||||
| used for these purposes; instead of storing a straight string pointer, | ||||
| it contains an item structure with a `util` field that is not compatible | ||||
| with the traditional argv interface. | ||||
| 
 | ||||
| Each `argv_array` manages its own memory. Any strings pushed into the | ||||
| array are duplicated, and all memory is freed by argv_array_clear(). | ||||
| 
 | ||||
| Data Structures | ||||
| --------------- | ||||
| 
 | ||||
| `struct argv_array`:: | ||||
| 
 | ||||
| 	A single array. This should be initialized by assignment from | ||||
| 	`ARGV_ARRAY_INIT`, or by calling `argv_array_init`. The `argv` | ||||
| 	member contains the actual array; the `argc` member contains the | ||||
| 	number of elements in the array, not including the terminating | ||||
| 	NULL. | ||||
| 
 | ||||
| Functions | ||||
| --------- | ||||
| 
 | ||||
| `argv_array_init`:: | ||||
| 	Initialize an array. This is no different than assigning from | ||||
| 	`ARGV_ARRAY_INIT`. | ||||
| 
 | ||||
| `argv_array_push`:: | ||||
| 	Push a copy of a string onto the end of the array. | ||||
| 
 | ||||
| `argv_array_pushl`:: | ||||
| 	Push a list of strings onto the end of the array. The arguments | ||||
| 	should be a list of `const char *` strings, terminated by a NULL | ||||
| 	argument. | ||||
| 
 | ||||
| `argv_array_pushf`:: | ||||
| 	Format a string and push it onto the end of the array. This is a | ||||
| 	convenience wrapper combining `strbuf_addf` and `argv_array_push`. | ||||
| 
 | ||||
| `argv_array_pushv`:: | ||||
| 	Push a null-terminated array of strings onto the end of the array. | ||||
| 
 | ||||
| `argv_array_pop`:: | ||||
| 	Remove the final element from the array. If there are no | ||||
| 	elements in the array, do nothing. | ||||
| 
 | ||||
| `argv_array_clear`:: | ||||
| 	Free all memory associated with the array and return it to the | ||||
| 	initial, empty state. | ||||
| 
 | ||||
| `argv_array_detach`:: | ||||
| 	Disconnect the `argv` member from the `argv_array` struct and | ||||
| 	return it. The caller is responsible for freeing the memory used | ||||
| 	by the array, and by the strings it references. After detaching, | ||||
| 	the `argv_array` is in a reinitialized state and can be pushed | ||||
| 	into again. | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue