74 lines
2.2 KiB
Diff
74 lines
2.2 KiB
Diff
--- gmpy2-2.1.5.orig/src/gmpy2_cache.c 2022-09-24 07:12:17.000000000 +0300
|
|
+++ gmpy2-2.1.5/src/gmpy2_cache.c 2023-09-05 17:15:05.035841008 +0300
|
|
@@ -537,19 +537,17 @@
|
|
|
|
if (global.in_gmpympfrcache) {
|
|
result = global.gmpympfrcache[--(global.in_gmpympfrcache)];
|
|
- /* Py_INCREF does not set the debugging pointers, so need to use
|
|
- _Py_NewReference instead. */
|
|
- _Py_NewReference((PyObject*)result);
|
|
- mpfr_set_prec(result->f, bits);
|
|
+ Py_INCREF((PyObject*)result);
|
|
}
|
|
else {
|
|
- if (!(result = PyObject_New(MPFR_Object, &MPFR_Type))) {
|
|
+ result = PyObject_New(MPFR_Object, &MPFR_Type);
|
|
+ if (result == NULL) {
|
|
/* LCOV_EXCL_START */
|
|
return NULL;
|
|
/* LCOV_EXCL_STOP */
|
|
}
|
|
- mpfr_init2(result->f, bits);
|
|
}
|
|
+ mpfr_init2(result->f, bits);
|
|
result->hash_cache = -1;
|
|
result->rc = 0;
|
|
return result;
|
|
@@ -704,7 +702,7 @@
|
|
static MPC_Object *
|
|
GMPy_MPC_New(mpfr_prec_t rprec, mpfr_prec_t iprec, CTXT_Object *context)
|
|
{
|
|
- MPC_Object *self;
|
|
+ MPC_Object *result;
|
|
|
|
if (rprec < 2) {
|
|
CHECK_CONTEXT(context);
|
|
@@ -722,29 +720,21 @@
|
|
return NULL;
|
|
}
|
|
if (global.in_gmpympccache) {
|
|
- self = global.gmpympccache[--(global.in_gmpympccache)];
|
|
- /* Py_INCREF does not set the debugging pointers, so need to use
|
|
- _Py_NewReference instead. */
|
|
- _Py_NewReference((PyObject*)self);
|
|
- if (rprec == iprec) {
|
|
- mpc_set_prec(self->c, rprec);
|
|
- }
|
|
- else {
|
|
- mpc_clear(self->c);
|
|
- mpc_init3(self->c, rprec, iprec);
|
|
- }
|
|
+ result = global.gmpympccache[--(global.in_gmpympccache)];
|
|
+ Py_INCREF((PyObject*)result);
|
|
}
|
|
else {
|
|
- if (!(self = PyObject_New(MPC_Object, &MPC_Type))) {
|
|
+ result = PyObject_New(MPC_Object, &MPC_Type);
|
|
+ if (result == NULL) {
|
|
/* LCOV_EXCL_START */
|
|
return NULL;
|
|
/* LCOV_EXCL_STOP */
|
|
}
|
|
- mpc_init3(self->c, rprec, iprec);
|
|
}
|
|
- self->hash_cache = -1;
|
|
- self->rc = 0;
|
|
- return self;
|
|
+ mpc_init3(result->c, rprec, iprec);
|
|
+ result->hash_cache = -1;
|
|
+ result->rc = 0;
|
|
+ return result;
|
|
}
|
|
|
|
static PyObject *
|