@@ -33,35 +33,35 @@ _get_current(void)
33
33
}
34
34
35
35
static int64_t
36
- _coerce_id (PyObject * id )
36
+ _coerce_id (PyObject * orig )
37
37
{
38
- id = PyNumber_Long (id );
39
- if (id == NULL ) {
38
+ PyObject * pyid = PyNumber_Long (orig );
39
+ if (pyid == NULL ) {
40
40
if (PyErr_ExceptionMatches (PyExc_TypeError )) {
41
- PyErr_SetString (PyExc_TypeError ,
42
- "'id' must be a non-negative int" );
41
+ PyErr_Format (PyExc_TypeError ,
42
+ "'id' must be a non-negative int, got %R" , orig );
43
43
}
44
44
else {
45
- PyErr_SetString (PyExc_ValueError ,
46
- "'id' must be a non-negative int" );
45
+ PyErr_Format (PyExc_ValueError ,
46
+ "'id' must be a non-negative int, got %R" , orig );
47
47
}
48
48
return -1 ;
49
49
}
50
- int64_t cid = PyLong_AsLongLong (id );
51
- Py_DECREF (id );
52
- if (cid == -1 && PyErr_Occurred () != NULL ) {
50
+ int64_t id = PyLong_AsLongLong (pyid );
51
+ Py_DECREF (pyid );
52
+ if (id == -1 && PyErr_Occurred () != NULL ) {
53
53
if (!PyErr_ExceptionMatches (PyExc_OverflowError )) {
54
- PyErr_SetString (PyExc_ValueError ,
55
- "'id' must be a non-negative int" );
54
+ PyErr_Format (PyExc_ValueError ,
55
+ "'id' must be a non-negative int, got %R" , orig );
56
56
}
57
57
return -1 ;
58
58
}
59
- if (cid < 0 ) {
60
- PyErr_SetString (PyExc_ValueError ,
61
- "'id' must be a non-negative int" );
59
+ if (id < 0 ) {
60
+ PyErr_Format (PyExc_ValueError ,
61
+ "'id' must be a non-negative int, got %R" , orig );
62
62
return -1 ;
63
63
}
64
- return cid ;
64
+ return id ;
65
65
}
66
66
67
67
@@ -1000,11 +1000,11 @@ _channels_lookup(_channels *channels, int64_t id, PyThread_type_lock *pmutex)
1000
1000
1001
1001
_channelref * ref = _channelref_find (channels -> head , id , NULL );
1002
1002
if (ref == NULL ) {
1003
- PyErr_Format (ChannelNotFoundError , "channel %d not found" , id );
1003
+ PyErr_Format (ChannelNotFoundError , "channel %lld not found" , id );
1004
1004
goto done ;
1005
1005
}
1006
1006
if (ref -> chan == NULL || !ref -> chan -> open ) {
1007
- PyErr_Format (ChannelClosedError , "channel %d closed" , id );
1007
+ PyErr_Format (ChannelClosedError , "channel %lld closed" , id );
1008
1008
goto done ;
1009
1009
}
1010
1010
@@ -1064,24 +1064,25 @@ _channels_close(_channels *channels, int64_t cid, _PyChannelState **pchan,
1064
1064
1065
1065
_channelref * ref = _channelref_find (channels -> head , cid , NULL );
1066
1066
if (ref == NULL ) {
1067
- PyErr_Format (ChannelNotFoundError , "channel %d not found" , cid );
1067
+ PyErr_Format (ChannelNotFoundError , "channel %lld not found" , cid );
1068
1068
goto done ;
1069
1069
}
1070
1070
1071
1071
if (ref -> chan == NULL ) {
1072
- PyErr_Format (ChannelClosedError , "channel %d closed" , cid );
1072
+ PyErr_Format (ChannelClosedError , "channel %lld closed" , cid );
1073
1073
goto done ;
1074
1074
}
1075
1075
else if (!force && end == CHANNEL_SEND && ref -> chan -> closing != NULL ) {
1076
- PyErr_Format (ChannelClosedError , "channel %d closed" , cid );
1076
+ PyErr_Format (ChannelClosedError , "channel %lld closed" , cid );
1077
1077
goto done ;
1078
1078
}
1079
1079
else {
1080
1080
if (_channel_close_all (ref -> chan , end , force ) != 0 ) {
1081
1081
if (end == CHANNEL_SEND &&
1082
1082
PyErr_ExceptionMatches (ChannelNotEmptyError )) {
1083
1083
if (ref -> chan -> closing != NULL ) {
1084
- PyErr_Format (ChannelClosedError , "channel %d closed" , cid );
1084
+ PyErr_Format (ChannelClosedError ,
1085
+ "channel %lld closed" , cid );
1085
1086
goto done ;
1086
1087
}
1087
1088
// Mark the channel as closing and return. The channel
@@ -1143,7 +1144,7 @@ _channels_remove(_channels *channels, int64_t id, _PyChannelState **pchan)
1143
1144
_channelref * prev = NULL ;
1144
1145
_channelref * ref = _channelref_find (channels -> head , id , & prev );
1145
1146
if (ref == NULL ) {
1146
- PyErr_Format (ChannelNotFoundError , "channel %d not found" , id );
1147
+ PyErr_Format (ChannelNotFoundError , "channel %lld not found" , id );
1147
1148
goto done ;
1148
1149
}
1149
1150
@@ -1163,7 +1164,7 @@ _channels_add_id_object(_channels *channels, int64_t id)
1163
1164
1164
1165
_channelref * ref = _channelref_find (channels -> head , id , NULL );
1165
1166
if (ref == NULL ) {
1166
- PyErr_Format (ChannelNotFoundError , "channel %d not found" , id );
1167
+ PyErr_Format (ChannelNotFoundError , "channel %lld not found" , id );
1167
1168
goto done ;
1168
1169
}
1169
1170
ref -> objcount += 1 ;
@@ -1327,7 +1328,7 @@ _channel_send(_channels *channels, int64_t id, PyObject *obj)
1327
1328
// Past this point we are responsible for releasing the mutex.
1328
1329
1329
1330
if (chan -> closing != NULL ) {
1330
- PyErr_Format (ChannelClosedError , "channel %d closed" , id );
1331
+ PyErr_Format (ChannelClosedError , "channel %lld closed" , id );
1331
1332
PyThread_release_lock (mutex );
1332
1333
return -1 ;
1333
1334
}
@@ -1376,7 +1377,7 @@ _channel_recv(_channels *channels, int64_t id)
1376
1377
PyThread_release_lock (mutex );
1377
1378
if (data == NULL ) {
1378
1379
if (!PyErr_Occurred ()) {
1379
- PyErr_Format (ChannelEmptyError , "channel %d is empty" , id );
1380
+ PyErr_Format (ChannelEmptyError , "channel %lld is empty" , id );
1380
1381
}
1381
1382
return NULL ;
1382
1383
}
@@ -1526,13 +1527,13 @@ channelid_repr(PyObject *self)
1526
1527
channelid * cid = (channelid * )self ;
1527
1528
const char * fmt ;
1528
1529
if (cid -> end == CHANNEL_SEND ) {
1529
- fmt = "%s(%d , send=True)" ;
1530
+ fmt = "%s(%lld , send=True)" ;
1530
1531
}
1531
1532
else if (cid -> end == CHANNEL_RECV ) {
1532
- fmt = "%s(%d , recv=True)" ;
1533
+ fmt = "%s(%lld , recv=True)" ;
1533
1534
}
1534
1535
else {
1535
- fmt = "%s(%d )" ;
1536
+ fmt = "%s(%lld )" ;
1536
1537
}
1537
1538
return PyUnicode_FromFormat (fmt , name , cid -> id );
1538
1539
}
@@ -1541,7 +1542,7 @@ static PyObject *
1541
1542
channelid_str (PyObject * self )
1542
1543
{
1543
1544
channelid * cid = (channelid * )self ;
1544
- return PyUnicode_FromFormat ("%d " , cid -> id );
1545
+ return PyUnicode_FromFormat ("%lld " , cid -> id );
1545
1546
}
1546
1547
1547
1548
PyObject *
@@ -2046,14 +2047,14 @@ interpid_repr(PyObject *self)
2046
2047
PyTypeObject * type = Py_TYPE (self );
2047
2048
const char * name = _PyType_Name (type );
2048
2049
interpid * id = (interpid * )self ;
2049
- return PyUnicode_FromFormat ("%s(%d )" , name , id -> id );
2050
+ return PyUnicode_FromFormat ("%s(%lld )" , name , id -> id );
2050
2051
}
2051
2052
2052
2053
static PyObject *
2053
2054
interpid_str (PyObject * self )
2054
2055
{
2055
2056
interpid * id = (interpid * )self ;
2056
- return PyUnicode_FromFormat ("%d " , id -> id );
2057
+ return PyUnicode_FromFormat ("%lld " , id -> id );
2057
2058
}
2058
2059
2059
2060
PyObject *
0 commit comments