Skip to content

Commit 517221e

Browse files
WillAydjacobaustin123
authored andcommitted
Assorted io extension cleanups (pandas-dev#29704)
1 parent 00cfdf5 commit 517221e

File tree

3 files changed

+13
-45
lines changed

3 files changed

+13
-45
lines changed

pandas/_libs/src/parser/io.c

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ The full license is in the LICENSE file, distributed with this software.
99

1010
#include "io.h"
1111

12-
#include <sys/types.h>
1312
#include <sys/stat.h>
1413
#include <fcntl.h>
1514

pandas/_libs/src/parser/tokenizer.c

+13-38
Original file line numberDiff line numberDiff line change
@@ -25,38 +25,13 @@ GitHub. See Python Software Foundation License and BSD licenses for these.
2525

2626
#include "../headers/portable.h"
2727

28-
static void *safe_realloc(void *buffer, size_t size) {
29-
void *result;
30-
// OSX is weird.
31-
// http://stackoverflow.com/questions/9560609/
32-
// different-realloc-behaviour-in-linux-and-osx
33-
34-
result = realloc(buffer, size);
35-
TRACE(("safe_realloc: buffer = %p, size = %zu, result = %p\n", buffer, size,
36-
result))
37-
38-
return result;
39-
}
40-
4128
void coliter_setup(coliter_t *self, parser_t *parser, int i, int start) {
4229
// column i, starting at 0
4330
self->words = parser->words;
4431
self->col = i;
4532
self->line_start = parser->line_start + start;
4633
}
4734

48-
coliter_t *coliter_new(parser_t *self, int i) {
49-
// column i, starting at 0
50-
coliter_t *iter = (coliter_t *)malloc(sizeof(coliter_t));
51-
52-
if (NULL == iter) {
53-
return NULL;
54-
}
55-
56-
coliter_setup(iter, self, i, 0);
57-
return iter;
58-
}
59-
6035
static void free_if_not_null(void **ptr) {
6136
TRACE(("free_if_not_null %p\n", *ptr))
6237
if (*ptr != NULL) {
@@ -80,7 +55,7 @@ static void *grow_buffer(void *buffer, uint64_t length, uint64_t *capacity,
8055
while ((length + space >= cap) && (newbuffer != NULL)) {
8156
cap = cap ? cap << 1 : 2;
8257
buffer = newbuffer;
83-
newbuffer = safe_realloc(newbuffer, elsize * cap);
58+
newbuffer = realloc(newbuffer, elsize * cap);
8459
}
8560

8661
if (newbuffer == NULL) {
@@ -321,8 +296,8 @@ static int make_stream_space(parser_t *self, size_t nbytes) {
321296
("make_stream_space: cap != self->words_cap, nbytes = %d, "
322297
"self->words_cap=%d\n",
323298
nbytes, self->words_cap))
324-
newptr = safe_realloc((void *)self->word_starts,
325-
sizeof(int64_t) * self->words_cap);
299+
newptr = realloc((void *)self->word_starts,
300+
sizeof(int64_t) * self->words_cap);
326301
if (newptr == NULL) {
327302
return PARSER_OUT_OF_MEMORY;
328303
} else {
@@ -349,8 +324,8 @@ static int make_stream_space(parser_t *self, size_t nbytes) {
349324
if (cap != self->lines_cap) {
350325
TRACE(("make_stream_space: cap != self->lines_cap, nbytes = %d\n",
351326
nbytes))
352-
newptr = safe_realloc((void *)self->line_fields,
353-
sizeof(int64_t) * self->lines_cap);
327+
newptr = realloc((void *)self->line_fields,
328+
sizeof(int64_t) * self->lines_cap);
354329
if (newptr == NULL) {
355330
return PARSER_OUT_OF_MEMORY;
356331
} else {
@@ -427,7 +402,7 @@ static void append_warning(parser_t *self, const char *msg) {
427402
snprintf(self->warn_msg, length + 1, "%s", msg);
428403
} else {
429404
ex_length = strlen(self->warn_msg);
430-
newptr = safe_realloc(self->warn_msg, ex_length + length + 1);
405+
newptr = realloc(self->warn_msg, ex_length + length + 1);
431406
if (newptr != NULL) {
432407
self->warn_msg = (char *)newptr;
433408
snprintf(self->warn_msg + ex_length, length + 1, "%s", msg);
@@ -1290,13 +1265,13 @@ int parser_trim_buffers(parser_t *self) {
12901265
new_cap = _next_pow2(self->words_len) + 1;
12911266
if (new_cap < self->words_cap) {
12921267
TRACE(("parser_trim_buffers: new_cap < self->words_cap\n"));
1293-
newptr = safe_realloc((void *)self->words, new_cap * sizeof(char *));
1268+
newptr = realloc((void *)self->words, new_cap * sizeof(char *));
12941269
if (newptr == NULL) {
12951270
return PARSER_OUT_OF_MEMORY;
12961271
} else {
12971272
self->words = (char **)newptr;
12981273
}
1299-
newptr = safe_realloc((void *)self->word_starts,
1274+
newptr = realloc((void *)self->word_starts,
13001275
new_cap * sizeof(int64_t));
13011276
if (newptr == NULL) {
13021277
return PARSER_OUT_OF_MEMORY;
@@ -1315,13 +1290,13 @@ int parser_trim_buffers(parser_t *self) {
13151290
if (new_cap < self->stream_cap) {
13161291
TRACE(
13171292
("parser_trim_buffers: new_cap < self->stream_cap, calling "
1318-
"safe_realloc\n"));
1319-
newptr = safe_realloc((void *)self->stream, new_cap);
1293+
"realloc\n"));
1294+
newptr = realloc((void *)self->stream, new_cap);
13201295
if (newptr == NULL) {
13211296
return PARSER_OUT_OF_MEMORY;
13221297
} else {
13231298
// Update the pointers in the self->words array (char **) if
1324-
// `safe_realloc`
1299+
// `realloc`
13251300
// moved the `self->stream` buffer. This block mirrors a similar
13261301
// block in
13271302
// `make_stream_space`.
@@ -1342,14 +1317,14 @@ int parser_trim_buffers(parser_t *self) {
13421317
new_cap = _next_pow2(self->lines) + 1;
13431318
if (new_cap < self->lines_cap) {
13441319
TRACE(("parser_trim_buffers: new_cap < self->lines_cap\n"));
1345-
newptr = safe_realloc((void *)self->line_start,
1320+
newptr = realloc((void *)self->line_start,
13461321
new_cap * sizeof(int64_t));
13471322
if (newptr == NULL) {
13481323
return PARSER_OUT_OF_MEMORY;
13491324
} else {
13501325
self->line_start = (int64_t *)newptr;
13511326
}
1352-
newptr = safe_realloc((void *)self->line_fields,
1327+
newptr = realloc((void *)self->line_fields,
13531328
new_cap * sizeof(int64_t));
13541329
if (newptr == NULL) {
13551330
return PARSER_OUT_OF_MEMORY;

pandas/_libs/src/parser/tokenizer.h

-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ See LICENSE for the license
1515
#define PY_SSIZE_T_CLEAN
1616
#include <Python.h>
1717

18-
#define ERROR_OK 0
1918
#define ERROR_NO_DIGITS 1
2019
#define ERROR_OVERFLOW 2
2120
#define ERROR_INVALID_CHARS 3
@@ -32,10 +31,6 @@ See LICENSE for the license
3231
#define CALLING_READ_FAILED 2
3332

3433

35-
#if defined(_MSC_VER)
36-
#define strtoll _strtoi64
37-
#endif // _MSC_VER
38-
3934
/*
4035
4136
C flat file parsing low level code for pandas / NumPy
@@ -180,7 +175,6 @@ typedef struct coliter_t {
180175
} coliter_t;
181176

182177
void coliter_setup(coliter_t *self, parser_t *parser, int i, int start);
183-
coliter_t *coliter_new(parser_t *self, int i);
184178

185179
#define COLITER_NEXT(iter, word) \
186180
do { \

0 commit comments

Comments
 (0)