#include "Python.h"#include "asdl.h"asdl_seq *asdl_seq_new(int size, PyArena *arena){asdl_seq *seq = NULL;size_t n = (size ? (sizeof(void *) * (size - 1)) : 0);/* check size is sane */if (size < 0 || size == INT_MIN ||(size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {PyErr_NoMemory();return NULL;}/* check if size can be added safely */if (n > PY_SIZE_MAX - sizeof(asdl_seq)) {PyErr_NoMemory();return NULL;}n += sizeof(asdl_seq);seq = (asdl_seq *)PyArena_Malloc(arena, n);if (!seq) {PyErr_NoMemory();return NULL;}memset(seq, 0, n);seq->size = size;return seq;}asdl_int_seq *asdl_int_seq_new(int size, PyArena *arena){asdl_int_seq *seq = NULL;size_t n = (size ? (sizeof(void *) * (size - 1)) : 0);/* check size is sane */if (size < 0 || size == INT_MIN ||(size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {PyErr_NoMemory();return NULL;}/* check if size can be added safely */if (n > PY_SIZE_MAX - sizeof(asdl_seq)) {PyErr_NoMemory();return NULL;}n += sizeof(asdl_seq);seq = (asdl_int_seq *)PyArena_Malloc(arena, n);if (!seq) {PyErr_NoMemory();return NULL;}memset(seq, 0, n);seq->size = size;return seq;}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。