esp32: modify realloc behaves just like malloc when pass a null pointer for ptr.

pull/21/head
liuhan 2016-09-08 10:50:52 +08:00 zatwierdzone przez Angus Gratton
rodzic add32cbc9a
commit 47db66e495
1 zmienionych plików z 10 dodań i 3 usunięć

Wyświetl plik

@ -44,10 +44,17 @@ void _free_r(struct _reent *r, void* ptr) {
return vPortFree(ptr);
}
// TODO: improve realloc to grow buffer in place if possible
void* _realloc_r(struct _reent *r, void* ptr, size_t size) {
void* new_chunk = pvPortMalloc(size);
if (new_chunk) {
void* new_chunk;
if (size == 0) {
if (ptr) {
vPortFree(ptr);
}
return NULL;
}
new_chunk = pvPortMalloc(size);
if (new_chunk && ptr) {
memcpy(new_chunk, ptr, size);
vPortFree(ptr);
}