+++ /dev/null
-#include "Python.h"\r
-#include "asdl.h"\r
-\r
-asdl_seq *\r
-asdl_seq_new(int size, PyArena *arena)\r
-{\r
- asdl_seq *seq = NULL;\r
- size_t n = (size ? (sizeof(void *) * (size - 1)) : 0);\r
-\r
- /* check size is sane */\r
- if (size < 0 || size == INT_MIN ||\r
- (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {\r
- PyErr_NoMemory();\r
- return NULL;\r
- }\r
-\r
- /* check if size can be added safely */\r
- if (n > PY_SIZE_MAX - sizeof(asdl_seq)) {\r
- PyErr_NoMemory();\r
- return NULL;\r
- }\r
-\r
- n += sizeof(asdl_seq);\r
-\r
- seq = (asdl_seq *)PyArena_Malloc(arena, n);\r
- if (!seq) {\r
- PyErr_NoMemory();\r
- return NULL;\r
- }\r
- memset(seq, 0, n);\r
- seq->size = size;\r
- return seq;\r
-}\r
-\r
-asdl_int_seq *\r
-asdl_int_seq_new(int size, PyArena *arena)\r
-{\r
- asdl_int_seq *seq = NULL;\r
- size_t n = (size ? (sizeof(void *) * (size - 1)) : 0);\r
-\r
- /* check size is sane */\r
- if (size < 0 || size == INT_MIN ||\r
- (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {\r
- PyErr_NoMemory();\r
- return NULL;\r
- }\r
-\r
- /* check if size can be added safely */\r
- if (n > PY_SIZE_MAX - sizeof(asdl_seq)) {\r
- PyErr_NoMemory();\r
- return NULL;\r
- }\r
-\r
- n += sizeof(asdl_seq);\r
-\r
- seq = (asdl_int_seq *)PyArena_Malloc(arena, n);\r
- if (!seq) {\r
- PyErr_NoMemory();\r
- return NULL;\r
- }\r
- memset(seq, 0, n);\r
- seq->size = size;\r
- return seq;\r
-}\r