@@ -1427,14 +1427,9 @@ static int producer_conf_set_special (Handle *self, rd_kafka_conf_t *conf,
1427
1427
* providing the same functionality from dr_msg_cb trampoline.
1428
1428
*/
1429
1429
1430
- if (!PyBool_Check (valobj )) {
1431
- cfl_PyErr_Format (
1432
- RD_KAFKA_RESP_ERR__INVALID_ARG ,
1433
- "%s requires bool" , name );
1430
+ if (!cfl_PyBool_get (valobj , name ,
1431
+ & self -> u .Producer .dr_only_error ))
1434
1432
return -1 ;
1435
- }
1436
-
1437
- self -> u .Producer .dr_only_error = valobj == Py_True ;
1438
1433
1439
1434
return 1 ;
1440
1435
}
@@ -1831,20 +1826,30 @@ PyObject *cfl_PyObject_lookup (const char *modulename, const char *typename) {
1831
1826
1832
1827
1833
1828
void cfl_PyDict_SetString (PyObject * dict , const char * name , const char * val ) {
1834
- PyDict_SetItemString (dict , name , cfl_PyUnistr (_FromString (val )));
1829
+ PyObject * vo = cfl_PyUnistr (_FromString (val ));
1830
+ PyDict_SetItemString (dict , name , vo );
1831
+ Py_DECREF (vo );
1835
1832
}
1836
1833
1837
1834
void cfl_PyDict_SetInt (PyObject * dict , const char * name , int val ) {
1838
- PyDict_SetItemString (dict , name , PyLong_FromLong ((long )val ));
1835
+ PyObject * vo = cfl_PyInt_FromInt (val );
1836
+ PyDict_SetItemString (dict , name , vo );
1837
+ Py_DECREF (vo );
1839
1838
}
1840
1839
1841
1840
1842
1841
int cfl_PyObject_SetString (PyObject * o , const char * name , const char * val ) {
1843
- return PyObject_SetAttrString (o , name , cfl_PyUnistr (_FromString (val )));
1842
+ PyObject * vo = cfl_PyUnistr (_FromString (val ));
1843
+ int r = PyObject_SetAttrString (o , name , vo );
1844
+ Py_DECREF (vo );
1845
+ return r ;
1844
1846
}
1845
1847
1846
- int cfl_PyObject_SetLong (PyObject * o , const char * name , long val ) {
1847
- return PyObject_SetAttrString (o , name , PyLong_FromLong (val ));
1848
+ int cfl_PyObject_SetInt (PyObject * o , const char * name , int val ) {
1849
+ PyObject * vo = cfl_PyInt_FromInt (val );
1850
+ int r = PyObject_SetAttrString (o , name , vo );
1851
+ Py_DECREF (vo );
1852
+ return r ;
1848
1853
}
1849
1854
1850
1855
0 commit comments