1f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu/**************************************************************************
2f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu *
3f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
4f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * Copyright 2009-2010 Chia-I Wu <olvaffe@gmail.com>
5f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * Copyright 2010-2011 LunarG, Inc.
6f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * All Rights Reserved.
7f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu *
8f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * Permission is hereby granted, free of charge, to any person obtaining a
9f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * copy of this software and associated documentation files (the
10f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * "Software"), to deal in the Software without restriction, including
11f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * without limitation the rights to use, copy, modify, merge, publish,
12f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * distribute, sub license, and/or sell copies of the Software, and to
13f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * permit persons to whom the Software is furnished to do so, subject to
14f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * the following conditions:
15f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu *
16f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * The above copyright notice and this permission notice (including the
17f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * next paragraph) shall be included in all copies or substantial portions
18f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * of the Software.
19f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu *
20f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
23f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu * DEALINGS IN THE SOFTWARE.
27f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu *
28f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu **************************************************************************/
29f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu
30f2001df508fda599a18b3586d2775e970a3db13aChia-I Wu
31e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul/**
32e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul * String utils.
33e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul */
34e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul
35e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul#include <stdlib.h>
36e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul#include <string.h>
37e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul#include "eglstring.h"
38e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul
39e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul
40e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paulchar *
41e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul_eglstrdup(const char *s)
42e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul{
43e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul   if (s) {
441e6c10f4be9e36cc052a6b47fb2cb1eae60caa00Chia-I Wu      size_t l = strlen(s);
45e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul      char *s2 = malloc(l + 1);
46e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul      if (s2)
47e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul         strcpy(s2, s);
48e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul      return s2;
49e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul   }
50e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul   return NULL;
51e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul}
52e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul
53e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul
54e94d383b9ba7964da9fefac2a55e10c00ee72392Brian Paul
55