// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************* * * Copyright (C) 1998-2014, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * file name: ustr_cnv.cpp * encoding: UTF-8 * tab size: 8 (not used) * indentation:4 * * created on: 2004aug24 * created by: Markus W. Scherer * * Character conversion functions moved here from ustring.c */ #include "unicode/utypes.h" #if !UCONFIG_NO_CONVERSION #include "unicode/ustring.h" #include "unicode/ucnv.h" #include "cstring.h" #include "cmemory.h" #include "umutex.h" #include "ustr_cnv.h" #include "ucnv_bld.h" /* mutexed access to a shared default converter ----------------------------- */ static UConverter *gDefaultConverter = …; U_CAPI UConverter* U_EXPORT2 u_getDefaultConverter(UErrorCode *status) { … } U_CAPI void U_EXPORT2 u_releaseDefaultConverter(UConverter *converter) { … } U_CAPI void U_EXPORT2 u_flushDefaultConverter() { … } /* conversions between char* and char16_t* ------------------------------------- */ /* maximum string length for u_uastrcpy() and u_austrcpy() implementations */ #define MAX_STRLEN … /* returns the minimum of (the length of the null-terminated string) and n. */ static int32_t u_astrnlen(const char *s1, int32_t n) { … } U_CAPI char16_t* U_EXPORT2 u_uastrncpy(char16_t *ucs1, const char *s2, int32_t n) { … } U_CAPI char16_t* U_EXPORT2 u_uastrcpy(char16_t *ucs1, const char *s2 ) { … } /* returns the minimum of (the length of the null-terminated string) and n. */ static int32_t u_ustrnlen(const char16_t *ucs1, int32_t n) { … } U_CAPI char* U_EXPORT2 u_austrncpy(char *s1, const char16_t *ucs2, int32_t n) { … } U_CAPI char* U_EXPORT2 u_austrcpy(char *s1, const char16_t *ucs2 ) { … } #endif