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