summaryrefslogtreecommitdiff
path: root/newlib/libc/stdlib/strdup_r.c
blob: ef77a58eb9c9c42ecc785e335954618caed29666 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <reent.h>
#include <stdlib.h>
#include <string.h>

char *
_DEFUN (_strdup_r, (reent_ptr, str), 
        struct _reent *reent_ptr  _AND
        _CONST char   *str)
{
  size_t len = strlen (str) + 1;
  char *copy = _malloc_r (reent_ptr, len);
  if (copy)
    {
      memcpy (copy, str, len);
    }
  return copy;
}