summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coverage/ctracer/tracer.c2
-rw-r--r--coverage/ctracer/util.h8
2 files changed, 5 insertions, 5 deletions
diff --git a/coverage/ctracer/tracer.c b/coverage/ctracer/tracer.c
index 8b8953aa..4227e7da 100644
--- a/coverage/ctracer/tracer.c
+++ b/coverage/ctracer/tracer.c
@@ -523,7 +523,7 @@ CTracer_handle_call(CTracer *self, PyFrameObject *frame)
* re-entering a generator also. f_lasti is -1 for a true call, and a
* real byte offset for a generator re-entry.
*/
- if (frame->f_lasti < 0) {
+ if (MyFrame_lasti(frame) < 0) {
self->pcur_entry->last_line = -MyFrame_GetCode(frame)->co_firstlineno;
}
else {
diff --git a/coverage/ctracer/util.h b/coverage/ctracer/util.h
index 413433d7..ff139329 100644
--- a/coverage/ctracer/util.h
+++ b/coverage/ctracer/util.h
@@ -15,17 +15,17 @@
// The f_lasti field changed meaning in 3.10.0a7. It had been bytes, but
// now is instructions, so we need to adjust it to use it as a byte index.
#if PY_VERSION_HEX >= 0x030A00A7
-#define MyFrame_lasti(f) (f->f_lasti * 2)
+#define MyFrame_lasti(f) ((f)->f_lasti * 2)
#else
-#define MyFrame_lasti(f) f->f_lasti
-#endif // 3.10.0a7
+#define MyFrame_lasti(f) ((f)->f_lasti)
+#endif
// Access f_code should be done through a helper starting in 3.9.
#if PY_VERSION_HEX >= 0x03090000
#define MyFrame_GetCode(f) (PyFrame_GetCode(f))
#else
#define MyFrame_GetCode(f) ((f)->f_code)
-#endif // 3.11
+#endif
/* The values returned to indicate ok or error. */
#define RET_OK 0