summaryrefslogtreecommitdiff
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;
       }