comparison Python/asdl.c @ 61467:f197407bdba2 3.1

Recorded merge of revisions 81032 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r81032 | antoine.pitrou | 2010-05-09 17:52:27 +0200 (dim., 09 mai 2010) | 9 lines Recorded merge of revisions 81029 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines Untabify C files. Will watch buildbots. ........ ................
author Antoine Pitrou <solipsis@pitrou.net>
date Sun, 09 May 2010 16:14:21 +0000
parents ac854cde3135
children f4d7ad6c9d6e
comparison
equal deleted inserted replaced
61459:f8c19c5f5dd2 61467:f197407bdba2
2 #include "asdl.h" 2 #include "asdl.h"
3 3
4 asdl_seq * 4 asdl_seq *
5 asdl_seq_new(int size, PyArena *arena) 5 asdl_seq_new(int size, PyArena *arena)
6 { 6 {
7 asdl_seq *seq = NULL; 7 asdl_seq *seq = NULL;
8 size_t n = (size ? (sizeof(void *) * (size - 1)) : 0); 8 size_t n = (size ? (sizeof(void *) * (size - 1)) : 0);
9 9
10 /* check size is sane */ 10 /* check size is sane */
11 if (size < 0 || size == INT_MIN || 11 if (size < 0 || size == INT_MIN ||
12 (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) { 12 (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {
13 PyErr_NoMemory(); 13 PyErr_NoMemory();
14 return NULL; 14 return NULL;
15 } 15 }
16 16
17 /* check if size can be added safely */ 17 /* check if size can be added safely */
18 if (n > PY_SIZE_MAX - sizeof(asdl_seq)) { 18 if (n > PY_SIZE_MAX - sizeof(asdl_seq)) {
19 PyErr_NoMemory(); 19 PyErr_NoMemory();
20 return NULL; 20 return NULL;
21 } 21 }
22 22
23 n += sizeof(asdl_seq); 23 n += sizeof(asdl_seq);
24 24
25 seq = (asdl_seq *)PyArena_Malloc(arena, n); 25 seq = (asdl_seq *)PyArena_Malloc(arena, n);
26 if (!seq) { 26 if (!seq) {
27 PyErr_NoMemory(); 27 PyErr_NoMemory();
28 return NULL; 28 return NULL;
29 } 29 }
30 memset(seq, 0, n); 30 memset(seq, 0, n);
31 seq->size = size; 31 seq->size = size;
32 return seq; 32 return seq;
33 } 33 }
34 34
35 asdl_int_seq * 35 asdl_int_seq *
36 asdl_int_seq_new(int size, PyArena *arena) 36 asdl_int_seq_new(int size, PyArena *arena)
37 { 37 {
38 asdl_int_seq *seq = NULL; 38 asdl_int_seq *seq = NULL;
39 size_t n = (size ? (sizeof(void *) * (size - 1)) : 0); 39 size_t n = (size ? (sizeof(void *) * (size - 1)) : 0);
40 40
41 /* check size is sane */ 41 /* check size is sane */
42 if (size < 0 || size == INT_MIN || 42 if (size < 0 || size == INT_MIN ||
43 (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) { 43 (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {
44 PyErr_NoMemory(); 44 PyErr_NoMemory();
45 return NULL; 45 return NULL;
46 } 46 }
47 47
48 /* check if size can be added safely */ 48 /* check if size can be added safely */
49 if (n > PY_SIZE_MAX - sizeof(asdl_seq)) { 49 if (n > PY_SIZE_MAX - sizeof(asdl_seq)) {
50 PyErr_NoMemory(); 50 PyErr_NoMemory();
51 return NULL; 51 return NULL;
52 } 52 }
53 53
54 n += sizeof(asdl_seq); 54 n += sizeof(asdl_seq);
55 55
56 seq = (asdl_int_seq *)PyArena_Malloc(arena, n); 56 seq = (asdl_int_seq *)PyArena_Malloc(arena, n);
57 if (!seq) { 57 if (!seq) {
58 PyErr_NoMemory(); 58 PyErr_NoMemory();
59 return NULL; 59 return NULL;
60 } 60 }
61 memset(seq, 0, n); 61 memset(seq, 0, n);
62 seq->size = size; 62 seq->size = size;
63 return seq; 63 return seq;
64 } 64 }