summaryrefslogtreecommitdiff
path: root/audio_codec/libraac/string_utils.c (plain)
blob: 9922539b202c96e960271f6a984fce07966e4a39
1/* ***** BEGIN LICENSE BLOCK *****
2 * Source last modified: $Id: string_utils.c,v 1.1.1.1.2.1 2005/05/04 18:21:24 hubbe Exp $
3 *
4 * REALNETWORKS CONFIDENTIAL--NOT FOR DISTRIBUTION IN SOURCE CODE FORM
5 * Portions Copyright (c) 1995-2005 RealNetworks, Inc.
6 * All Rights Reserved.
7 *
8 * The contents of this file, and the files included with this file,
9 * are subject to the current version of the Real Format Source Code
10 * Porting and Optimization License, available at
11 * https://helixcommunity.org/2005/license/realformatsource (unless
12 * RealNetworks otherwise expressly agrees in writing that you are
13 * subject to a different license). You may also obtain the license
14 * terms directly from RealNetworks. You may not use this file except
15 * in compliance with the Real Format Source Code Porting and
16 * Optimization License. There are no redistribution rights for the
17 * source code of this file. Please see the Real Format Source Code
18 * Porting and Optimization License for the rights, obligations and
19 * limitations governing use of the contents of the file.
20 *
21 * RealNetworks is the developer of the Original Code and owns the
22 * copyrights in the portions it created.
23 *
24 * This file, and the files included with this file, is distributed and
25 * made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND,
26 * EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL
27 * SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
28 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT
29 * OR NON-INFRINGEMENT.
30 *
31 * Technology Compatibility Kit Test Suite(s) Location:
32 * https://rarvcode-tck.helixcommunity.org
33 *
34 * Contributor(s):
35 *
36 * ***** END LICENSE BLOCK ***** */
37
38#include <string.h>
39#include "../include/string_utils.h"
40#include "../include/memory_utils.h"
41
42char* copy_string(void* pUserMem,
43 rm_malloc_func_ptr fpMalloc,
44 const char* pszStr)
45{
46 char* pRet = HXNULL;
47
48 if (fpMalloc && pszStr) {
49 /* Allocate space for string */
50 pRet = (char*) fpMalloc(pUserMem, strlen(pszStr) + 1);
51 if (pRet) {
52 /* Copy the string */
53 strcpy(pRet, pszStr);
54 }
55 }
56
57 return pRet;
58}
59
60void free_string(void* pUserMem,
61 rm_free_func_ptr fpFree,
62 char** ppszStr)
63{
64 if (fpFree && ppszStr && *ppszStr) {
65 fpFree(pUserMem, *ppszStr);
66 *ppszStr = HXNULL;
67 }
68}
69
70#if defined(_WINDOWS)
71
72#if !defined(_WINCE)
73
74int strcasecmp(const char* pszStr1, const char* pszStr2)
75{
76 return _stricmp(pszStr1, pszStr2);
77}
78
79#endif /* #if !defined(_WINCE) */
80
81int strncasecmp(const char* pszStr1, const char* pszStr2, int len)
82{
83 return _strnicmp(pszStr1, pszStr2, (size_t) len);
84}
85
86#endif /* #if defined(_WINDOWS) */
87
88