mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	New getargs() function. Define macros with conventional names,
except get*str*arg --> get*Str*arg; get*str*arg fetches a C string.
This commit is contained in:
		
							parent
							
								
									9c16d7fbac
								
							
						
					
					
						commit
						550fbcc2aa
					
				
					 1 changed files with 28 additions and 0 deletions
				
			
		| 
						 | 
					@ -25,3 +25,31 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
				
			||||||
/* Module support interface */
 | 
					/* Module support interface */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern object *initmodule PROTO((char *, struct methodlist *));
 | 
					extern object *initmodule PROTO((char *, struct methodlist *));
 | 
				
			||||||
 | 
					extern int getargs PROTO((object *, char *, ...));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define getnoarg(v) getargs(v, "")
 | 
				
			||||||
 | 
					#define getintarg(v, a) getargs(v, "i", a)
 | 
				
			||||||
 | 
					#define getintintarg(v, a, b) getargs(v, "(ii)", a, b)
 | 
				
			||||||
 | 
					#define getintintintarg(v, a, b, c) getargs(v, "(iii)", a, b, c)
 | 
				
			||||||
 | 
					#define getlongarg(v, a) getargs(v, "l", a)
 | 
				
			||||||
 | 
					#define getlonglongarg(v, a, b) getargs(v, "(ll)", a, b)
 | 
				
			||||||
 | 
					#define getlonglongobjectarg(v, a, b, c) getargs(v, "(llO)", a, b, c)
 | 
				
			||||||
 | 
					#define getStrarg(v, a) getargs(v, "S", a)
 | 
				
			||||||
 | 
					#define getstrarg(v, a) getargs(v, "s", a)
 | 
				
			||||||
 | 
					#define getstrstrarg(v, a, b) getargs(v, "(ss)", a, b)
 | 
				
			||||||
 | 
					#define getStrStrarg(v, a, b) getargs(v, "(SS)", a, b)
 | 
				
			||||||
 | 
					#define getstrstrintarg(v, a, b, c) getargs(v, "(ssi)", a, b, c)
 | 
				
			||||||
 | 
					#define getStrintarg(v, a, b) getargs(v, "(Si)", a, b)
 | 
				
			||||||
 | 
					#define getstrintarg(v, a, b) getargs(v, "(si)", a, b)
 | 
				
			||||||
 | 
					#define getintstrarg(v, a, b) getargs(v, "(is)", a, b)
 | 
				
			||||||
 | 
					#define getpointarg(v, a) getargs(v, "(ii)", a, (a)+1)
 | 
				
			||||||
 | 
					#define get3pointarg(v, a) getargs(v, "((ii)(ii)(ii))", \
 | 
				
			||||||
 | 
									a, a+1, a+2, a+3, a+4, a+5)
 | 
				
			||||||
 | 
					#define getrectarg(v, a) getargs(v, "((ii)(ii))", a, a+1, a+2, a+3)
 | 
				
			||||||
 | 
					#define getrectintarg(v, a) getargs(v, "(((ii)(ii))i)", a, a+1, a+2, a+3, a+4)
 | 
				
			||||||
 | 
					#define getpointintarg(v, a) getargs(v, "((ii)i)", a, a+1, a+2)
 | 
				
			||||||
 | 
					#define getpointstrarg(v, a, b) getargs(v, "((ii)s)", a, a+1, b)
 | 
				
			||||||
 | 
					#define getrectpointarg(v, a) getargs(v, "(((ii)(ii))(ii))", \
 | 
				
			||||||
 | 
									a, a+1, a+2, a+3, a+4, a+5)
 | 
				
			||||||
 | 
					#define getdoublearg(v, a) getargs(v, "d", a)
 | 
				
			||||||
 | 
					#define get2doublearg(v, a, b) getargs(v, "(dd)", a, b)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue