@@ -36,8 +36,8 @@ typedef struct {
36
36
PyObject * key ;
37
37
PyObject * file_repr ;
38
38
PyObject * weakreflist ;
39
- unsigned int num_transitions ;
40
- unsigned int num_ttinfos ;
39
+ size_t num_transitions ;
40
+ size_t num_ttinfos ;
41
41
int64_t * trans_list_utc ;
42
42
int64_t * trans_list_wall [2 ];
43
43
_ttinfo * * trans_ttinfos ; // References to the ttinfo for each transition
@@ -900,15 +900,15 @@ load_data(PyZoneInfo_ZoneInfo *self, PyObject *file_obj)
900
900
goto error ;
901
901
}
902
902
903
- self -> num_transitions = ( size_t ) num_transitions ;
904
- self -> num_ttinfos = ( size_t ) num_ttinfos ;
903
+ self -> num_transitions = num_transitions ;
904
+ self -> num_ttinfos = num_ttinfos ;
905
905
906
906
// Load the transition indices and list
907
907
self -> trans_list_utc =
908
908
PyMem_Malloc (self -> num_transitions * sizeof (int64_t ));
909
909
trans_idx = PyMem_Malloc (self -> num_transitions * sizeof (Py_ssize_t ));
910
910
911
- for (Py_ssize_t i = 0 ; i < self -> num_transitions ; ++ i ) {
911
+ for (size_t i = 0 ; i < self -> num_transitions ; ++ i ) {
912
912
PyObject * num = PyTuple_GetItem (trans_utc , i );
913
913
if (num == NULL ) {
914
914
goto error ;
@@ -946,7 +946,7 @@ load_data(PyZoneInfo_ZoneInfo *self, PyObject *file_obj)
946
946
if (utcoff == NULL || isdst == NULL ) {
947
947
goto error ;
948
948
}
949
- for (Py_ssize_t i = 0 ; i < self -> num_ttinfos ; ++ i ) {
949
+ for (size_t i = 0 ; i < self -> num_ttinfos ; ++ i ) {
950
950
PyObject * num = PyTuple_GetItem (utcoff_list , i );
951
951
if (num == NULL ) {
952
952
goto error ;
@@ -1737,13 +1737,13 @@ parse_transition_rule(const char *const p, TransitionRuleType **out)
1737
1737
// 3. Mm.n.d: Specifying by month, week and day-of-week.
1738
1738
1739
1739
if (* ptr == 'M' ) {
1740
- uint8_t month , week , day ;
1740
+ ssize_t month , week , day ;
1741
1741
ptr ++ ;
1742
1742
ssize_t tmp = parse_uint (ptr );
1743
1743
if (tmp < 0 ) {
1744
1744
return -1 ;
1745
1745
}
1746
- month = ( uint8_t ) tmp ;
1746
+ month = tmp ;
1747
1747
ptr ++ ;
1748
1748
if (* ptr != '.' ) {
1749
1749
tmp = parse_uint (ptr );
@@ -1756,7 +1756,7 @@ parse_transition_rule(const char *const p, TransitionRuleType **out)
1756
1756
ptr ++ ;
1757
1757
}
1758
1758
1759
- uint8_t * values [2 ] = {& week , & day };
1759
+ ssize_t * values [2 ] = {& week , & day };
1760
1760
for (size_t i = 0 ; i < 2 ; ++ i ) {
1761
1761
if (* ptr != '.' ) {
1762
1762
return -1 ;
0 commit comments