@@ -159,7 +159,7 @@ int parser_init(parser_t *self) {
159
159
self -> warn_msg = NULL ;
160
160
161
161
// token stream
162
- self -> stream = ( char * ) malloc (STREAM_INIT_SIZE * sizeof (char ));
162
+ self -> stream = malloc (STREAM_INIT_SIZE * sizeof (char ));
163
163
if (self -> stream == NULL ) {
164
164
parser_cleanup (self );
165
165
return PARSER_OUT_OF_MEMORY ;
@@ -170,16 +170,16 @@ int parser_init(parser_t *self) {
170
170
// word pointers and metadata
171
171
sz = STREAM_INIT_SIZE / 10 ;
172
172
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 ));
175
175
self -> max_words_cap = sz ;
176
176
self -> words_cap = sz ;
177
177
self -> words_len = 0 ;
178
178
179
179
// line pointers and metadata
180
- self -> line_start = ( int64_t * ) malloc (sz * sizeof (int64_t ));
180
+ self -> line_start = malloc (sz * sizeof (int64_t ));
181
181
182
- self -> line_fields = ( int64_t * ) malloc (sz * sizeof (int64_t ));
182
+ self -> line_fields = malloc (sz * sizeof (int64_t ));
183
183
184
184
self -> lines_cap = sz ;
185
185
self -> lines = 0 ;
@@ -345,7 +345,7 @@ static int push_char(parser_t *self, char c) {
345
345
"self->stream_cap(%d)\n" ,
346
346
self -> stream_len , self -> stream_cap ))
347
347
int64_t bufsize = 100 ;
348
- self -> error_msg = ( char * ) malloc (bufsize );
348
+ self -> error_msg = malloc (bufsize );
349
349
snprintf (self -> error_msg , bufsize ,
350
350
"Buffer overflow caught - possible malformed input file.\n" );
351
351
return PARSER_OUT_OF_MEMORY ;
@@ -362,7 +362,7 @@ int PANDAS_INLINE end_field(parser_t *self) {
362
362
"self->words_cap(%zu)\n" ,
363
363
self -> words_len , self -> words_cap ))
364
364
int64_t bufsize = 100 ;
365
- self -> error_msg = ( char * ) malloc (bufsize );
365
+ self -> error_msg = malloc (bufsize );
366
366
snprintf (self -> error_msg , bufsize ,
367
367
"Buffer overflow caught - possible malformed input file.\n" );
368
368
return PARSER_OUT_OF_MEMORY ;
@@ -398,7 +398,7 @@ static void append_warning(parser_t *self, const char *msg) {
398
398
void * newptr ;
399
399
400
400
if (self -> warn_msg == NULL ) {
401
- self -> warn_msg = ( char * ) malloc (length + 1 );
401
+ self -> warn_msg = malloc (length + 1 );
402
402
snprintf (self -> warn_msg , length + 1 , "%s" , msg );
403
403
} else {
404
404
ex_length = strlen (self -> warn_msg );
@@ -459,10 +459,10 @@ static int end_line(parser_t *self) {
459
459
460
460
// file_lines is now the actual file line number (starting at 1)
461
461
if (self -> error_bad_lines ) {
462
- self -> error_msg = ( char * ) malloc (bufsize );
462
+ self -> error_msg = malloc (bufsize );
463
463
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 );
466
466
467
467
TRACE (("Error at line %d, %d fields\n" , self -> file_lines , fields ));
468
468
@@ -471,11 +471,10 @@ static int end_line(parser_t *self) {
471
471
// simply skip bad lines
472
472
if (self -> warn_bad_lines ) {
473
473
// pass up error message
474
- msg = ( char * ) malloc (bufsize );
474
+ msg = malloc (bufsize );
475
475
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 );
479
478
append_warning (self , msg );
480
479
free (msg );
481
480
}
@@ -487,7 +486,7 @@ static int end_line(parser_t *self) {
487
486
// might overrun the buffer when closing fields
488
487
if (make_stream_space (self , ex_fields - fields ) < 0 ) {
489
488
int64_t bufsize = 100 ;
490
- self -> error_msg = ( char * ) malloc (bufsize );
489
+ self -> error_msg = malloc (bufsize );
491
490
snprintf (self -> error_msg , bufsize , "out of memory" );
492
491
return -1 ;
493
492
}
@@ -508,7 +507,7 @@ static int end_line(parser_t *self) {
508
507
"end_line: ERROR!!! self->lines(%zu) >= self->lines_cap(%zu)\n" ,
509
508
self -> lines , self -> lines_cap ))
510
509
int64_t bufsize = 100 ;
511
- self -> error_msg = ( char * ) malloc (bufsize );
510
+ self -> error_msg = malloc (bufsize );
512
511
snprintf (self -> error_msg , bufsize ,
513
512
"Buffer overflow caught - "
514
513
"possible malformed input file.\n" );
@@ -569,7 +568,7 @@ static int parser_buffer_bytes(parser_t *self, size_t nbytes) {
569
568
570
569
if (status != REACHED_EOF && self -> data == NULL ) {
571
570
int64_t bufsize = 200 ;
572
- self -> error_msg = ( char * ) malloc (bufsize );
571
+ self -> error_msg = malloc (bufsize );
573
572
574
573
if (status == CALLING_READ_FAILED ) {
575
574
snprintf (self -> error_msg , bufsize ,
@@ -600,7 +599,7 @@ static int parser_buffer_bytes(parser_t *self, size_t nbytes) {
600
599
TRACE(("PUSH_CHAR: ERROR!!! slen(%d) >= stream_cap(%d)\n", slen, \
601
600
self->stream_cap)) \
602
601
int64_t bufsize = 100; \
603
- self->error_msg = (char *) malloc(bufsize); \
602
+ self->error_msg = malloc(bufsize); \
604
603
snprintf(self->error_msg, bufsize, \
605
604
"Buffer overflow caught - possible malformed input file.\n");\
606
605
return PARSER_OUT_OF_MEMORY; \
@@ -730,7 +729,7 @@ int tokenize_bytes(parser_t *self,
730
729
731
730
if (make_stream_space (self , self -> datalen - self -> datapos ) < 0 ) {
732
731
int64_t bufsize = 100 ;
733
- self -> error_msg = ( char * ) malloc (bufsize );
732
+ self -> error_msg = malloc (bufsize );
734
733
snprintf (self -> error_msg , bufsize , "out of memory" );
735
734
return -1 ;
736
735
}
@@ -1037,7 +1036,7 @@ int tokenize_bytes(parser_t *self,
1037
1036
self -> state = IN_FIELD ;
1038
1037
} else {
1039
1038
int64_t bufsize = 100 ;
1040
- self -> error_msg = ( char * ) malloc (bufsize );
1039
+ self -> error_msg = malloc (bufsize );
1041
1040
snprintf (self -> error_msg , bufsize ,
1042
1041
"delimiter expected after quote in quote" );
1043
1042
goto parsingerror ;
@@ -1150,8 +1149,8 @@ static int parser_handle_eof(parser_t *self) {
1150
1149
case IN_QUOTED_FIELD :
1151
1150
self -> error_msg = (char * )malloc (bufsize );
1152
1151
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 );
1155
1154
return -1 ;
1156
1155
1157
1156
case ESCAPED_CHAR :
@@ -1203,7 +1202,7 @@ int parser_consume_rows(parser_t *self, size_t nrows) {
1203
1202
1204
1203
/* move stream, only if something to move */
1205
1204
if (char_count < self -> stream_len ) {
1206
- memmove (( void * ) self -> stream , ( void * ) (self -> stream + char_count ),
1205
+ memmove (self -> stream , (self -> stream + char_count ),
1207
1206
self -> stream_len - char_count );
1208
1207
}
1209
1208
/* buffer counts */
@@ -1269,20 +1268,16 @@ int parser_trim_buffers(parser_t *self) {
1269
1268
new_cap = _next_pow2 (self -> words_len ) + 1 ;
1270
1269
if (new_cap < self -> words_cap ) {
1271
1270
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 ) {
1274
1273
return PARSER_OUT_OF_MEMORY ;
1275
- } else {
1276
- self -> words = (char * * )newptr ;
1277
1274
}
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 ) {
1281
1278
return PARSER_OUT_OF_MEMORY ;
1282
- } else {
1283
- self -> word_starts = (int64_t * )newptr ;
1284
- self -> words_cap = new_cap ;
1285
1279
}
1280
+ self -> words_cap = new_cap ;
1286
1281
}
1287
1282
1288
1283
/* trim stream */
@@ -1295,7 +1290,7 @@ int parser_trim_buffers(parser_t *self) {
1295
1290
TRACE (
1296
1291
("parser_trim_buffers: new_cap < self->stream_cap, calling "
1297
1292
"realloc\n" ));
1298
- newptr = realloc (( void * ) self -> stream , new_cap );
1293
+ newptr = realloc (self -> stream , new_cap );
1299
1294
if (newptr == NULL ) {
1300
1295
return PARSER_OUT_OF_MEMORY ;
1301
1296
} else {
@@ -1321,19 +1316,19 @@ int parser_trim_buffers(parser_t *self) {
1321
1316
new_cap = _next_pow2 (self -> lines ) + 1 ;
1322
1317
if (new_cap < self -> lines_cap ) {
1323
1318
TRACE (("parser_trim_buffers: new_cap < self->lines_cap\n" ));
1324
- newptr = realloc (( void * ) self -> line_start ,
1319
+ newptr = realloc (self -> line_start ,
1325
1320
new_cap * sizeof (int64_t ));
1326
1321
if (newptr == NULL ) {
1327
1322
return PARSER_OUT_OF_MEMORY ;
1328
1323
} else {
1329
- self -> line_start = ( int64_t * ) newptr ;
1324
+ self -> line_start = newptr ;
1330
1325
}
1331
- newptr = realloc (( void * ) self -> line_fields ,
1326
+ newptr = realloc (self -> line_fields ,
1332
1327
new_cap * sizeof (int64_t ));
1333
1328
if (newptr == NULL ) {
1334
1329
return PARSER_OUT_OF_MEMORY ;
1335
1330
} else {
1336
- self -> line_fields = ( int64_t * ) newptr ;
1331
+ self -> line_fields = newptr ;
1337
1332
self -> lines_cap = new_cap ;
1338
1333
}
1339
1334
}
@@ -1828,14 +1823,14 @@ double round_trip(const char *p, char **q, char decimal, char sci, char tsep,
1828
1823
if (endpc == pc + strlen (pc )) {
1829
1824
if (q != NULL ) {
1830
1825
// report endptr from source string (p)
1831
- * q = ( char * ) endptr ;
1826
+ * q = endptr ;
1832
1827
}
1833
1828
} else {
1834
1829
* error = -1 ;
1835
1830
if (q != NULL ) {
1836
1831
// p and pc are different len due to tsep removal. Can't report
1837
1832
// 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
1839
1834
}
1840
1835
}
1841
1836
if (maybe_int != NULL ) * maybe_int = 0 ;
@@ -1863,7 +1858,7 @@ int uint64_conflict(uint_state *self) {
1863
1858
1864
1859
int64_t str_to_int64 (const char * p_item , int64_t int_min , int64_t int_max ,
1865
1860
int * error , char tsep ) {
1866
- const char * p = ( const char * ) p_item ;
1861
+ const char * p = p_item ;
1867
1862
int isneg = 0 ;
1868
1863
int64_t number = 0 ;
1869
1864
int d ;
@@ -1983,7 +1978,7 @@ int64_t str_to_int64(const char *p_item, int64_t int_min, int64_t int_max,
1983
1978
1984
1979
uint64_t str_to_uint64 (uint_state * state , const char * p_item , int64_t int_max ,
1985
1980
uint64_t uint_max , int * error , char tsep ) {
1986
- const char * p = ( const char * ) p_item ;
1981
+ const char * p = p_item ;
1987
1982
uint64_t pre_max = uint_max / 10 ;
1988
1983
int dig_pre_max = uint_max % 10 ;
1989
1984
uint64_t number = 0 ;
0 commit comments