Skip to content

Commit 527e714

Browse files
pilkibunjreback
pilkibun
authored andcommitted
Fix build warnings (#27157)
1 parent 6c65879 commit 527e714

8 files changed

+17
-16
lines changed

pandas/_libs/groupby.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ def group_shift_indexer(int64_t[:] out, const int64_t[:] labels,
260260
int ngroups, int periods):
261261
cdef:
262262
Py_ssize_t N, i, j, ii
263-
int offset, sign
263+
int offset = 0, sign
264264
int64_t lab, idxer, idxer_slot
265265
int64_t[:] label_seen = np.zeros(ngroups, dtype=np.int64)
266266
int64_t[:, :] label_indexer

pandas/_libs/hashtable.pxd

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ cdef class StringHashTable(HashTable):
4141

4242
cdef struct Int64VectorData:
4343
int64_t *data
44-
size_t n, m
44+
Py_ssize_t n, m
4545

4646
cdef class Int64Vector:
4747
cdef Int64VectorData *data

pandas/_libs/hashtable.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ cdef int64_t NPY_NAT = util.get_nat()
4444
_SIZE_HINT_LIMIT = (1 << 20) + 7
4545

4646

47-
cdef size_t _INIT_VEC_CAP = 128
47+
cdef Py_ssize_t _INIT_VEC_CAP = 128
4848

4949
include "hashtable_class_helper.pxi"
5050
include "hashtable_func_helper.pxi"

pandas/_libs/hashtable_class_helper.pxi.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ cdef class StringHashTable(HashTable):
659659
int64_t[:] locs = np.empty(n, dtype=np.int64)
660660

661661
# these by-definition *must* be strings
662-
vecs = <char **>malloc(n * sizeof(char *))
662+
vecs = <const char **>malloc(n * sizeof(char *))
663663
for i in range(n):
664664
val = values[i]
665665

pandas/_libs/hashtable_func_helper.pxi.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ def ismember_{{dtype}}({{scalar}}[:] arr, {{scalar}}[:] values):
241241

242242
# construct the table
243243
n = len(values)
244-
kh_resize_{{ttype}}(table, min(n, len(values)))
244+
kh_resize_{{ttype}}(table, n)
245245

246246
{{if dtype == 'object'}}
247247
for i in range(n):

pandas/_libs/index.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -352,10 +352,10 @@ cdef class IndexEngine:
352352

353353
cdef Py_ssize_t _bin_search(ndarray values, object val) except -1:
354354
cdef:
355-
Py_ssize_t mid, lo = 0, hi = len(values) - 1
355+
Py_ssize_t mid = 0, lo = 0, hi = len(values) - 1
356356
object pval
357357

358-
if hi >= 0 and val > util.get_value_at(values, hi):
358+
if hi == 0 or (hi > 0 and val > util.get_value_at(values, hi)):
359359
return len(values)
360360

361361
while lo < hi:

pandas/_libs/lib.pyx

+4-4
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ def maybe_indices_to_slice(ndarray[int64_t] indices, int max_len):
480480
def maybe_booleans_to_slice(ndarray[uint8_t] mask):
481481
cdef:
482482
Py_ssize_t i, n = len(mask)
483-
Py_ssize_t start, end
483+
Py_ssize_t start = 0, end = 0
484484
bint started = 0, finished = 0
485485

486486
for i in range(n):
@@ -1634,7 +1634,7 @@ def is_datetime_with_singletz_array(values: ndarray) -> bool:
16341634
Doesn't check values are datetime-like types.
16351635
"""
16361636
cdef:
1637-
Py_ssize_t i, j, n = len(values)
1637+
Py_ssize_t i = 0, j, n = len(values)
16381638
object base_val, base_tz, val, tz
16391639

16401640
if n == 0:
@@ -1916,8 +1916,8 @@ def maybe_convert_objects(ndarray[object] objects, bint try_float=0,
19161916
ndarray[int64_t] ints
19171917
ndarray[uint64_t] uints
19181918
ndarray[uint8_t] bools
1919-
ndarray[int64_t] idatetimes
1920-
ndarray[int64_t] itimedeltas
1919+
int64_t[:] idatetimes
1920+
int64_t[:] itimedeltas
19211921
Seen seen = Seen()
19221922
object val
19231923
float64_t fval, fnan

pandas/_libs/src/parser/tokenizer.c

+6-5
Original file line numberDiff line numberDiff line change
@@ -424,13 +424,13 @@ static void append_warning(parser_t *self, const char *msg) {
424424

425425
if (self->warn_msg == NULL) {
426426
self->warn_msg = (char *)malloc(length + 1);
427-
strncpy(self->warn_msg, msg, strlen(msg) + 1);
427+
snprintf(self->warn_msg, length + 1, "%s", msg);
428428
} else {
429429
ex_length = strlen(self->warn_msg);
430430
newptr = safe_realloc(self->warn_msg, ex_length + length + 1);
431431
if (newptr != NULL) {
432432
self->warn_msg = (char *)newptr;
433-
strncpy(self->warn_msg + ex_length, msg, strlen(msg) + 1);
433+
snprintf(self->warn_msg + ex_length, length + 1, "%s", msg);
434434
}
435435
}
436436
}
@@ -1433,13 +1433,14 @@ PANDAS_INLINE void uppercase(char *p) {
14331433
int to_boolean(const char *item, uint8_t *val) {
14341434
char *tmp;
14351435
int i, status = 0;
1436-
int bufsize = sizeof(char) * (strlen(item) + 1);
1436+
size_t length0 = (strlen(item) + 1);
1437+
int bufsize = length0;
14371438

14381439
static const char *tstrs[1] = {"TRUE"};
14391440
static const char *fstrs[1] = {"FALSE"};
14401441

14411442
tmp = malloc(bufsize);
1442-
strncpy(tmp, item, bufsize);
1443+
snprintf(tmp, length0, "%s", item);
14431444
uppercase(tmp);
14441445

14451446
for (i = 0; i < 1; ++i) {
@@ -1815,7 +1816,7 @@ double round_trip(const char *p, char **q, char decimal, char sci, char tsep,
18151816
double r = PyOS_string_to_double(p, q, 0);
18161817
if (maybe_int != NULL) *maybe_int = 0;
18171818
if (PyErr_Occurred() != NULL) *error = -1;
1818-
else if (r == Py_HUGE_VAL) *error = Py_HUGE_VAL;
1819+
else if (r == Py_HUGE_VAL) *error = (int)Py_HUGE_VAL;
18191820
PyErr_Clear();
18201821
return r;
18211822
}

0 commit comments

Comments
 (0)