mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
	
	
		
			34 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #define NULLABLE(x) do {                    \
 | ||
|  |         if (x == Py_None) {                 \ | ||
|  |             x = NULL;                       \ | ||
|  |         }                                   \ | ||
|  |     } while (0); | ||
|  | 
 | ||
|  | #define RETURN_INT(value) do {              \
 | ||
|  |         int _ret = (value);                 \ | ||
|  |         if (_ret == -1) {                   \ | ||
|  |             assert(PyErr_Occurred());       \ | ||
|  |             return NULL;                    \ | ||
|  |         }                                   \ | ||
|  |         assert(!PyErr_Occurred());          \ | ||
|  |         return PyLong_FromLong(_ret);       \ | ||
|  |     } while (0) | ||
|  | 
 | ||
|  | #define RETURN_SIZE(value) do {             \
 | ||
|  |         Py_ssize_t _ret = (value);          \ | ||
|  |         if (_ret == -1) {                   \ | ||
|  |             assert(PyErr_Occurred());       \ | ||
|  |             return NULL;                    \ | ||
|  |         }                                   \ | ||
|  |         assert(!PyErr_Occurred());          \ | ||
|  |         return PyLong_FromSsize_t(_ret);    \ | ||
|  |     } while (0) | ||
|  | 
 | ||
|  | /* Marker to check that pointer value was set. */ | ||
|  | static const char uninitialized[] = "uninitialized"; | ||
|  | #define UNINITIALIZED_PTR ((void *)uninitialized)
 | ||
|  | /* Marker to check that Py_ssize_t value was set. */ | ||
|  | #define UNINITIALIZED_SIZE ((Py_ssize_t)236892191)
 | ||
|  | /* Marker to check that integer value was set. */ | ||
|  | #define UNINITIALIZED_INT (63256717)
 |