xref: /third_party/backends/lib/strdup.c (revision 141cc406)
1/* Copyright (C) 1997 Free Software Foundation, Inc.
2This file is part of the GNU C Library.
3
4The GNU C Library is free software; you can redistribute it and/or
5modify it under the terms of the GNU Library General Public License as
6published by the Free Software Foundation; either version 2 of the
7License, or (at your option) any later version.
8
9The GNU C Library is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12Library General Public License for more details.
13
14You should have received a copy of the GNU Library General Public
15License along with the GNU C Library; see the file COPYING.LIB.  If
16not, see <https://www.gnu.org/licenses/>.  */
17
18#include "../include/sane/config.h"
19
20#include <stdlib.h>
21#include <string.h>
22
23#ifndef HAVE_STRDUP
24
25char *
26strdup (const char * s)
27{
28  char *clone;
29  size_t size;
30
31  size = strlen (s) + 1;
32  clone = malloc (size);
33  memcpy (clone, s, size);
34  return clone;
35}
36
37#endif /* !HAVE_STRDUP */
38