chiark
/
gitweb
/
~mdw
/
pyke
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pyke/pyke-mLib.c: Raise `OverflowError' on out-of-range inputs.
[pyke]
/
pyke-mLib.c
diff --git
a/pyke-mLib.c
b/pyke-mLib.c
index 30f6735e8a9c63bf24c9a8dffac04f49763d0e0f..900dc41524a5fe884b41466db32f8228b0c6c597 100644
(file)
--- a/
pyke-mLib.c
+++ b/
pyke-mLib.c
@@
-70,7
+70,7
@@
end:
uint64 t; \
if (!convk64(o, &k)) goto end; \
t = GET64(uint64, k); \
uint64 t; \
if (!convk64(o, &k)) goto end; \
t = GET64(uint64, k); \
- if (t > MASK##n)
VAL
ERR("out of range"); \
+ if (t > MASK##n)
OVF
ERR("out of range"); \
*p = t; \
} while (0)
#else
*p = t; \
} while (0)
#else
@@
-87,7
+87,7
@@
end:
CONVu64(n); \
else { \
if (!convulong(o, &u)) goto end; \
CONVu64(n); \
else { \
if (!convulong(o, &u)) goto end; \
- if (u > MASK##n)
VAL
ERR("out of range"); \
+ if (u > MASK##n)
OVF
ERR("out of range"); \
*p = u; \
} \
return (1); \
*p = u; \
} \
return (1); \
@@
-121,7
+121,7
@@
int convk64(PyObject *o, void *pp)
hi = PyInt_AsUnsignedLongMask(i);
if ((t = PyNumber_InPlaceRshift(i, i32)) == 0) goto end;
Py_DECREF(i); i = t;
hi = PyInt_AsUnsignedLongMask(i);
if ((t = PyNumber_InPlaceRshift(i, i32)) == 0) goto end;
Py_DECREF(i); i = t;
- if (PyObject_IsTrue(i))
VAL
ERR("out of range");
+ if (PyObject_IsTrue(i))
OVF
ERR("out of range");
SET64(*(kludge64 *)pp, hi, lo);
#endif
rc = 1;
SET64(*(kludge64 *)pp, hi, lo);
#endif
rc = 1;