source: vendor/python/2.5/Python/asdl.c

Last change on this file was 3225, checked in by bird, 18 years ago

Python 2.5

File size: 661 bytes
Line 
1#include "Python.h"
2#include "asdl.h"
3
4asdl_seq *
5asdl_seq_new(int size, PyArena *arena)
6{
7 asdl_seq *seq = NULL;
8 size_t n = sizeof(asdl_seq) +
9 (size ? (sizeof(void *) * (size - 1)) : 0);
10
11 seq = (asdl_seq *)PyArena_Malloc(arena, n);
12 if (!seq) {
13 PyErr_NoMemory();
14 return NULL;
15 }
16 memset(seq, 0, n);
17 seq->size = size;
18 return seq;
19}
20
21asdl_int_seq *
22asdl_int_seq_new(int size, PyArena *arena)
23{
24 asdl_int_seq *seq = NULL;
25 size_t n = sizeof(asdl_seq) +
26 (size ? (sizeof(int) * (size - 1)) : 0);
27
28 seq = (asdl_int_seq *)PyArena_Malloc(arena, n);
29 if (!seq) {
30 PyErr_NoMemory();
31 return NULL;
32 }
33 memset(seq, 0, n);
34 seq->size = size;
35 return seq;
36}
Note: See TracBrowser for help on using the repository browser.