summaryrefslogtreecommitdiffstats
path: root/Objects/codeobject.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2021-10-04 11:11:26 (GMT)
committerGitHub <noreply@github.com>2021-10-04 11:11:26 (GMT)
commit252b7bcb236dc261f3af1275bc90f9a303d9648f (patch)
treee259c0287bf2b02f7998d5ec9ae00a1c80d79af1 /Objects/codeobject.c
parent9be930f9b169fb3d92693670ae069df902709b83 (diff)
downloadcpython-252b7bcb236dc261f3af1275bc90f9a303d9648f.zip
cpython-252b7bcb236dc261f3af1275bc90f9a303d9648f.tar.gz
cpython-252b7bcb236dc261f3af1275bc90f9a303d9648f.tar.bz2
bpo-45355: More use of sizeof(_Py_CODEUNIT) (GH-28720)
Diffstat (limited to 'Objects/codeobject.c')
-rw-r--r--Objects/codeobject.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/Objects/codeobject.c b/Objects/codeobject.c
index ad8f13a..8de5c4d 100644
--- a/Objects/codeobject.c
+++ b/Objects/codeobject.c
@@ -656,15 +656,13 @@ _PyCode_Addr2Offset(PyCodeObject* co, int addrq)
if (co->co_columntable == Py_None || addrq < 0) {
return -1;
}
- if (addrq % 2 == 1) {
- --addrq;
- }
- if (addrq >= PyBytes_GET_SIZE(co->co_columntable)) {
+ addrq /= sizeof(_Py_CODEUNIT);
+ if (addrq*2 >= PyBytes_GET_SIZE(co->co_columntable)) {
return -1;
}
unsigned char* bytes = (unsigned char*)PyBytes_AS_STRING(co->co_columntable);
- return bytes[addrq] - 1;
+ return bytes[addrq*2] - 1;
}
int
@@ -673,15 +671,13 @@ _PyCode_Addr2EndOffset(PyCodeObject* co, int addrq)
if (co->co_columntable == Py_None || addrq < 0) {
return -1;
}
- if (addrq % 2 == 0) {
- ++addrq;
- }
- if (addrq >= PyBytes_GET_SIZE(co->co_columntable)) {
+ addrq /= sizeof(_Py_CODEUNIT);
+ if (addrq*2+1 >= PyBytes_GET_SIZE(co->co_columntable)) {
return -1;
}
unsigned char* bytes = (unsigned char*)PyBytes_AS_STRING(co->co_columntable);
- return bytes[addrq] - 1;
+ return bytes[addrq*2+1] - 1;
}
void