mirror of
https://github.com/reactos/CMake.git
synced 2024-12-01 07:20:22 +00:00
704ab3d248
Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ 1010d0e3 | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' 6eab64c3..1010d0e3 Brad King (2): ace1364c Encoding: Remove unused include 1010d0e3 SystemTools: Avoid unused function warnings Clinton Stimpson (4): 0c2ff1f7 Encoding: Add Encoding module. 8abbad82 FStream: Add FStream module. 0a98de97 KWSys: Port to use wide character Windows APIs throughout. 2b0c683d Encoding: Default to ANSI code page on Windows David Cole (1): f67bb2ba SystemTools: Move typedef mode_t inside the SystemTools class Sean McBride (1): a40b9263 SystemInformation: Work around gcc -Wliteral-suffix warning Change-Id: Ie52df972331cc7377c236d410ead86024e9d15ab
80 lines
2.7 KiB
C
80 lines
2.7 KiB
C
/*============================================================================
|
|
KWSys - Kitware System Library
|
|
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
|
|
|
Distributed under the OSI-approved BSD License (the "License");
|
|
see accompanying file Copyright.txt for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the License for more information.
|
|
============================================================================*/
|
|
#ifndef @KWSYS_NAMESPACE@_Encoding_h
|
|
#define @KWSYS_NAMESPACE@_Encoding_h
|
|
|
|
#include <@KWSYS_NAMESPACE@/Configure.h>
|
|
#include <wchar.h>
|
|
|
|
/* Redefine all public interface symbol names to be in the proper
|
|
namespace. These macros are used internally to kwsys only, and are
|
|
not visible to user code. Use kwsysHeaderDump.pl to reproduce
|
|
these macros after making changes to the interface. */
|
|
#if !defined(KWSYS_NAMESPACE)
|
|
# define kwsys_ns(x) @KWSYS_NAMESPACE@##x
|
|
# define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT
|
|
#endif
|
|
#if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
# define kwsysEncoding kwsys_ns(Encoding)
|
|
# define kwsysEncoding_mbstowcs kwsys_ns(Encoding_mbstowcs)
|
|
# define kwsysEncoding_DupToWide kwsys_ns(Encoding_DupToWide)
|
|
# define kwsysEncoding_wcstombs kwsys_ns(Encoding_wcstombs)
|
|
# define kwsysEncoding_DupToNarrow kwsys_ns(Encoding_DupToNarrow)
|
|
#endif
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
|
|
/* Convert a narrow string to a wide string.
|
|
On Windows, UTF-8 is assumed, and on other platforms,
|
|
the current locale is assumed.
|
|
*/
|
|
kwsysEXPORT size_t kwsysEncoding_mbstowcs(wchar_t* dest, const char* src, size_t n);
|
|
|
|
/* Convert a narrow string to a wide string.
|
|
This can return NULL if the conversion fails. */
|
|
kwsysEXPORT wchar_t* kwsysEncoding_DupToWide(const char* src);
|
|
|
|
|
|
/* Convert a wide string to a narrow string.
|
|
On Windows, UTF-8 is assumed, and on other platforms,
|
|
the current locale is assumed. */
|
|
kwsysEXPORT size_t kwsysEncoding_wcstombs(char* dest, const wchar_t* src, size_t n);
|
|
|
|
/* Convert a wide string to a narrow string.
|
|
This can return NULL if the conversion fails. */
|
|
kwsysEXPORT char* kwsysEncoding_DupToNarrow(const wchar_t* str);
|
|
|
|
|
|
#if defined(__cplusplus)
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
/* If we are building a kwsys .c or .cxx file, let it use these macros.
|
|
Otherwise, undefine them to keep the namespace clean. */
|
|
#if !defined(KWSYS_NAMESPACE)
|
|
# undef kwsys_ns
|
|
# undef kwsysEXPORT
|
|
# if !defined(KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
# undef kwsysEncoding
|
|
# undef kwsysEncoding_mbstowcs
|
|
# undef kwsysEncoding_DupToWide
|
|
# undef kwsysEncoding_wcstombs
|
|
# undef kwsysEncoding_DupToNarrow
|
|
# endif
|
|
#endif
|
|
|
|
#endif
|