blob: d681f31ae850f8086287afd618f4e661d25687ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
diff -ur bubbros-1.5.orig/bubbob/statesaver.c bubbros-1.5/bubbob/statesaver.c
--- bubbros-1.5.orig/bubbob/statesaver.c 2007-09-08 17:43:14.000000000 +0200
+++ bubbros-1.5/bubbob/statesaver.c 2007-09-08 17:43:14.000000000 +0200
@@ -75,7 +75,7 @@
Py_INCREF(g); /* exhausted -- can return 'g' itself */
return g;
}
- if (f->f_nfreevars || f->f_ncells) {
+ if (PySequence_Length(co->co_freevars) || PySequence_Length(co->co_cellvars)) {
PyErr_SetString(PyExc_ValueError, "generator has cell or free vars");
goto error;
}
@@ -112,6 +112,8 @@
PyFrameObject* f = NULL;
PyFrameObject* f2 = NULL;
PyCodeObject* co;
+ PyCodeObject* code;
+ PyCodeObject* code2;
int i, res;
if (g != g2)
@@ -141,9 +143,9 @@
Py_DECREF(x);
goto error;
}
- f2 = (PyFrameObject*) x;
- if (f2->f_stacksize != f->f_stacksize) {
+ code2 = (PyFrameObject*) x;
+ if (code2->co_stacksize != code->co_stacksize) {
PyErr_SetString(PyExc_TypeError, "stack size mismatch");
goto error;
}
|