From 632e278d6964e730003feceb54c22766a9e32d8b Mon Sep 17 00:00:00 2001 From: Christian Mauderer Date: Fri, 21 Oct 2016 11:05:29 +0200 Subject: rtemsbsd: Add reallocf to rtems_bsd_program. --- rtemsbsd/include/machine/rtems-bsd-program.h | 7 +++++++ rtemsbsd/rtems/rtems-program.c | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/rtemsbsd/include/machine/rtems-bsd-program.h b/rtemsbsd/include/machine/rtems-bsd-program.h index a6f8dc6c..e31c1a6a 100644 --- a/rtemsbsd/include/machine/rtems-bsd-program.h +++ b/rtemsbsd/include/machine/rtems-bsd-program.h @@ -102,6 +102,9 @@ rtems_bsd_program_calloc(size_t nelem, size_t elsize); void * rtems_bsd_program_realloc(void *ptr, size_t size); +void * +rtems_bsd_program_reallocf(void *ptr, size_t size); + char * rtems_bsd_program_strdup(const char *s1); @@ -164,6 +167,10 @@ rtems_bsd_program_free(void *ptr); #define realloc(ptr, size) rtems_bsd_program_realloc(ptr, size) #endif +#ifndef RTEMS_BSD_PROGRAM_NO_REALLOC_WRAP + #define reallocf(ptr, size) rtems_bsd_program_reallocf(ptr, size) +#endif + #ifndef RTEMS_BSD_PROGRAM_NO_STRDUP_WRAP #define strdup(s1) rtems_bsd_program_strdup(s1) #endif diff --git a/rtemsbsd/rtems/rtems-program.c b/rtemsbsd/rtems/rtems-program.c index 45d5450d..ba8d5c57 100644 --- a/rtemsbsd/rtems/rtems-program.c +++ b/rtemsbsd/rtems/rtems-program.c @@ -535,6 +535,16 @@ rtems_bsd_program_realloc(void *ptr, size_t size) return rtems_bsd_program_alloc(size, ptr); } +void * +rtems_bsd_program_reallocf(void *ptr, size_t size) +{ + void *ret = rtems_bsd_program_alloc(size, ptr); + if (ret == NULL) { + free(ptr); + } + return ret; +} + char * rtems_bsd_program_strdup(const char *s1) { -- cgit v1.2.3