string.cpp revision 57c7423f76775f902dbaa34cededb2df1947f5d8
/* $Id$ */
/** @file
* innotek Portable Runtime - String Manipulation.
*/
/*
* Copyright (C) 2006-2007 innotek GmbH
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License as published by the Free Software Foundation,
* in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
* distribution. VirtualBox OSE is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY of any kind.
*/
/*******************************************************************************
* Header Files *
*******************************************************************************/
#include <locale.h>
/**
* Init C runtime locale
* note: actually where is no need in this global var, use it only for
* auto run of setlocale() func.
*/
/** @todo rewrite this to do setlocale() from some proper init function. */
/**
* Free string allocated by any of the non-UCS-2 string functions.
*
* @returns iprt status code.
* @param pszString Pointer to buffer with string to free.
* NULL is accepted.
*/
{
if (pszString)
}
/**
* Allocates a new copy of the given UTF-8 string.
*
* @returns Pointer to the allocated UTF-8 string.
* @param pszString UTF-8 string to duplicate.
*/
{
if (psz)
return psz;
}
/**
* Allocates a new copy of the given UTF-8 string.
*
* @returns iprt status code.
* @param ppszString Receives pointer of the allocated UTF-8 string.
* The returned pointer must be freed using RTStrFree().
* @param pszString UTF-8 string to duplicate.
*/
{
if (psz)
{
*ppszString = psz;
return VINF_SUCCESS;
}
return VERR_NO_MEMORY;
}