diff options
Diffstat (limited to 'cpukit/libdl/rtl-string.c')
-rw-r--r-- | cpukit/libdl/rtl-string.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/cpukit/libdl/rtl-string.c b/cpukit/libdl/rtl-string.c new file mode 100644 index 0000000000..4a49b77fe6 --- /dev/null +++ b/cpukit/libdl/rtl-string.c @@ -0,0 +1,32 @@ +/* + * COPYRIGHT (c) 2012 Chris Johns <chrisj@rtems.org> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ +/** + * @file + * + * @ingroup rtems_rtl + * + * @brief RTEMS Run-Time Linker String managment. + */ + +#include <string.h> + +#include "rtl-allocator.h" +#include "rtl-string.h" + +char* +rtems_rtl_strdup (const char *s1) +{ + size_t len = strlen (s1); + char* s2 = rtems_rtl_alloc_new (RTEMS_RTL_ALLOC_OBJECT, len + 1, false); + if (s2) + { + memcpy (s2, s1, len); + s2[len] = '\0'; + } + return s2; +} |