PIPS
strdup.c
Go to the documentation of this file.
1
/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2011 Free Software
2
Foundation, Inc.
3
4
This file is part of the GNU C Library.
5
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU Lesser General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU Lesser General Public License for more details.
15
16
You should have received a copy of the GNU Lesser General Public License along
17
with this program; if not, write to the Free Software Foundation,
18
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
19
20
#ifndef _LIBC
21
# include <config.h>
22
#endif
23
24
/* Get specification. */
25
#include <string.h>
26
27
#include <stdlib.h>
28
29
#undef __strdup
30
#ifdef _LIBC
31
# undef strdup
32
#endif
33
34
#ifndef weak_alias
35
# define __strdup strdup
36
#endif
37
38
/* Duplicate S, returning an identical malloc'd string. */
39
char
*
40
__strdup
(
const
char
*s)
41
{
42
size_t
len = strlen (s) + 1;
43
void
*
new
=
malloc
(len);
44
45
if
(
new
== NULL)
46
return
NULL;
47
48
return
(
char
*) memcpy (
new
, s, len);
49
}
50
#ifdef libc_hidden_def
51
libc_hidden_def (
__strdup
)
52
#endif
53
#ifdef weak_alias
54
weak_alias (
__strdup
,
strdup
)
55
#endif
malloc
void * malloc(YYSIZE_T)
__strdup
#define __strdup
Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2011 Free Software Foundation,...
Definition:
strdup.c:35
strdup
char * strdup()
linear
src
gnulib
strdup.c
Generated on Thu Sep 26 2024 22:11:29 for PIPS by
1.9.1