Skip to content

Commit fe6d55c

Browse files
authored
Remove unnecessary casts in tokenizer.c (#37792)
1 parent 5c111cb commit fe6d55c

File tree

1 file changed

+38
-43
lines changed

1 file changed

+38
-43
lines changed

pandas/_libs/src/parser/tokenizer.c

+38-43
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ int parser_init(parser_t *self) {
159159
self->warn_msg = NULL;
160160

161161
// token stream
162-
self->stream = (char *)malloc(STREAM_INIT_SIZE * sizeof(char));
162+
self->stream = malloc(STREAM_INIT_SIZE * sizeof(char));
163163
if (self->stream == NULL) {
164164
parser_cleanup(self);
165165
return PARSER_OUT_OF_MEMORY;
@@ -170,16 +170,16 @@ int parser_init(parser_t *self) {
170170
// word pointers and metadata
171171
sz = STREAM_INIT_SIZE / 10;
172172
sz = sz ? sz : 1;
173-
self->words = (char **)malloc(sz * sizeof(char *));
174-
self->word_starts = (int64_t *)malloc(sz * sizeof(int64_t));
173+
self->words = malloc(sz * sizeof(char *));
174+
self->word_starts = malloc(sz * sizeof(int64_t));
175175
self->max_words_cap = sz;
176176
self->words_cap = sz;
177177
self->words_len = 0;
178178

179179
// line pointers and metadata
180-
self->line_start = (int64_t *)malloc(sz * sizeof(int64_t));
180+
self->line_start = malloc(sz * sizeof(int64_t));
181181

182-
self->line_fields = (int64_t *)malloc(sz * sizeof(int64_t));
182+
self->line_fields = malloc(sz * sizeof(int64_t));
183183

184184
self->lines_cap = sz;
185185
self->lines = 0;
@@ -345,7 +345,7 @@ static int push_char(parser_t *self, char c) {
345345
"self->stream_cap(%d)\n",
346346
self->stream_len, self->stream_cap))
347347
int64_t bufsize = 100;
348-
self->error_msg = (char *)malloc(bufsize);
348+
self->error_msg = malloc(bufsize);
349349
snprintf(self->error_msg, bufsize,
350350
"Buffer overflow caught - possible malformed input file.\n");
351351
return PARSER_OUT_OF_MEMORY;
@@ -362,7 +362,7 @@ int PANDAS_INLINE end_field(parser_t *self) {
362362
"self->words_cap(%zu)\n",
363363
self->words_len, self->words_cap))
364364
int64_t bufsize = 100;
365-
self->error_msg = (char *)malloc(bufsize);
365+
self->error_msg = malloc(bufsize);
366366
snprintf(self->error_msg, bufsize,
367367
"Buffer overflow caught - possible malformed input file.\n");
368368
return PARSER_OUT_OF_MEMORY;
@@ -398,7 +398,7 @@ static void append_warning(parser_t *self, const char *msg) {
398398
void *newptr;
399399

400400
if (self->warn_msg == NULL) {
401-
self->warn_msg = (char *)malloc(length + 1);
401+
self->warn_msg = malloc(length + 1);
402402
snprintf(self->warn_msg, length + 1, "%s", msg);
403403
} else {
404404
ex_length = strlen(self->warn_msg);
@@ -459,10 +459,10 @@ static int end_line(parser_t *self) {
459459

460460
// file_lines is now the actual file line number (starting at 1)
461461
if (self->error_bad_lines) {
462-
self->error_msg = (char *)malloc(bufsize);
462+
self->error_msg = malloc(bufsize);
463463
snprintf(self->error_msg, bufsize,
464-
"Expected %d fields in line %lld, saw %lld\n",
465-
ex_fields, (long long)self->file_lines, (long long)fields);
464+
"Expected %d fields in line %" PRIu64 ", saw %" PRId64 "\n",
465+
ex_fields, self->file_lines, fields);
466466

467467
TRACE(("Error at line %d, %d fields\n", self->file_lines, fields));
468468

@@ -471,11 +471,10 @@ static int end_line(parser_t *self) {
471471
// simply skip bad lines
472472
if (self->warn_bad_lines) {
473473
// pass up error message
474-
msg = (char *)malloc(bufsize);
474+
msg = malloc(bufsize);
475475
snprintf(msg, bufsize,
476-
"Skipping line %lld: expected %d fields, saw %lld\n",
477-
(long long)self->file_lines, ex_fields,
478-
(long long)fields);
476+
"Skipping line %" PRIu64 ": expected %d fields, saw %"
477+
PRId64 "\n", self->file_lines, ex_fields, fields);
479478
append_warning(self, msg);
480479
free(msg);
481480
}
@@ -487,7 +486,7 @@ static int end_line(parser_t *self) {
487486
// might overrun the buffer when closing fields
488487
if (make_stream_space(self, ex_fields - fields) < 0) {
489488
int64_t bufsize = 100;
490-
self->error_msg = (char *)malloc(bufsize);
489+
self->error_msg = malloc(bufsize);
491490
snprintf(self->error_msg, bufsize, "out of memory");
492491
return -1;
493492
}
@@ -508,7 +507,7 @@ static int end_line(parser_t *self) {
508507
"end_line: ERROR!!! self->lines(%zu) >= self->lines_cap(%zu)\n",
509508
self->lines, self->lines_cap))
510509
int64_t bufsize = 100;
511-
self->error_msg = (char *)malloc(bufsize);
510+
self->error_msg = malloc(bufsize);
512511
snprintf(self->error_msg, bufsize,
513512
"Buffer overflow caught - "
514513
"possible malformed input file.\n");
@@ -569,7 +568,7 @@ static int parser_buffer_bytes(parser_t *self, size_t nbytes) {
569568

570569
if (status != REACHED_EOF && self->data == NULL) {
571570
int64_t bufsize = 200;
572-
self->error_msg = (char *)malloc(bufsize);
571+
self->error_msg = malloc(bufsize);
573572

574573
if (status == CALLING_READ_FAILED) {
575574
snprintf(self->error_msg, bufsize,
@@ -600,7 +599,7 @@ static int parser_buffer_bytes(parser_t *self, size_t nbytes) {
600599
TRACE(("PUSH_CHAR: ERROR!!! slen(%d) >= stream_cap(%d)\n", slen, \
601600
self->stream_cap)) \
602601
int64_t bufsize = 100; \
603-
self->error_msg = (char *)malloc(bufsize); \
602+
self->error_msg = malloc(bufsize); \
604603
snprintf(self->error_msg, bufsize, \
605604
"Buffer overflow caught - possible malformed input file.\n");\
606605
return PARSER_OUT_OF_MEMORY; \
@@ -730,7 +729,7 @@ int tokenize_bytes(parser_t *self,
730729

731730
if (make_stream_space(self, self->datalen - self->datapos) < 0) {
732731
int64_t bufsize = 100;
733-
self->error_msg = (char *)malloc(bufsize);
732+
self->error_msg = malloc(bufsize);
734733
snprintf(self->error_msg, bufsize, "out of memory");
735734
return -1;
736735
}
@@ -1037,7 +1036,7 @@ int tokenize_bytes(parser_t *self,
10371036
self->state = IN_FIELD;
10381037
} else {
10391038
int64_t bufsize = 100;
1040-
self->error_msg = (char *)malloc(bufsize);
1039+
self->error_msg = malloc(bufsize);
10411040
snprintf(self->error_msg, bufsize,
10421041
"delimiter expected after quote in quote");
10431042
goto parsingerror;
@@ -1150,8 +1149,8 @@ static int parser_handle_eof(parser_t *self) {
11501149
case IN_QUOTED_FIELD:
11511150
self->error_msg = (char *)malloc(bufsize);
11521151
snprintf(self->error_msg, bufsize,
1153-
"EOF inside string starting at row %lld",
1154-
(long long)self->file_lines);
1152+
"EOF inside string starting at row %" PRIu64,
1153+
self->file_lines);
11551154
return -1;
11561155

11571156
case ESCAPED_CHAR:
@@ -1203,7 +1202,7 @@ int parser_consume_rows(parser_t *self, size_t nrows) {
12031202

12041203
/* move stream, only if something to move */
12051204
if (char_count < self->stream_len) {
1206-
memmove((void *)self->stream, (void *)(self->stream + char_count),
1205+
memmove(self->stream, (self->stream + char_count),
12071206
self->stream_len - char_count);
12081207
}
12091208
/* buffer counts */
@@ -1269,20 +1268,16 @@ int parser_trim_buffers(parser_t *self) {
12691268
new_cap = _next_pow2(self->words_len) + 1;
12701269
if (new_cap < self->words_cap) {
12711270
TRACE(("parser_trim_buffers: new_cap < self->words_cap\n"));
1272-
newptr = realloc((void *)self->words, new_cap * sizeof(char *));
1273-
if (newptr == NULL) {
1271+
self->words = realloc(self->words, new_cap * sizeof(char *));
1272+
if (self->words == NULL) {
12741273
return PARSER_OUT_OF_MEMORY;
1275-
} else {
1276-
self->words = (char **)newptr;
12771274
}
1278-
newptr = realloc((void *)self->word_starts,
1279-
new_cap * sizeof(int64_t));
1280-
if (newptr == NULL) {
1275+
self->word_starts = realloc(self->word_starts,
1276+
new_cap * sizeof(int64_t));
1277+
if (self->word_starts == NULL) {
12811278
return PARSER_OUT_OF_MEMORY;
1282-
} else {
1283-
self->word_starts = (int64_t *)newptr;
1284-
self->words_cap = new_cap;
12851279
}
1280+
self->words_cap = new_cap;
12861281
}
12871282

12881283
/* trim stream */
@@ -1295,7 +1290,7 @@ int parser_trim_buffers(parser_t *self) {
12951290
TRACE(
12961291
("parser_trim_buffers: new_cap < self->stream_cap, calling "
12971292
"realloc\n"));
1298-
newptr = realloc((void *)self->stream, new_cap);
1293+
newptr = realloc(self->stream, new_cap);
12991294
if (newptr == NULL) {
13001295
return PARSER_OUT_OF_MEMORY;
13011296
} else {
@@ -1321,19 +1316,19 @@ int parser_trim_buffers(parser_t *self) {
13211316
new_cap = _next_pow2(self->lines) + 1;
13221317
if (new_cap < self->lines_cap) {
13231318
TRACE(("parser_trim_buffers: new_cap < self->lines_cap\n"));
1324-
newptr = realloc((void *)self->line_start,
1319+
newptr = realloc(self->line_start,
13251320
new_cap * sizeof(int64_t));
13261321
if (newptr == NULL) {
13271322
return PARSER_OUT_OF_MEMORY;
13281323
} else {
1329-
self->line_start = (int64_t *)newptr;
1324+
self->line_start = newptr;
13301325
}
1331-
newptr = realloc((void *)self->line_fields,
1326+
newptr = realloc(self->line_fields,
13321327
new_cap * sizeof(int64_t));
13331328
if (newptr == NULL) {
13341329
return PARSER_OUT_OF_MEMORY;
13351330
} else {
1336-
self->line_fields = (int64_t *)newptr;
1331+
self->line_fields = newptr;
13371332
self->lines_cap = new_cap;
13381333
}
13391334
}
@@ -1828,14 +1823,14 @@ double round_trip(const char *p, char **q, char decimal, char sci, char tsep,
18281823
if (endpc == pc + strlen(pc)) {
18291824
if (q != NULL) {
18301825
// report endptr from source string (p)
1831-
*q = (char *) endptr;
1826+
*q = endptr;
18321827
}
18331828
} else {
18341829
*error = -1;
18351830
if (q != NULL) {
18361831
// p and pc are different len due to tsep removal. Can't report
18371832
// how much it has consumed of p. Just rewind to beginning.
1838-
*q = (char *)p;
1833+
*q = (char *)p; // TODO(willayd): this could be undefined behavior
18391834
}
18401835
}
18411836
if (maybe_int != NULL) *maybe_int = 0;
@@ -1863,7 +1858,7 @@ int uint64_conflict(uint_state *self) {
18631858

18641859
int64_t str_to_int64(const char *p_item, int64_t int_min, int64_t int_max,
18651860
int *error, char tsep) {
1866-
const char *p = (const char *)p_item;
1861+
const char *p = p_item;
18671862
int isneg = 0;
18681863
int64_t number = 0;
18691864
int d;
@@ -1983,7 +1978,7 @@ int64_t str_to_int64(const char *p_item, int64_t int_min, int64_t int_max,
19831978

19841979
uint64_t str_to_uint64(uint_state *state, const char *p_item, int64_t int_max,
19851980
uint64_t uint_max, int *error, char tsep) {
1986-
const char *p = (const char *)p_item;
1981+
const char *p = p_item;
19871982
uint64_t pre_max = uint_max / 10;
19881983
int dig_pre_max = uint_max % 10;
19891984
uint64_t number = 0;

0 commit comments

Comments
 (0)