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