diff options
author | Christian Mauderer <Christian.Mauderer@embedded-brains.de> | 2016-10-21 11:05:29 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-10-24 08:13:04 +0200 |
commit | 632e278d6964e730003feceb54c22766a9e32d8b (patch) | |
tree | 8b84c7b4066168408eea8dcd8ced2fe0e7cd4e64 | |
parent | 0ba419717b884465a34241f106a71ffc5ec18267 (diff) |
rtemsbsd: Add reallocf to rtems_bsd_program.
-rw-r--r-- | rtemsbsd/include/machine/rtems-bsd-program.h | 7 | ||||
-rw-r--r-- | rtemsbsd/rtems/rtems-program.c | 10 |
2 files changed, 17 insertions, 0 deletions
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) { |