ReactOS  0.4.14-dev-50-g13bb5e2
unicode.h File Reference
#include <ctype.h>
#include <stdarg.h>
#include <string.h>
#include <typedefs.h>
Include dependency graph for unicode.h:

Go to the source code of this file.

Classes

struct  cp_info
 
struct  sbcs_table
 
struct  dbcs_table
 
union  cptable
 

Macros

#define C1_UPPER   1
 
#define C1_LOWER   2
 
#define C1_DIGIT   4
 
#define C1_SPACE   8
 
#define C1_PUNCT   16
 
#define C1_CNTRL   32
 
#define C1_BLANK   64
 
#define C1_XDIGIT   128
 
#define C1_ALPHA   256
 
#define MB_COMPOSITE   2
 
#define MB_ERR_INVALID_CHARS   8
 
#define MB_USEGLYPHCHARS   0x04
 
#define WC_COMPOSITECHECK   512
 
#define WC_DISCARDNS   16
 
#define WC_DEFAULTCHAR   64
 
#define WC_NO_BEST_FIT_CHARS   1024
 
#define WC_ERR_INVALID_CHARS   0x0080
 
#define WINE_UNICODE_API
 
#define WINE_UNICODE_INLINE   static inline
 
#define strncpyW(d, s, n)   error do_not_use_strncpyW_use_lstrcpynW_or_memcpy_instead
 

Functions

const union cptablewine_cp_get_table (unsigned int codepage)
 
const union cptablewine_cp_enum_table (unsigned int index)
 
int wine_cp_mbstowcs (const union cptable *table, int flags, const char *src, int srclen, WCHAR *dst, int dstlen)
 
int wine_cp_wcstombs (const union cptable *table, int flags, const WCHAR *src, int srclen, char *dst, int dstlen, const char *defchar, int *used)
 
int wine_cpsymbol_mbstowcs (const char *src, int srclen, WCHAR *dst, int dstlen)
 
int wine_cpsymbol_wcstombs (const WCHAR *src, int srclen, char *dst, int dstlen)
 
int wine_utf8_mbstowcs (int flags, const char *src, int srclen, WCHAR *dst, int dstlen)
 
int wine_utf8_wcstombs (int flags, const WCHAR *src, int srclen, char *dst, int dstlen)
 
int wine_compare_string (int flags, const WCHAR *str1, int len1, const WCHAR *str2, int len2)
 
int wine_get_sortkey (int flags, const WCHAR *src, int srclen, char *dst, int dstlen)
 
int wine_fold_string (int flags, const WCHAR *src, int srclen, WCHAR *dst, int dstlen)
 
int strcmpiW (const WCHAR *str1, const WCHAR *str2)
 
int strncmpiW (const WCHAR *str1, const WCHAR *str2, int n)
 
int memicmpW (const WCHAR *str1, const WCHAR *str2, int n)
 
WCHARstrstrW (const WCHAR *str, const WCHAR *sub)
 
long int strtolW (const WCHAR *nptr, WCHAR **endptr, int base)
 
unsigned long int strtoulW (const WCHAR *nptr, WCHAR **endptr, int base)
 
int sprintfW (WCHAR *str, const WCHAR *format,...)
 
int snprintfW (WCHAR *str, size_t len, const WCHAR *format,...)
 
int vsprintfW (WCHAR *str, const WCHAR *format, va_list valist)
 
int vsnprintfW (WCHAR *str, size_t len, const WCHAR *format, va_list valist)
 
WINE_UNICODE_INLINE int wine_is_dbcs_leadbyte (const union cptable *table, unsigned char ch)
 
WINE_UNICODE_INLINE WCHAR tolowerW (WCHAR ch)
 
WINE_UNICODE_INLINE WCHAR toupperW (WCHAR ch)
 
WINE_UNICODE_INLINE unsigned short get_char_typeW (WCHAR ch)
 
WINE_UNICODE_INLINE int iscntrlW (WCHAR wc)
 
WINE_UNICODE_INLINE int ispunctW (WCHAR wc)
 
WINE_UNICODE_INLINE int isspaceW (WCHAR wc)
 
WINE_UNICODE_INLINE int isdigitW (WCHAR wc)
 
WINE_UNICODE_INLINE int isxdigitW (WCHAR wc)
 
WINE_UNICODE_INLINE int islowerW (WCHAR wc)
 
WINE_UNICODE_INLINE int isupperW (WCHAR wc)
 
WINE_UNICODE_INLINE int isalnumW (WCHAR wc)
 
WINE_UNICODE_INLINE int isalphaW (WCHAR wc)
 
WINE_UNICODE_INLINE int isgraphW (WCHAR wc)
 
WINE_UNICODE_INLINE int isprintW (WCHAR wc)
 
WINE_UNICODE_INLINE unsigned int strlenW (const WCHAR *str)
 
WINE_UNICODE_INLINE WCHARstrcpyW (WCHAR *dst, const WCHAR *src)
 
WINE_UNICODE_INLINE int strcmpW (const WCHAR *str1, const WCHAR *str2)
 
WINE_UNICODE_INLINE int strncmpW (const WCHAR *str1, const WCHAR *str2, int n)
 
WINE_UNICODE_INLINE WCHARstrcatW (WCHAR *dst, const WCHAR *src)
 
WINE_UNICODE_INLINE WCHARstrchrW (const WCHAR *str, WCHAR ch)
 
WINE_UNICODE_INLINE WCHARstrrchrW (const WCHAR *str, WCHAR ch)
 
WINE_UNICODE_INLINE WCHARstrpbrkW (const WCHAR *str, const WCHAR *accept)
 
WINE_UNICODE_INLINE size_t strspnW (const WCHAR *str, const WCHAR *accept)
 
WINE_UNICODE_INLINE size_t strcspnW (const WCHAR *str, const WCHAR *reject)
 
WINE_UNICODE_INLINE WCHARstrlwrW (WCHAR *str)
 
WINE_UNICODE_INLINE WCHARstruprW (WCHAR *str)
 
WINE_UNICODE_INLINE WCHARmemchrW (const WCHAR *ptr, WCHAR ch, size_t n)
 
WINE_UNICODE_INLINE WCHARmemrchrW (const WCHAR *ptr, WCHAR ch, size_t n)
 
WINE_UNICODE_INLINE long int atolW (const WCHAR *str)
 
WINE_UNICODE_INLINE int atoiW (const WCHAR *str)
 

Macro Definition Documentation

◆ C1_ALPHA

#define C1_ALPHA   256

Definition at line 39 of file unicode.h.

◆ C1_BLANK

#define C1_BLANK   64

Definition at line 37 of file unicode.h.

◆ C1_CNTRL

#define C1_CNTRL   32

Definition at line 36 of file unicode.h.

◆ C1_DIGIT

#define C1_DIGIT   4

Definition at line 33 of file unicode.h.

◆ C1_LOWER

#define C1_LOWER   2

Definition at line 32 of file unicode.h.

◆ C1_PUNCT

#define C1_PUNCT   16

Definition at line 35 of file unicode.h.

◆ C1_SPACE

#define C1_SPACE   8

Definition at line 34 of file unicode.h.

◆ C1_UPPER

#define C1_UPPER   1

Definition at line 31 of file unicode.h.

◆ C1_XDIGIT

#define C1_XDIGIT   128

Definition at line 38 of file unicode.h.

◆ MB_COMPOSITE

#define MB_COMPOSITE   2

Definition at line 40 of file unicode.h.

◆ MB_ERR_INVALID_CHARS

#define MB_ERR_INVALID_CHARS   8

Definition at line 41 of file unicode.h.

◆ MB_USEGLYPHCHARS

#define MB_USEGLYPHCHARS   0x04

Definition at line 42 of file unicode.h.

◆ strncpyW

#define strncpyW (   d,
  s,
  n 
)    error do_not_use_strncpyW_use_lstrcpynW_or_memcpy_instead

Definition at line 227 of file unicode.h.

◆ WC_COMPOSITECHECK

#define WC_COMPOSITECHECK   512

Definition at line 43 of file unicode.h.

◆ WC_DEFAULTCHAR

#define WC_DEFAULTCHAR   64

Definition at line 45 of file unicode.h.

◆ WC_DISCARDNS

#define WC_DISCARDNS   16

Definition at line 44 of file unicode.h.

◆ WC_ERR_INVALID_CHARS

#define WC_ERR_INVALID_CHARS   0x0080

Definition at line 47 of file unicode.h.

◆ WC_NO_BEST_FIT_CHARS

#define WC_NO_BEST_FIT_CHARS   1024

Definition at line 46 of file unicode.h.

◆ WINE_UNICODE_API

#define WINE_UNICODE_API

Definition at line 58 of file unicode.h.

◆ WINE_UNICODE_INLINE

#define WINE_UNICODE_INLINE   static inline

Definition at line 62 of file unicode.h.

Function Documentation

◆ atoiW()

◆ atolW()

Definition at line 310 of file unicode.h.

311 {
312  return strtolW( str, (WCHAR **)0, 10 );
313 }
long int strtolW(const WCHAR *nptr, WCHAR **endptr, int base)
Definition: string.c:75
const WCHAR * str
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by atoiW(), DelNodeRunDLL32W(), EnumOLEVERB_Next(), event_set_install_level(), IPADDRESS_GetAddress(), LaunchINFSectionExW(), LaunchINFSectionW(), msi_build_createsql_columns(), msi_dialog_edit_control(), msi_dialog_vcl_add_columns(), MsiSourceListEnumMediaDisksW(), parse_version(), and set_ldids().

◆ get_char_typeW()

WINE_UNICODE_INLINE unsigned short get_char_typeW ( WCHAR  ch)

Definition at line 149 of file unicode.h.

150 {
151  extern WINE_UNICODE_API const unsigned short wine_wctype_table[];
152  return wine_wctype_table[wine_wctype_table[ch >> 8] + (ch & 0xff)];
153 }
#define WINE_UNICODE_API
Definition: unicode.h:58
const unsigned short wine_wctype_table[]
Definition: wctype.c:6

Referenced by classify(), compare_case_weights(), compare_diacritic_weights(), compare_unicode_weights(), GetStringTypeW(), isalnumW(), isalphaW(), iscntrlW(), isdigitW(), isgraphW(), islowerW(), isprintW(), ispunctW(), isspaceW(), isupperW(), isxdigitW(), LCMapStringEx(), and wine_get_sortkey().

◆ isalnumW()

WINE_UNICODE_INLINE int isalnumW ( WCHAR  wc)

Definition at line 190 of file unicode.h.

191 {
193 }
#define C1_LOWER
Definition: unicode.h:32
#define C1_ALPHA
Definition: unicode.h:39
#define C1_DIGIT
Definition: unicode.h:33
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149
#define C1_UPPER
Definition: unicode.h:31

Referenced by InternetCrackUrlW(), is_identifier_char(), isprintableW(), LISTVIEW_ProcessLetterKeys(), ME_FindText(), need_escape(), parse_arguments(), parse_event_str(), parse_regexp(), ParseURLW(), script_parse_event(), update_filter(), URL_NeedEscapeW(), URL_ScanID(), UrlCanonicalizeW(), and UrlCombineW().

◆ isalphaW()

◆ iscntrlW()

WINE_UNICODE_INLINE int iscntrlW ( WCHAR  wc)

Definition at line 155 of file unicode.h.

156 {
157  return get_char_typeW(wc) & C1_CNTRL;
158 }
#define C1_CNTRL
Definition: unicode.h:36
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149

Referenced by pre_process_uri().

◆ isdigitW()

◆ isgraphW()

WINE_UNICODE_INLINE int isgraphW ( WCHAR  wc)

Definition at line 200 of file unicode.h.

201 {
203 }
#define C1_LOWER
Definition: unicode.h:32
#define C1_ALPHA
Definition: unicode.h:39
#define C1_DIGIT
Definition: unicode.h:33
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149
#define C1_PUNCT
Definition: unicode.h:35
#define C1_UPPER
Definition: unicode.h:31

◆ islowerW()

WINE_UNICODE_INLINE int islowerW ( WCHAR  wc)

Definition at line 180 of file unicode.h.

181 {
182  return get_char_typeW(wc) & C1_LOWER;
183 }
#define C1_LOWER
Definition: unicode.h:32
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149

Referenced by PathMakePrettyW(), and URL_ScanID().

◆ isprintW()

WINE_UNICODE_INLINE int isprintW ( WCHAR  wc)

Definition at line 205 of file unicode.h.

206 {
208 }
#define C1_BLANK
Definition: unicode.h:37
#define C1_LOWER
Definition: unicode.h:32
#define C1_ALPHA
Definition: unicode.h:39
#define C1_DIGIT
Definition: unicode.h:33
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149
#define C1_PUNCT
Definition: unicode.h:35
#define C1_UPPER
Definition: unicode.h:31

Referenced by field_format_extension_hex_with_ascii(), gdip_format_string(), and STATUSBAR_SetTextT().

◆ ispunctW()

WINE_UNICODE_INLINE int ispunctW ( WCHAR  wc)

Definition at line 160 of file unicode.h.

161 {
162  return get_char_typeW(wc) & C1_PUNCT;
163 }
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149
#define C1_PUNCT
Definition: unicode.h:35

◆ isspaceW()

WINE_UNICODE_INLINE int isspaceW ( WCHAR  wc)

Definition at line 165 of file unicode.h.

166 {
167  return get_char_typeW(wc) & C1_SPACE;
168 }
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149
#define C1_SPACE
Definition: unicode.h:34

Referenced by CertStrToNameW(), CRYPT_GetNextKeyW(), CRYPT_GetNextValueW(), date_parse(), do_process_key(), eol_backslash_state(), field_format_extension_hex_with_ascii(), find_prev_space(), find_word_end(), fix_px_value(), get_extrac_args(), get_token(), get_word(), GetFunctionPointer(), Global_LTrim(), Global_RTrim(), Global_Trim(), handle_insert_comment(), HTTP_ParseDateAsAsctime(), HTTP_ParseRfc1123Date(), HTTP_ParseRfc850Date(), HTTP_ParseTime(), HTTP_ProcessExpires(), isprintableW(), JSGlobal_parseFloat(), JSGlobal_parseInt(), key_name_state(), leading_spaces_state(), line_start_state(), ME_FindNextURLCandidate(), move_by_words(), move_next_char(), move_prev_char(), msi_dialog_hyperlink_handler(), parse_arguments(), parse_content_type(), parse_event_str(), parse_filetime(), parse_key(), parse_win31_line_state(), pre_process_uri(), ProcessCharSet(), processRegLinesW(), processSetValue(), PROFILE_isspaceW(), quote_rdn_value_to_str_a(), range_to_string(), RunDlg_GetParentDir(), SHELL_execute(), SimpleMatch(), skip_spaces(), str_to_number(), String_trim(), StrToInt64ExW(), strtolW(), strtoulW(), trailing_spaces_state(), update_filter(), value_name_state(), VarDateFromStr(), VarParseNumFromStr(), wcstod(), WshShortcut_put_IconLocation(), and wstrbuf_append_nodetxt().

◆ isupperW()

WINE_UNICODE_INLINE int isupperW ( WCHAR  wc)

Definition at line 185 of file unicode.h.

186 {
187  return get_char_typeW(wc) & C1_UPPER;
188 }
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149
#define C1_UPPER
Definition: unicode.h:31

Referenced by canonicalize_reg_name().

◆ isxdigitW()

WINE_UNICODE_INLINE int isxdigitW ( WCHAR  wc)

Definition at line 175 of file unicode.h.

176 {
177  return get_char_typeW(wc) & C1_XDIGIT;
178 }
#define C1_XDIGIT
Definition: unicode.h:38
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149

Referenced by convert_hex_to_dword(), decode_url(), do_process_key(), GetPrivateProfileStructW(), hex_multiline_state(), process_pattern_string(), SetupGetBinaryField(), StrToInt64ExW(), URL_ScanID(), and UrlUnescapeW().

◆ memchrW()

WINE_UNICODE_INLINE WCHAR* memchrW ( const WCHAR ptr,
WCHAR  ch,
size_t  n 
)

Definition at line 295 of file unicode.h.

296 {
297  const WCHAR *end;
298  for (end = ptr + n; ptr < end; ptr++) if (*ptr == ch) return (WCHAR *)(ULONG_PTR)ptr;
299  return NULL;
300 }
GLdouble n
Definition: glext.h:7729
GLuint GLuint end
Definition: gl.h:1545
static PVOID ptr
Definition: dispmode.c:27
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define ULONG_PTR
Definition: config.h:101

Referenced by add_local_oid_text_to_control(), get_token(), InternetCrackUrlW(), is_domain_legal_for_cookie(), map_W_to_A(), match_common_name(), next_xml_attr(), next_xml_elem(), parse_text_content(), PROFILE_Load(), set_cookie(), and WinHttpCrackUrl().

◆ memicmpW()

int memicmpW ( const WCHAR str1,
const WCHAR str2,
int  n 
)

Definition at line 52 of file string.c.

53 {
54  int ret = 0;
55  for ( ; n > 0; n--, str1++, str2++)
56  if ((ret = tolowerW(*str1) - tolowerW(*str2))) break;
57  return ret;
58 }
GLdouble n
Definition: glext.h:7729
WINE_UNICODE_INLINE WCHAR tolowerW(WCHAR ch)
Definition: unicode.h:135
int ret

◆ memrchrW()

WINE_UNICODE_INLINE WCHAR* memrchrW ( const WCHAR ptr,
WCHAR  ch,
size_t  n 
)

Definition at line 302 of file unicode.h.

303 {
304  const WCHAR *end;
305  WCHAR *ret = NULL;
306  for (end = ptr + n; ptr < end; ptr++) if (*ptr == ch) ret = (WCHAR *)(ULONG_PTR)ptr;
307  return ret;
308 }
GLdouble n
Definition: glext.h:7729
GLuint GLuint end
Definition: gl.h:1545
uint32_t ULONG_PTR
Definition: typedefs.h:63
static PVOID ptr
Definition: dispmode.c:27
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
int ret

Referenced by find_domain_name(), matches_domain_pattern(), merge_paths(), and PROFILE_Load().

◆ snprintfW()

int snprintfW ( WCHAR str,
size_t  len,
const WCHAR format,
  ... 
)

Definition at line 516 of file string.c.

517 {
518  int retval;
519  va_list valist;
521  retval = vsnprintfW(str, len, format, valist);
522  va_end(valist);
523  return retval;
524 }
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
#define va_end(ap)
Definition: acmsvcex.h:90
const WCHAR * str
char * va_list
Definition: acmsvcex.h:78
GLenum GLsizei len
Definition: glext.h:6722
#define va_start(ap, A)
Definition: acmsvcex.h:91
static __ms_va_list valist
Definition: printf.c:59
int vsnprintfW(WCHAR *str, size_t len, const WCHAR *format, va_list valist)
Definition: string.c:364

Referenced by FormatDouble(), and StrFormatByteSizeW().

◆ sprintfW()

int sprintfW ( WCHAR str,
const WCHAR format,
  ... 
)

Definition at line 526 of file string.c.

527 {
528  int retval;
529  va_list valist;
531  retval = vsnprintfW(str, INT_MAX, format, valist);
532  va_end(valist);
533  return retval;
534 }
#define INT_MAX
Definition: limits.h:40
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
#define va_end(ap)
Definition: acmsvcex.h:90
const WCHAR * str
char * va_list
Definition: acmsvcex.h:78
#define va_start(ap, A)
Definition: acmsvcex.h:91
static __ms_va_list valist
Definition: printf.c:59
int vsnprintfW(WCHAR *str, size_t len, const WCHAR *format, va_list valist)
Definition: string.c:364

◆ strcatW()

WINE_UNICODE_INLINE WCHAR* strcatW ( WCHAR dst,
const WCHAR src 
)

Definition at line 242 of file unicode.h.

243 {
244  strcpyW( dst + strlenW(dst), src );
245  return dst;
246 }
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
Definition: unicode.h:212
GLenum src
Definition: glext.h:6340
WINE_UNICODE_INLINE WCHAR * strcpyW(WCHAR *dst, const WCHAR *src)
Definition: unicode.h:219
GLenum GLenum dst
Definition: glext.h:6340

Referenced by _SHGetUserShellFolderPath(), _SHRegisterFolders(), _SHRegisterUserShellFolders(), AboutProtocol_Start(), ACTION_AppSearchDr(), ACTION_PublishFeatures(), ACTION_RegisterExtensionInfo(), ACTION_RegisterMIMEInfo(), ACTION_UnregisterClassInfo(), ACTION_UnregisterExtensionInfo(), ACTION_UnregisterMIMEInfo(), alloc_element(), append_productcode(), append_string(), build_assembly_dir(), build_default_format(), build_full_keypath(), build_manifest_filename(), build_policy_filename(), build_query_string(), build_request_path(), build_request_string(), build_wndclass_section(), cache_container_open_index(), CATIDEnumGUID_Construct(), check_version(), clsid_from_string_reg(), COM_OpenKeyForAppIdFromCLSID(), CompositeMonikerImpl_GetDisplayName(), concatenate_string_list(), create_EnumMoniker(), create_profile_directory(), create_PropertyBag(), create_server(), create_system_dirid(), create_system_ports_list(), CryptCATAdminAcquireContext(), CryptCATAdminAddCatalog(), CryptCATAdminEnumCatalogFromHash(), CryptCATAdminRemoveCatalog(), CryptCATAdminResolveCatalogPath(), DATETIME_GetText(), decode_string(), DEVENUM_IMediaCatMoniker_GetDisplayName(), export_append_extension(), FD31_DirListDblClick(), FD31_TestPath(), fetch_user_component(), fetch_user_product(), filecoll_get_Count(), FileMonikerImpl_CommonPrefixWith(), FileMonikerImpl_ComposeWith(), FileMonikerImpl_Construct(), FileMonikerImpl_RelativePathTo(), filesys_BuildPath(), FilterMapper3_CreateCategory(), FilterMapper3_UnregisterFilter(), FilterMapper_RegisterFilter(), FilterMapper_RegisterPin(), FilterMapper_RegisterPinType(), FilterMapper_UnregisterFilter(), FilterMapper_UnregisterPin(), find_mono_dll(), find_runtimes(), FindHTMLHelpSetting(), foldercoll_get_Count(), font_name_from_file(), get_assembly_display_name(), get_cabinet_filename(), get_engine_clsid(), get_full_path(), get_fusion_filename(), get_key_name_for_target(), get_lcid_subkey(), get_manifest_in_associated_manifest(), get_mono_path(), get_mono_path_from_folder(), get_runtime_info(), get_unknown_dirid(), get_wine_loader_name(), CQueryAssociations::GetString(), handle_redirect(), HTTP_build_req(), HTTP_DealWithProxy(), InfIsFromOEMLocation(), install_assembly(), IPADDRESS_UpdateText(), ITERATE_InstallService(), ITERATE_PublishComponent(), ITERATE_RemoveRegistryValuesOnInstall(), ITERATE_RemoveRegistryValuesOnUninstall(), ITERATE_UnpublishComponent(), ITERATE_WriteRegistryValues(), ITSS_IStorageImpl_OpenStorage(), ITSS_IStorageImpl_OpenStream(), LISTBOX_Directory(), load_graphics_driver(), load_mono(), load_xul(), LoadLibraryShim(), MCIWND_UpdateState(), MCIWndProc(), MDI_UpdateFrameText(), msi_build_directory_name(), msi_create_empty_local_file(), MSI_ProcessMessage(), MsiConfigureProductExW(), MSIREG_DeleteUninstallKey(), MSIREG_DeleteUserFeaturesKey(), MSIREG_DeleteUserProductKey(), MSIREG_DeleteUserUpgradeCodesKey(), MSIREG_OpenClassesUpgradeCodesKey(), MSIREG_OpenFeaturesKey(), MSIREG_OpenInstallerFeaturesKey(), MSIREG_OpenProductKey(), MSIREG_OpenUninstallKey(), MSIREG_OpenUpgradeCodesKey(), MSIREG_OpenUserComponentsKey(), MSIREG_OpenUserPatchesKey(), MSIREG_OpenUserUpgradeCodesKey(), MsiReinstallFeatureW(), NdrDllRegisterProxy(), NdrDllUnregisterProxy(), open_package(), OpenColorProfileW(), parser_add_table(), PathCombineW(), PathRelativePathToW(), PathUnExpandEnvStringsW(), PdhMakeCounterPathW(), PROFILE_Open(), query_from_path(), query_prop(), register_codec(), register_dsound_devices(), register_legacy_filters(), register_verb(), registry_callback(), resolve_filename(), rpcrt4_ncacn_http_open(), run_winemenubuilder(), RunDlg_GetParentDir(), set_installer_properties(), SETUP_CreateDevicesListFromEnumerator(), SetupCopyOEMInfW(), SetupDiBuildDriverInfoList(), SetupDiInstallDeviceInterfaces(), SetupGetInfFileListW(), SetupOpenInfFileW(), SetupOpenMasterInf(), SetupQueueCopySectionW(), SetupUninstallOEMInfW(), SHELL_execute(), SHELL_execute_class(), SHELL_execute_url(), SHELL_quote_and_execute(), SHGetFileInfoW(), SHGetFolderPathAndSubDirW(), SHLWAPI_WriteTimeClass(), start_enumeration(), StrCatW(), uninstall_assembly(), URL_ApplyDefault(), URL_CreateFromPath(), URL_GuessScheme(), UrlCombineW(), and write_predefined_strings().

◆ strchrW()

WINE_UNICODE_INLINE WCHAR* strchrW ( const WCHAR str,
WCHAR  ch 
)

Definition at line 248 of file unicode.h.

249 {
250  do { if (*str == ch) return (WCHAR *)(ULONG_PTR)str; } while (*str++);
251  return NULL;
252 }
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define ULONG_PTR
Definition: config.h:101

Referenced by _ItemizeInternal(), ACTION_AppSearchGetSignature(), ACTION_AppSearchReg(), ACTION_ExpandAnyPath(), ACTION_RegisterClassInfo(), AddMRUData(), build_properties(), BuildCommDCBAndTimeoutsW(), check_transform_applicable(), ClassMoniker_CreateFromDisplayName(), COND_GetOne(), connections_on_initdialog(), create_cache_entry(), CredDialogCommandOk(), CredUIParseUserNameW(), CredWriteW(), CryptCATAdminRemoveCatalog(), dde_connect(), DEVENUM_IParseDisplayName_ParseDisplayName(), DIALOG_DlgDirListW(), DIALOG_DlgDirSelect(), DIALOG_IsAccelerator(), do_authorization(), do_preprocess(), domain_matches(), DRIVER_TryOpenDriver32(), EDIT_WM_Paste(), EnumOLEVERB_Next(), exec_composesettings(), execute_command(), expand_command(), FD31_ScanDir(), FD31_TestPath(), FILEDLG95_OnOpen(), FileProtocol_StartEx(), fix_url_value(), folder_split_path(), FTP_Connect(), get_char_script(), get_ini_field(), get_ini_file_name(), get_object_dll_path(), get_parameter(), get_word(), CQueryAssociations::GetExecutable(), GetFunctionPointer(), GetVersionInformationFromInfFile(), HlinkCreateFromString(), HTMLStyle_get_backgroundPositionX(), HTMLStyle_get_backgroundPositionY(), HTMLStyle_put_backgroundPositionX(), HTMLStyle_put_backgroundPositionY(), HTTP_DoAuthorization(), HTTP_DomainMatches(), HTTP_GetResponseHeaders(), HTTP_InterpretHttpHeader(), HTTP_ParseDate(), HTTP_ParseRfc1123Date(), HTTP_ParseRfc850Date(), HTTP_ProcessCookies(), HTTP_ProcessExpires(), HTTP_ShouldBypassProxy(), HttpProtocol_start_downloading(), hyperlink_dlgproc(), IDxDiagContainerImpl_GetChildContainer(), IHlink_fnSetMonikerReference(), IHlink_fnSetStringReference(), init_driver(), InstallHinfSectionW(), INTERNET_FindProxyForProtocol(), INTERNET_LoadProxySettings(), InternetSetCookieExW(), is_basic_auth_value(), ITERATE_CreateShortcuts(), ITERATE_MoveFiles(), ITERATE_RemoveEnvironmentString(), ITERATE_WriteEnvironmentString(), ITSProtocolInfo_CombineUrl(), lookup_manifest_file(), map_security_uri_to_zone(), match_dns_to_subject_alt_name(), match_dns_to_subject_dn(), MCI_GetString(), MCI_Open(), mciSendStringW(), MCIWndProc(), memrpbrkW(), MkProtocol_StartEx(), MSACM_RegisterAllDrivers(), msi_dialog_edit_control(), msi_dialog_get_style(), msi_dialog_parse_groups(), msi_dialog_set_property_event(), msi_dialog_vcl_add_columns(), msi_font_version_from_file(), MSI_OpenDatabaseW(), msi_parse_command_line(), msi_parse_patch_summary(), msi_parse_version_string(), msi_publish_product_properties(), msi_reduce_to_long_filename(), msi_split_string(), msi_version_str_to_dword(), MsiDecomposeDescriptorW(), MsiSourceListEnumMediaDisksW(), MSSTYLES_OpenThemeClass(), MSSTYLES_ParseIniSectionName(), msvcrt_get_flags(), nsChannelBSC_on_response(), nsstyle_to_bstr(), nsURI_GetHostPort(), nsURI_SetUserPass(), ntlm_GetCachedCredential(), ntlm_InitializeSecurityContextW(), open_dde_url(), open_key(), parse_content_type(), parse_cookie(), parse_display_name(), parse_header(), parse_key_name(), parse_languages(), parse_mhtml_url(), parse_registry_key(), parse_rundll(), parse_schema(), parse_suminfo(), parse_text(), parse_transform_desc(), parse_version(), path_find_symbol_file(), PathIsUNCServerW(), pdh_match_path(), process_pattern_string(), process_response_status_text(), process_state_property(), processRegLinesW(), PROFILE_Open(), query_http_info(), range_to_string(), registry_credential_matches_filter(), RegpCreateOrOpenKey(), remove_quotes(), ResProtocol_Start(), ResProtocolInfo_ParseUrl(), rfc822_name_matches(), rpcrt4_http_internet_connect(), RtlIsTextUnicode(), search_domain_for_zone(), SearchCHM_Storage(), set_deferred_action_props(), set_installer_properties(), set_ldids(), set_server_for_hostname(), SETUP_GetClassIconInfo(), SetupCopyOEMInfW(), SetupOpenInfFileW(), SHELL_ArgifyW(), SHELL_execute_url(), SHLoadIndirectString(), should_bypass_proxy(), skip_code(), split_reg_path(), SspiPromptForCredentialsW(), StrChrW(), strcspnW(), String_replace(), strpbrkW(), strspnW(), sym_enum(), SymFindFileInPathW(), throw_error(), TLB_ReadTypeLib(), TOOLBAR_AddStringW(), TOOLTIPS_GetTipText(), update_filter(), update_ini_callback(), url_matches(), URL_ParseUrl(), UrlCanonicalizeW(), UrlCombineW(), UrlGetLocationW(), UrlGetPartW(), validate_path(), VARIANT_BstrReplaceDecimal(), wcstok_s(), WHERE_CreateView(), WinHttpCrackUrl(), WININET_GetAuthRealm(), WININET_GetSetPassword(), wnetInit(), write_config_value(), write_registry_values(), and WritePrivateProfileSectionW().

◆ strcmpiW()

int strcmpiW ( const WCHAR str1,
const WCHAR str2 
)

Definition at line 33 of file string.c.

34 {
35  for (;;)
36  {
37  int ret = tolowerW(*str1) - tolowerW(*str2);
38  if (ret || !*str1) return ret;
39  str1++;
40  str2++;
41  }
42 }
WINE_UNICODE_INLINE WCHAR tolowerW(WCHAR ch)
Definition: unicode.h:135
int ret

◆ strcmpW()

WINE_UNICODE_INLINE int strcmpW ( const WCHAR str1,
const WCHAR str2 
)

Definition at line 229 of file unicode.h.

230 {
231  while (*str1 && (*str1 == *str2)) { str1++; str2++; }
232  return *str1 - *str2;
233 }

Referenced by _findProviderIndexW(), _SHExpandEnvironmentStrings(), AboutProtocol_Start(), ACTION_CustomAction(), ACTION_ExecuteAction(), ACTION_HandleStandardAction(), ACTION_RecurseSearchDirectory(), ACTION_UnpublishProduct(), ActiveScriptSite_GetItemInfo(), add_wildcard(), append_productcode(), AsyncReader_FindPin(), attr_to_eid(), BCryptOpenAlgorithmProvider(), build_response_header(), cache_basic_authorization(), cache_InstallAssembly(), cache_QueryAssemblyInfo(), cache_UninstallAssembly(), cert_mgr_sort_by_text(), check_columns(), check_style_attr_value(), check_transform_applicable(), compare_networkoptions(), compare_string(), compile_break_statement(), compile_continue_statement(), compile_labelled_statement(), CreateDebuggingInterfaceFromVersion(), CredDialogFillUsernameCombo(), CredUIConfirmCredentialsW(), CredUIPromptForCredentialsW(), declare_prefix(), dialog_event_handler(), dialog_handle_event(), DispatchEx_GetDispID(), dispex_GetDispID(), dispid_from_elem_name(), do_searchW(), DoesStringRoundTripW(), domain_match(), drain_content(), env_parse_flags(), eval_strcmp(), event_add_local(), event_add_source(), event_cleanup_subscriptions(), event_end_dialog(), event_remove(), export_password_dlg_proc(), FEqualNames(), fetch_machine_product(), fetch_user_component(), fetch_user_product(), fill_datafile(), fill_directory(), FilterGraph2_AddFilter(), FilterGraph2_FindFilterByName(), find_builtin_prop(), find_cached_table(), find_cookie(), find_event_target(), find_existing_credential(), find_filepatch(), find_item(), find_mime_from_buffer(), find_prop_name(), find_window(), finished_reading(), function_local_cmp(), generic_alg_property(), get_alg_property(), get_builtin_id(), get_clr_version(), get_declared_prefix_uri(), get_defaulttablecolumns(), get_dynamic_prop(), get_key_value(), get_method(), get_mime_filter(), get_nsstyle_pixel_val(), get_nsstyle_pos(), get_table(), get_tag_desc(), get_temp_binary(), get_uri_from_prefix(), get_wine_loader_name(), GetClassMediaFile(), Global_StrComp(), handle_redirect(), HTMLBodyElement_get_scroll(), HTMLBodyElement_put_scroll(), HTMLDocument_open(), HTMLInputElement_is_text_edit(), HTMLWindow2_open(), HTTP_HttpEndRequestW(), HTTP_HttpSendRequestW(), HTTP_InsertAuthorization(), HTTP_ParseDate(), HTTP_ParseDateAsAsctime(), HTTP_ParseRfc1123Date(), HTTP_ParseRfc850Date(), hyperlink_dlgproc(), IAssemblyNameImpl_IsEqual(), ICreateTypeInfo2_fnSetFuncAndParamNames(), identifier_eval(), CFileSysEnum::Initialize(), InternetSession_UnregisterMimeFilter(), IRecordInfoImpl_GetField(), IRecordInfoImpl_GetFieldNoCopy(), IRecordInfoImpl_PutField(), IRecordInfoImpl_PutFieldNoCopy(), is_dir_data(), is_elem_id(), is_equal_textfont_prop_value(), is_known_mime_type(), is_local_machine(), is_local_machineW(), is_matching_identity(), iterate_all_classes(), iterate_appsearch(), ITERATE_PublishComponent(), ITERATE_WriteEnvironmentString(), ITypeLibComp_fnBind(), LISTBOX_Directory(), load_folder(), local_ref_cmp(), lookup_style_tbl(), LPropCompareProp(), MCI_GetDriverFromString(), mciSendStringW(), ME_StreamOutRTFCharProps(), merge_type_match(), merge_verify_colnames(), merge_verify_primary_keys(), MIDIMAP_FindPort(), MNLS_lstrcmpW(), MSACM_FillFormatTagsCB(), msi_action_is_unique(), MSI_ApplicablePatchXML(), msi_arrange_record(), msi_check_patch_applicable(), msi_columns_in_order(), MSI_DatabaseExport(), MSI_DatabaseImport(), msi_dialog_add_control(), msi_dialog_combobox_update(), msi_dialog_create_radiobutton(), msi_dialog_find_control(), msi_dialog_find_control_by_type(), msi_dialog_find_font(), msi_dialog_set_control_condition(), msi_dialog_set_property(), msi_dialog_set_property_event(), msi_dialog_update_controls(), msi_dialog_update_directory_list(), msi_dialog_vcl_add_columns(), msi_get_loaded_component(), msi_get_loaded_feature(), msi_get_loaded_file(), msi_get_loaded_folder(), msi_get_property_row(), msi_get_target_folder(), MSI_GetProductInfo(), msi_package_add_info(), msi_parse_command_line(), msi_publish_sourcelist(), msi_resolve_source_folder(), msi_resolve_target_folder(), msi_seltree_add_child_features(), MSI_SetFeatureStateW(), msi_table_apply_transform(), msi_table_load_transform(), MsiActiveScriptSite_GetItemInfo(), MsiEnumPatchesExW(), MsiGetPatchInfoExW(), MsiGetPatchInfoW(), MsiGetProductInfoExW(), MsiSetFeatureAttributesW(), MsiSetPropertyW(), MsiSourceListGetInfoW(), MsiSourceListSetInfoW(), namespacemanager_declarePrefix(), needs_ime_window(), NLS_GetFormats(), nsChannelBSC_beginning_transaction(), nsURI_SchemeIs(), on_mime_message_available(), open_connection(), parse_assembly(), parse_column(), parse_file_header(), parse_hhindex(), parse_platform(), parse_security_url(), PathFindSuffixArrayW(), PathMakeSystemFolderW(), pdh_match_path(), process_arguments(), process_state_property(), PROFILE_SetString(), remove_duplicate_values(), request_receive(), request_send(), retrieve_cached_basic_authorization(), RpcServerAssoc_GetAssociation(), search_window_props(), seed_dirs(), seen_dir(), send_request(), set_content_length(), set_target_path(), SETUP_CreateInterfaceList(), SetupDiSetSelectedDriverW(), SetupOpenInfFileW(), SHGetObjectCompatFlags(), site_GetItemInfo(), SPY_DumpStructure(), SQL_MarkPrimaryKeys(), start_params(), str_to_eid(), STRCMP_Evaluate(), strcmp_key(), TABLE_add_column(), TABLE_CreateView(), TABLE_Exists(), TLB_append_str(), translate_url(), TREEVIEW_EndEditLabelNow(), UnRegisterTypeLib(), UrlCompareW(), VarBoolFromStr(), VIEW_find_column(), wcscoll(), WNetOpenEnumW(), WshShell3_RegWrite(), xmlreader_MoveToAttributeByName(), xmlwriter_WriteProcessingInstruction(), and xslprocessor_addParameter().

◆ strcpyW()

WINE_UNICODE_INLINE WCHAR* strcpyW ( WCHAR dst,
const WCHAR src 
)

Definition at line 219 of file unicode.h.

220 {
221  WCHAR *p = dst;
222  while ((*p++ = *src++));
223  return dst;
224 }
__wchar_t WCHAR
Definition: xmlstorage.h:180
GLenum src
Definition: glext.h:6340
GLenum GLenum dst
Definition: glext.h:6340
GLfloat GLfloat p
Definition: glext.h:8902

Referenced by _copyNetResourceForEnumW(), _enumerateContextW(), _enumerateProvidersW(), _SHExpandEnvironmentStrings(), _SHGetDefaultValue(), _SHGetUserShellFolderPath(), _SHRegisterUserShellFolders(), _wmakepath(), acmDriverMessage(), ACTION_AppSearchDr(), ACTION_ConvertRegValue(), ACTION_PublishFeatures(), ACTION_RegisterExtensionInfo(), ACTION_RegisterMIMEInfo(), ACTION_UnregisterClassInfo(), ACTION_UnregisterExtensionInfo(), ACTION_UnregisterMIMEInfo(), add_cookie_headers(), alloc_element(), allocate_information_node(), allocate_property_information(), append_productcode(), append_string(), APPINFO_QueryOption(), assembly_get_path(), BackgroundCopyJob_SetDescription(), BaseFilterImpl_JoinFilterGraph(), BaseFilterImpl_QueryFilterInfo(), BasePinImpl_QueryId(), BinaryToBase64W(), BrsFolder_Treeview_Rename(), build_assembly_dir(), build_assembly_id(), build_full_keypath(), build_header_request_string(), build_manifest_filename(), build_path(), build_policy_filename(), build_proxy_path_url(), build_query_string(), build_resource_string(), build_server(), build_source_filename(), build_wpad_url(), cache_container_delete_dir(), cache_container_open_index(), cache_container_set_size(), cache_containers_init(), cache_QueryAssemblyInfo(), CATIDEnumGUID_Construct(), check_version(), chm_enumerate_dir(), CLRRuntimeInfo_GetRuntimeDirectory(), clsid_from_string_reg(), co_strdupW(), CoGetPSClsid(), COM_OpenKeyForAppIdFromCLSID(), COM_OpenKeyForCLSID(), COMBOEX_InsertItemW(), COMBOEX_SetItemW(), CommandLineToArgvW(), compose_request_url(), concat_W(), container_matches_cert(), copy_file(), Copy_PinInfo(), copy_propbag2(), create_catinfo(), create_EnumMoniker(), create_full_path(), create_full_pathW(), create_monodata(), create_PropertyBag(), create_system_ports_list(), create_target_directory(), CreateDeviceInfo(), CreateDeviceInterface(), CreateInfFileDetails(), CreateMRUListLazyW(), CredUIParseUserNameW(), CRYPT_FormatAltNameEntry(), CRYPT_FormatAltNameInfo(), CRYPT_FormatAuthorityInfoAccess(), CRYPT_FormatAuthorityKeyId2(), CRYPT_FormatBasicConstraints2(), CRYPT_FormatBits(), CRYPT_FormatCertIssuer(), CRYPT_FormatCPS(), CRYPT_FormatCRLDistPoints(), CRYPT_FormatEnhancedKeyUsage(), CRYPT_FormatHexStringWithPrefix(), CRYPT_FormatKeyUsage(), CRYPT_FormatNetscapeCertType(), CRYPT_FormatReason(), CRYPT_FormatSpcFinancialCriteria(), CRYPT_FormatUnicodeString(), CRYPT_FormatUserNotice(), CRYPT_GetProvKeyName(), CRYPT_GetTypeKeyName(), CryptAcquireContextW(), CryptCATAdminAddCatalog(), CryptCATAdminEnumCatalogFromHash(), CryptCATAdminRemoveCatalog(), CryptCATAdminResolveCatalogPath(), CryptCATCatalogInfoFromContext(), D3DXCreateFontW(), dde_connect(), decompress_or_copy_callback(), DefaultHandler_SetHostNames(), DEVENUM_CreateAMCategoryKey(), DEVENUM_IEnumMoniker_Next(), DEVENUM_IMediaCatMoniker_GetDisplayName(), DEVENUM_IParseDisplayName_ParseDisplayName(), dialog_create(), dialog_create_window(), do_searchW(), DP_CopyDPNAMEStruct(), DPLAYX_CopyConnStructW(), EDIT_EM_ReplaceSel(), EDIT_EM_Undo(), encodeBase64W(), enum_store_callback(), EnumDirTreeW(), enumerate_gac(), escape_url(), execute_command(), execute_from_key(), expand_command(), export_validate_filename(), FD31_DirListDblClick(), FD31_ScanDir(), FD31_StripEditControl(), FD31_TestPath(), fetch_user_component(), fetch_user_product(), FileAsyncReader_Construct(), filecoll_get_Count(), FILEDLG95_OnOpen(), FileLockBytesImpl_Construct(), FileLockBytesImpl_Stat(), FileMenu_AppendItemW(), FileMonikerImpl_Construct(), FileMonikerImpl_DecomposePath(), FileMonikerImpl_GetDisplayName(), FileSource_GetCurFile(), FileSource_Load(), filesys_BuildPath(), FilterMapper3_CreateCategory(), FilterMapper3_RegisterFilter(), FilterMapper3_UnregisterFilter(), FilterMapper_RegisterFilter(), FilterMapper_RegisterPin(), FilterMapper_RegisterPinType(), FilterMapper_UnregisterFilter(), FilterMapper_UnregisterPin(), find_existing_credential(), find_installed_font(), find_mono_dll(), find_published_source(), find_runtimes(), FindExecutableW(), FindHTMLHelpSetting(), fix_px_value(), flatten_multi_string_values(), fnIMultiLanguage3_GetCharsetInfo(), foldercoll_get_Count(), font_name_from_file(), format_insert(), FormatMessageW(), FormatVerisignExtension(), FTP_Connect(), GdipGetLogFontW(), get_assembly_directory(), get_assembly_name_attribute(), get_cabinet_filename(), get_cert_usages(), get_drive_type(), get_duplicate_filename(), get_extrac_args(), get_font_size(), get_full_path(), get_fusion_filename(), get_key_name_for_target(), get_localserver_pipe_name(), get_log_fontW(), get_long_key(), get_manifest_in_associated_manifest(), get_mime_clsid(), get_mono_path(), get_mono_path_from_folder(), get_registered_local_package(), get_root_key(), get_runtime_info(), get_string_subst(), get_user_notice_from_qualifier(), get_wine_loader_name(), GetCachePath(), GetCalendarInfoW(), GetSectionCallback(), CQueryAssociations::GetString(), HANDLE_CustomType23(), handle_redirect(), heap_strdupW(), HTTP_DealWithProxy(), HTTP_FixURL(), HTTP_HandleRedirect(), HTTP_HttpOpenRequestW(), IAssemblyNameImpl_GetDisplayName(), IAssemblyNameImpl_GetName(), ICONTITLE_SetTitlePos(), IDirectMusic8Impl_EnumMasterClock(), IEnumDMO_fnNext(), import_validate_filename(), include_pac_utils(), InfpAddFieldToLine(), InfpAddKeyToLine(), InfpAddSection(), InfpGetMultiSzField(), InfWriteFile(), init_function_pointers(), init_xpcom(), install_assembly(), IPADDRESS_Create(), IPersistFile_fnGetCurFile(), ITERATE_InstallService(), ITERATE_PublishComponent(), ITERATE_RemoveRegistryValuesOnInstall(), ITERATE_RemoveRegistryValuesOnUninstall(), ITERATE_UnpublishComponent(), ITERATE_WriteEnvironmentString(), ITERATE_WriteRegistryValues(), ITS_IMoniker_create(), ITSProtocolInfo_CombineUrl(), ITSS_create_chm_storage(), ITSS_IEnumSTATSTG_Next(), ITSS_IStorageImpl_OpenStorage(), ITSS_IStorageImpl_OpenStream(), LISTBOX_Directory(), LISTBOX_GetText(), LISTBOX_InsertString(), load_mono(), load_xul(), lookup_assembly(), lookup_winsxs(), make_export_file_filter(), make_import_file_filter(), MCI_FinishOpen(), MCI_Open(), MCI_WriteString(), MCIAVI_mciOpen(), mciSendStringW(), MCIWND_UpdateState(), MCIWndProc(), MDI_UpdateFrameText(), MIDI_mciOpen(), MIDIMAP_drvOpen(), MimeHtmlProtocolInfo_CombineUrl(), MimeOleObjectFromMoniker(), MLLoadLibraryW(), module_fill_module(), module_find_cb(), MSACM_GetRegistryKey(), MSACM_RegisterDriver(), msi_add_cabinet_stream(), msi_create_full_path(), msi_dialog_add_font(), msi_dialog_get_sans_serif_height(), msi_dialog_hyperlink(), msi_dialog_line_control(), msi_dialog_set_property_event(), MSI_GetFeatureInfo(), MSI_ProcessMessage(), msi_set_property(), MsiGetFileVersionW(), MSIREG_DeleteUninstallKey(), MSIREG_DeleteUserFeaturesKey(), MSIREG_DeleteUserProductKey(), MSIREG_DeleteUserUpgradeCodesKey(), MSIREG_OpenClassesUpgradeCodesKey(), MSIREG_OpenFeaturesKey(), MSIREG_OpenInstallerFeaturesKey(), MSIREG_OpenProductKey(), MSIREG_OpenUninstallKey(), MSIREG_OpenUpgradeCodesKey(), MSIREG_OpenUserComponentsKey(), MSIREG_OpenUserPatchesKey(), MSIREG_OpenUserUpgradeCodesKey(), MsiViewGetErrorW(), name_GetDisplayName(), name_GetName(), namespacemanager_getDeclaredPrefix(), namespacemanager_getPrefix(), namespacemanager_getURI(), NdrDllRegisterProxy(), NdrDllUnregisterProxy(), notify_dispinfoT(), nsDirectoryServiceProvider2_GetFiles(), open_package(), pagesetup_set_devnames(), parser_add_table(), path_find_symbol_file(), path_GetClassName(), path_GetNamespaceAt(), path_GetServer(), path_GetText(), path_SetText(), PathAddExtensionW(), PathCompactPathExW(), PathCompactPathW(), PathFindOnPathExW(), PathIsDirectoryEmptyW(), PathProcessCommandW(), PathRelativePathToW(), PathRenameExtensionW(), PathUnExpandEnvStringsW(), PathYetAnotherMakeUniqueName(), pdh_strdup(), PdhLookupPerfNameByIndexW(), PdhMakeCounterPathW(), pe_load_native_module(), PROFILE_Find(), PROFILE_Open(), PROFILE_Save(), PROFILE_SetString(), promptdisk_browse(), promptdisk_ok(), pSetupDuplicateString(), PSStringFromPropertyKey(), push_string(), query_from_path(), query_headers(), query_prop(), ready_media(), reg_data_to_wchar(), register_codec(), register_dlls_callback(), register_dsound_devices(), register_legacy_filters(), register_verb(), registry_callback(), RenderHDROP(), return_strval(), run_winemenubuilder(), sc_FNNOTIFY_W(), SearchTreeForFileW(), set_cookies(), set_environment(), SetChmPath(), SetupCopyOEMInfW(), SETUPDI_CreateDrvKey(), SetupDiBuildDriverInfoList(), SetupDiCreateDeviceInfoListExW(), SetupDiGetActualSectionToInstallExW(), SetupDiGetDeviceInfoListDetailW(), SetupDiGetDeviceInterfaceDetailW(), SetupDiGetDeviceRegistryPropertyW(), SetupDiInstallDevice(), SetupGetInfFileListW(), SetupInstallFileW(), SetupIterateCabinetW(), SetupOpenInfFileW(), SetupPromptForDiskW(), SetupQueryInfOriginalFileInformationW(), SetupQueueCopySectionW(), SHELL_execute(), SHELL_execute_class(), SHELL_quote_and_execute(), SHELL_translate_idlist(), SHGetFileInfoW(), SHGetFolderPathAndSubDirW(), SHGetIniStringW(), SHGetWebFolderFilePathW(), SHLWAPI_PathFindInOtherDirs(), show_msgbox(), SHRegGetCLSIDKeyW(), source_matches_volume(), SPY_GetClassName(), start_enumeration(), STATUSBAR_GetTextW(), STATUSBAR_SetTextT(), STATUSBAR_WMCreate(), STATUSBAR_WMGetText(), STATUSBAR_WMSetText(), StorageBaseImpl_CreateStorage(), StorageBaseImpl_CreateStream(), StorageBaseImpl_RenameElement(), StorageImpl_Refresh(), StorageUtl_CopyDirEntryToSTATSTG(), Str_SetPtrW(), str_to_buffer(), strcatW(), StrCpyW(), strdupW(), string_to_guid(), StrToOleStrW(), SymFindFileInPathW(), SymGetModuleInfoW(), SysMouseWImpl_GetObjectInfo(), TOOLBAR_GetButtonText(), TOOLTIPS_AddToolT(), TOOLTIPS_CopyInfoT(), TOOLTIPS_SetToolInfoT(), TOOLTIPS_UpdateTipTextT(), TREEVIEW_EndEditLabelNow(), TREEVIEW_UpdateDispInfo(), uninstall_assembly(), update_ini_callback(), URL_ApplyDefault(), URL_CreateFromPath(), URL_GuessScheme(), urlcache_entry_create(), UrlCombineW(), UrlCreateFromPathW(), use_connection_set_accessnameW(), VarFormatPercent(), VARIANT_FormatNumber(), WAVE_mciOpenFile(), widGetDevCaps(), wined3d_adapter_init(), wined3d_adapter_init_nogl(), WinHttpOpenRequest(), WININET_GetAuthRealm(), WNetGetProviderNameW(), write_predefined_strings(), and WritePrivateProfileSectionW().

◆ strcspnW()

WINE_UNICODE_INLINE size_t strcspnW ( const WCHAR str,
const WCHAR reject 
)

Definition at line 274 of file unicode.h.

275 {
276  const WCHAR *ptr;
277  for (ptr = str; *ptr; ptr++) if (strchrW( reject, *ptr )) break;
278  return ptr - str;
279 }
WINE_UNICODE_INLINE WCHAR * strchrW(const WCHAR *str, WCHAR ch)
Definition: unicode.h:248
static PVOID ptr
Definition: dispmode.c:27
const WCHAR * str
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by StrCSpnW().

◆ strlenW()

WINE_UNICODE_INLINE unsigned int strlenW ( const WCHAR str)

Definition at line 212 of file unicode.h.

213 {
214  const WCHAR *s = str;
215  while (*s) s++;
216  return (unsigned int)(s - str);
217 }
const WCHAR * str
__wchar_t WCHAR
Definition: xmlstorage.h:180
GLdouble s
Definition: gl.h:2039

Referenced by __FindExecutableImageExW(), __WideCharToMultiByte(), _copyNetResourceForEnumW(), _copyStringToEnumW(), _countProviderBytesW(), _enumerateContextW(), _enumerateProvidersW(), _putws(), _SHExpandEnvironmentStrings(), _SHGetCurrentVersionPath(), _SHGetProfilesValue(), _SHGetUserShellFolderPath(), _SHRegisterFolders(), _wcsdup(), _wcsrev(), _wmakepath(), _wmakepath_s(), AboutProtocol_Start(), AboutProtocolInfo_ParseUrl(), acmDriverMessage(), acmFormatDetailsW(), ACTION_AppSearchGetSignature(), ACTION_ExecuteAction(), ACTION_ExpandAnyPath(), ACTION_PublishFeatures(), ACTION_RecurseSearchDirectory(), ACTION_RegisterClassInfo(), ACTION_RegisterExtensionInfo(), ACTION_RegisterMIMEInfo(), ACTION_UnregisterClassInfo(), ACTION_UnregisterExtensionInfo(), ACTION_UnregisterMIMEInfo(), add_comserver_record(), add_cookie_headers(), add_dynamic_var(), add_host_header(), add_ifaceps_record(), add_request_headers(), AddKnownDriverToList(), AddMRUStringW(), alloc_child_window(), alloc_element(), alloc_search_item(), allocate_information_node(), allocate_property_information(), AMGetErrorTextW(), append_multi_sz_value(), append_path(), append_productcode(), append_string(), APPINFO_QueryOption(), array_compute_and_size_conformance(), array_compute_and_write_conformance(), Array_get_value(), Array_join(), Array_toString(), assembly_get_path(), AssocFindByBuiltinExtension(), AtlLoadTypeLib(), AX_ConvertDialogTemplate(), BackgroundCopyJob_SetDescription(), Base64WithHeaderAndTrailerToBinaryW(), BasePinImpl_QueryId(), BinaryToBase64W(), BrsFolder_NewFolder(), build_assembly_dir(), build_assembly_id(), build_assembly_name(), build_clr_surrogate_section(), build_dirname(), build_dllredirect_section(), build_filepathsW(), build_full_keypath(), build_header_request_string(), build_local_assembly_path(), build_path(), build_policy_filename(), build_policy_name(), build_policy_path(), build_proplist(), build_proxy_path_url(), build_query_string(), build_relpath(), build_request_path(), build_request_string(), build_resource_string(), build_signature_table_name(), build_source_filename(), build_tlib_section(), build_wndclass_section(), build_wpad_url(), cabinet_copy_file(), cache_container_delete_dir(), cache_container_set_size(), cache_containers_init(), cache_QueryAssemblyInfo(), calc_length(), calc_url_length(), cert_name_to_str_with_indent(), CertGetNameStringW(), check_keywords(), CheckSectionValid(), chm_enumerate_dir(), clsid_from_string_reg(), co_strdupW(), CoInternetGetSecurityUrl(), COM_OpenKeyForCLSID(), COMBOEX_DrawItem(), COMBOEX_InsertItemW(), COMBOEX_SetItemW(), CommandLineToArgvW(), commit_cache_entry(), comp_length(), compare_substring(), CompareStringEx(), compiler_alloc_string(), COMPOBJ_DllList_Add(), compose_request_url(), concat_W(), concatenate_string_list(), container_matches_cert(), Control_DoWindow(), ConvertSecurityDescriptorToStringSecurityDescriptorW(), ConvertTimeString(), cookie_set_to_string(), copy_file(), copy_folder(), copy_install_file(), copy_propbag2(), CopyBindInfo(), CopyStgMedium(), create_cache_entry(), create_EnumMoniker(), create_full_path(), create_full_pathW(), create_ie_window(), create_monodata(), create_PropertyBag(), create_qualifier_enum(), create_signature(), create_system_dirid(), create_taskdialog_template(), create_temp_dir(), create_writer_output(), CreateDeviceInfo(), CreateDeviceInterface(), CreateInfFileDetails(), CreateMRUListLazyW(), CredDialogCommandOk(), CredIsMarshaledCredentialW(), CredMarshalCredentialW(), CredUIConfirmCredentialsW(), CredUIParseUserNameW(), CredUIPromptForCredentialsW(), CredUnmarshalCredentialW(), CRYPT_AddPrefixW(), CRYPT_AsnEncodeIA5String(), CRYPT_AsnEncodeNumericString(), CRYPT_AsnEncodePrintableString(), CRYPT_AsnEncodeUnicodeStringCoerce(), CRYPT_AsnEncodeUniversalString(), CRYPT_AsnEncodeUTF8String(), CRYPT_FormatAltNameEntry(), CRYPT_FormatAltNameInfo(), CRYPT_FormatAuthorityInfoAccess(), CRYPT_FormatAuthorityKeyId2(), CRYPT_FormatBasicConstraints2(), CRYPT_FormatBits(), CRYPT_FormatCertIssuer(), CRYPT_FormatCPS(), CRYPT_FormatCRLDistPoints(), CRYPT_FormatEnhancedKeyUsage(), CRYPT_FormatHexStringWithPrefix(), CRYPT_FormatKeyUsage(), CRYPT_FormatNetscapeCertType(), CRYPT_FormatReason(), CRYPT_FormatSpcFinancialCriteria(), CRYPT_FormatUserNotice(), CRYPT_GetProvKeyName(), CRYPT_GetTypeKeyName(), CryptAcquireContextW(), CryptCATAdminAddCatalog(), CryptCATAdminEnumCatalogFromHash(), CryptCATAdminRemoveCatalog(), CryptEnumProviderTypesW(), CryptSetProviderExW(), CryptStringToBinaryW(), D3DXCreateTextW(), data_start_state(), DATETIME_GetText(), DATETIME_Refresh(), DATETIME_ReturnFieldWidth(), DATETIME_UseFormat(), dde_connect(), decode_string(), deformat_component(), deformat_file(), delete_file(), delete_folder(), delete_multi_sz_value(), detail_dlg_proc(), DEVENUM_CreateAMCategoryKey(), DEVENUM_IEnumMoniker_Next(), DEVENUM_IMediaCatMoniker_GetDisplayName(), DEVENUM_IParseDisplayName_ParseDisplayName(), dialog_create(), dialog_create_window(), DIALOG_DlgDirSelect(), DIALOG_GetControl32(), DIALOG_ParseTemplate32(), DllMain(), DMORegister(), do_attribute_tag_format(), do_attributeless_tag_format(), do_authorization(), do_register_dll(), do_searchW(), domain_matches(), DP_CopyDPNAMEStruct(), DPLAYX_CopyConnStructW(), DPLAYX_SizeOfLobbyDataW(), DragQueryFileW(), draw_driver_string(), DrawTextExWorker(), DsClientMakeSpnForTargetServerW(), DsMakeSpnW(), DumpString(), EDIT_BuildLineDefs_ML(), EDIT_EM_CanUndo(), EDIT_EM_ReplaceSel(), EDIT_EM_Undo(), EDIT_WindowProc(), EDIT_WM_Create(), EDIT_WM_GetText(), EDIT_WM_Paste(), EDIT_WM_SetText(), encode_auth_data(), encodeBase64W(), ensure_useragent(), enum_gac_assemblies(), enum_store_callback(), EnumerateSectionsStartingWith(), execute_command(), expand_command(), export_append_extension(), export_hkey(), export_validate_filename(), extract_cab_file(), extract_cabinet_file(), ExtServ_ImplSetAdditionalHeaders(), FD31_UpdateResult(), field_format_public_key(), file_nameW(), file_pathW(), FILEDLG95_Handle_GetFilePath(), FILEDLG95_OnOpen(), FILEDLG95_ValidatePathAction(), FileMenu_AppendItemW(), FileMoniker_CreateFromDisplayName(), FileMonikerROTDataImpl_GetComparisonData(), FileSource_GetCurFile(), FileSource_Load(), filesys_GetAbsolutePathName(), filesys_GetBaseName(), filesys_GetDriveName(), filesys_GetFileName(), fill_index_tree(), fill_search_tree(), FilterGraph2_AddFilter(), FilterMapper3_CreateCategory(), FilterMapper3_RegisterFilter(), FilterMapper_EnumMatchingFilters(), FilterMapper_RegisterFilter(), FilterMapper_RegisterPin(), FilterMapper_RegisterPinType(), FilterMapper_UnregisterPin(), find_cert_by_name_str_w(), find_cookie(), find_existing_credential(), find_mime_from_buffer(), find_published_source(), find_typelib_key(), FindHTMLHelpSetting(), fix_px_value(), FixupServiceBinaryPath(), flatten_multi_string_values(), font_name_from_file(), format_insert(), format_string(), FormatMessageW(), FormatVerisignExtension(), fputws(), FreeUrlCacheSpaceW(), FTP_Connect(), function_to_string(), GdipMeasureDriverString(), generic_alg_property(), get_assembly_display_name(), get_assembly_name_attribute(), get_body_text(), get_cabinet_filename(), get_cert_usages(), get_channel_http_header(), get_comserver_datalen(), get_cookie(), get_csidl_dir(), get_dirid_subst(), get_duplicate_filename(), get_extrac_args(), get_file_version(), get_filename(), get_fusion_filename(), get_ifaceps_datalen(), get_interface_key(), get_key_name_for_target(), get_lineW(), get_link_file(), get_long_key(), get_manifest_in_associated_manifest(), get_mapping_key(), get_mime_clsid(), get_moniker_comparison_data(), get_object_text(), get_osname(), get_progid_datalen(), get_regdata(), get_root_key(), get_scheme_code(), get_server(), get_src_file_info(), get_string_subst(), get_text_length(), get_typelib_key(), get_unknown_dirid(), get_user_notice_from_qualifier(), get_value_bstr(), get_wine_loader_name(), GetCalendarInfoW(), GetClassNameA(), GetCurrencyFormatW(), GetExpandedNameW(), GetGeoInfoW(), GetMenuItemInfo_common(), GetMenuStringW(), GetMIMETypeSubKeyW(), GetNumberFormatW(), GetPrivateProfileStringW(), GetPrivateProfileStructW(), CQueryAssociations::GetString(), GetStringTypeW(), GetVersionInformationFromInfFile(), HANDLE_CustomType23(), handle_insert_comment(), handle_redirect(), heap_strdupW(), HH_AddToolbar(), hlink_co_strdupW(), hlink_strdupW(), HlinkIsShortcut(), HlinkParseDisplayName(), HTMLFrameBase_get_marginHeight(), HTMLFrameBase_get_marginWidth(), HtmlHelpW(), HTMLStyle_get_backgroundPositionX(), HTMLStyle_put_backgroundPositionX(), HTMLStyle_put_backgroundPositionY(), HTTP_build_req(), HTTP_DealWithProxy(), HTTP_DoAuthorization(), HTTP_DomainMatches(), HTTP_FixURL(), HTTP_HandleRedirect(), HTTP_HttpAddRequestHeadersW(), HTTP_HttpOpenRequestW(), HTTP_HttpQueryInfoW(), HTTP_HttpSendRequestW(), HTTP_InsertCookies(), HTTP_InterpretHttpHeader(), HTTP_ProcessExpires(), HTTP_ProcessHeader(), HTTP_ResolveName(), HTTP_ShouldBypassProxy(), HttpNegotiate_BeginningTransaction(), HttpProtocol_open_request(), HttpSendRequestExW(), HttpSendRequestW(), hyperlink_dlgproc(), IAssemblyCacheImpl_InstallAssembly(), IAssemblyNameImpl_GetDisplayName(), IAssemblyNameImpl_GetName(), ICONTITLE_SetTitlePos(), IDirectMusicCollectionImpl_EnumInstrument(), IdnToNameprepUnicode(), IDxDiagContainerImpl_EnumChildContainerNames(), IDxDiagContainerImpl_EnumPropNames(), IDxDiagContainerImpl_GetChildContainer(), IEnumDMO_fnNext(), IEnumRegFiltersImpl_Construct(), IEnumRegFiltersImpl_Next(), IIDFromString(), import_validate_filename(), include_pac_utils(), InfIsFromOEMLocation(), InfpAddFieldToLine(), InfpAddKeyToLine(), InfpAddSection(), InfpGetMultiSzField(), InfpGetSubstitutionString(), init_script_cache(), insert_content_item(), install_assembly(), install_inf_file(), InstallHinfSectionW(), INTERNET_FindProxyForProtocol(), INTERNET_InternetOpenUrlW(), InternetCrackUrlW(), InternetCreateUrlW(), InternetSetCookieExW(), is_gecko_path(), is_overwrite_switch(), is_switch(), IsDialogMessageW(), ItemMonikerROTDataImpl_GetComparisonData(), ITERATE_InstallService(), ITERATE_PublishComponent(), ITERATE_RemoveEnvironmentString(), ITERATE_RemoveExistingProducts(), ITERATE_RemoveODBCDataSource(), ITERATE_RemoveRegistryValuesOnInstall(), ITERATE_RemoveRegistryValuesOnUninstall(), ITERATE_WriteEnvironmentString(), ITERATE_WriteRegistryValues(), ITextRange_fnSetText(), ITextSelection_fnSetText(), ITS_IMoniker_create(), ITS_IMonikerImpl_GetDisplayName(), ITS_IParseDisplayNameImpl_ParseDisplayName(), ITSProtocol_Start(), ITSProtocolInfo_CombineUrl(), ITSS_create_chm_storage(), ITSS_IEnumSTATSTG_Next(), ITSS_IStorageImpl_OpenStorage(), ITSS_IStorageImpl_OpenStream(), jsstr_alloc(), lcid_from_rfc1766(), LCMapStringEx(), LISTBOX_FindString(), LISTBOX_GetText(), LISTBOX_InsertString(), LISTBOX_PaintItem(), LISTBOX_WindowProc(), ListBoxWndProc_common(), CExeDropHandler::Load(), load_class(), load_devices_from_reg(), load_graphics_driver(), load_message(), load_progid(), load_string(), lookup_assembly(), lookup_manifest_file(), lookup_winsxs(), loose_hex_to_rgb(), make_export_file_filter(), make_import_file_filter(), map_url_to_zone(), match_common_name(), match_dns_to_subject_dn(), match_ext(), matches_domain_pattern(), MCI_DumpCommandTable(), MCI_FinishOpen(), MCI_GetMessage(), MCI_GetReturnType(), MCI_GetString(), MCI_IsCommandTableValid(), MCI_ParseOptArgs(), MCI_SetCommandTable(), MCI_SysInfo(), MCI_WriteString(), MCIAVI_mciOpen(), mciSendStringW(), MCIWndProc(), MDI_MoreWindowsDlgProc(), MDI_UpdateFrameText(), MENU_ParseResource(), MENUEX_ParseResource(), MessageBoxTextToClipboard(), MIDI_mciOpen(), MIME_GetExtensionW(), MimeHtmlProtocolInfo_CombineUrl(), MimeInternat_ConvertString(), MimeOleObjectFromMoniker(), MkParseDisplayNameEx(), MkProtocol_StartEx(), MLBuildResURLW(), MNLS_lstrcpyW(), MNLS_lstrlenW(), module_fill_module(), module_get_type_by_name(), module_is_container_loaded(), MONTHCAL_PaintCalendar(), MONTHCAL_PaintTitle(), MONTHCAL_SetFirstDayOfWeek(), MRU_SaveChanged(), MSACM_FillFormatTagsCB(), MSACM_GetRegistryKey(), MSACM_RegisterAllDrivers(), MSACM_RegisterDriver(), MSACM_WriteCurrentPriorities(), MsgiAnsiToUnicodeReply(), msi_add_cabinet_stream(), msi_add_string(), msi_apply_transforms(), MSI_ApplyPatchW(), msi_build_directory_name(), msi_copy_outval(), msi_create_component_advertise_string(), msi_create_empty_local_file(), msi_create_full_path(), msi_create_temp_file(), msi_dialog_add_font(), msi_dialog_hyperlink(), msi_dialog_hyperlink_handler(), msi_dialog_line_control(), msi_dialog_set_property_event(), msi_font_version_from_file(), MSI_GetFeatureInfo(), MSI_GetProductInfo(), msi_maskedit_set_text(), msi_normalize_path(), msi_parse_command_line(), MSI_ProcessMessage(), MSI_ProvideQualifiedComponentEx(), msi_publish_patches(), msi_record_set_string(), msi_reduce_to_long_filename(), msi_set_property(), msi_strcpy_to_awstring(), msi_string2id(), MsiGetFileVersionW(), MsiReinstallFeatureW(), MsiSourceListGetInfoW(), MsiViewGetErrorW(), name_GetDisplayName(), name_GetName(), NdrDllRegisterProxy(), NdrDllUnregisterProxy(), new_cc_var(), NLS_GetDateTimeFormatW(), NLS_GetGeoFriendlyName(), NLS_GetLocaleString(), nsChannelBSC_beginning_transaction(), nsTooltipTextProvider_GetNodeText(), nsUploadChannel_SetUploadStream(), ntlm_GetCachedCredential(), Object_toString(), OLEFontImpl_GetSizeMax(), OLEFontImpl_IsEqual(), OLEFontImpl_Save(), OleSetAutoConvert(), OnTopicChange(), open_connection(), open_dde_url(), OpenColorProfileW(), Output(), pagesetup_set_devnames(), parse_classid(), parse_content_type(), parse_cookie(), parse_extern_script(), parse_header(), parse_hierpart(), parse_mhtml_url(), parse_resource(), parse_script(), parse_security_url(), parse_value(), ParseAceStringFlags(), ParseAceStringRights(), ParseAceStringType(), parser_add_table(), ParseURLW(), path_rootname_cmp(), path_SetClassName(), path_SetNamespaceAt(), path_SetServer(), path_SetText(), PathAddBackslashW(), PathAddExtensionW(), PathCleanupSpec(), PathCombineW(), PathCompactPathExW(), PathCompactPathW(), PathFindNextComponentW(), PathFindSuffixArrayW(), PathIsDirectoryEmptyW(), PathIsPrefixW(), PathProcessCommandW(), PathQuoteSpacesW(), PathRelativePathToW(), PathRemoveBackslashW(), PathRenameExtensionW(), PathStripPathW(), PathUnExpandEnvStringsW(), PathUnquoteSpacesW(), pdh_strdup(), PdhLookupPerfNameByIndexW(), PdhMakeCounterPathW(), pre_process_uri(), print_string(), process_header(), process_hook_section(), process_host_port(), process_state_property(), processRegLinesW(), processSetValue(), PROFILE_CopyEntry(), PROFILE_Find(), PROFILE_GetSection(), PROFILE_GetSectionNames(), PROFILE_GetString(), PROFILE_Open(), PROFILE_Save(), PROFILE_SetString(), promptdisk_ok(), prop_enum_copy_cb(), PropCopyMore(), PropertyStorage_StringCopy(), PROPSHEET_SetTitleW(), PropVariantToGUID(), push_string(), query_all(), query_feature_state(), query_headers(), query_prop(), query_value(), range_to_string(), reader_parse_externalid(), readerinput_strdupW(), RealGetWindowClassA(), RegExp2_Execute(), RegExp2_Test(), register_codec(), register_dll(), register_dlls_callback(), register_dsound_devices(), register_verb(), RegisterMIMETypeForExtensionW(), RegisterTypeLib(), registry_callback(), registry_write_credential(), remove_quotes(), RenderFILENAMEW(), RenderHDROP(), request_get_codepage(), request_send(), resolve_keypath(), ResProtocol_Start(), ResProtocolInfo_ParseUrl(), return_strval(), RpcQualityOfService_Create(), rpcrt4_http_internet_connect(), rpcrt4_ncacn_http_open(), RPCRT4_strconcatW(), RPCRT4_strndupW(), RpcStringBindingComposeW(), RpcStringBindingParseW(), RtlCreateActivationContext(), RtlInitUnicodeString(), RtlQueryInformationActivationContext(), run_winemenubuilder(), RunDlg_GetParentDir(), sane_path(), save_credentials(), sc_FNNOTIFY_W(), ScCopyProps(), ScRelocProps(), script_parse(), secure_proxy_connect(), send_http_request(), set_cert_string_property(), set_channel_http_header(), set_cookies(), set_environment(), set_print_template(), SetActivePwrScheme(), SetLastID(), SetLocaleInfoW(), SetMenuItemInfoW(), SETUP_CreateDevicesListFromEnumerator(), SetupCopyOEMInfW(), SETUPDI_CreateDrvKey(), SetupDiBuildDriverInfoList(), SetupDiCallClassInstaller(), SetupDiCreateDeviceInfoListExW(), SetupDiGetActualSectionToInstallExW(), SetupDiGetDeviceRegistryPropertyW(), SetupDiInstallClassExW(), SetupDiInstallDevice(), SetupDiInstallDeviceInterfaces(), SetupDiInstallDriverFiles(), SetupDiRegisterCoDeviceInstallers(), SetupEnumInfSectionsW(), SetupGetInfFileListW(), SetupGetTargetPathW(), SetupInstallFileW(), SetupInstallServicesFromInfSectionExW(), SetupOpenInfFileW(), SetupPromptForDiskW(), SetupQueueCopySectionW(), SetupSetDirectoryIdW(), SetUserGeoID(), SHAboutInfoW(), SHELL_execute(), SHELL_execute_url(), SHELL_translate_idlist(), SHGetIniStringW(), SHGetNewLinkInfoW(), SHGetWebFolderFilePathW(), show_msgbox(), SHStringFromGUIDW(), SHStripMneumonicW(), SHUnicodeToAnsiCP(), size_hlink_string(), SNB_UserMarshal(), SNB_UserSize(), SNB_UserUnmarshal(), source_matches_volume(), split_multi_string_values(), split_reg_path(), SQLValidDSNW(), SspiPromptForCredentialsW(), start_enumeration(), STATUSBAR_GetTextLength(), STATUSBAR_GetTextW(), STATUSBAR_SetTextT(), STATUSBAR_WMCreate(), STATUSBAR_WMGetText(), STATUSBAR_WMSetText(), STGMEDIUM_UserMarshal(), STGMEDIUM_UserSize(), str_dup_upper(), Str_GetPtrW(), Str_SetPtrW(), str_to_buffer(), StrCatBuffW(), StrCatChainW(), strcatW(), strdupW(), StrDupW(), StrFromTimeIntervalW(), strip_spaces(), StrNCatW(), StrRChrIW(), StrRChrW(), StrRetToBufW(), StrRStrIW(), StrStrIW(), StrStrNIW(), StrStrNW(), StrToOleStrW(), StrTrimW(), substrz(), SymMatchFileNameW(), SYSLINK_AppendDocItem(), SYSLINK_ParseText(), taskdialog_add_control(), taskdialog_get_text_extent(), TEXT_Ellipsify(), TEXT_PathEllipsify(), throw_error(), TLB_AllocAndInitVarDesc(), TLB_ReadTypeLib(), TLB_register_interface(), TOOLBAR_AddStringW(), TOOLBAR_GetButtonText(), TOOLBAR_GetStringW(), TOOLBAR_MapAccelerator(), TOOLBAR_MeasureString(), TOOLBAR_TTGetDispInfo(), TOOLTIPS_GetTextLength(), TOOLTIPS_OnWMGetText(), TOOLTIPS_SetTitleT(), transfer_file_local(), TREEVIEW_Command(), TREEVIEW_ComputeTextWidth(), TREEVIEW_CreateDragImage(), TREEVIEW_DrawItem(), TREEVIEW_EditLabel(), Typelib_EnumResNameProc(), UlPropSize(), UnDecorateSymbolNameW(), unescape_string_binding_componentW(), uninstall_assembly(), update_result_text(), update_user_agent(), URL_ApplyDefault(), URL_CreateFromPath(), URL_GuessScheme(), url_matches(), URL_ParseUrl(), urlcache_create_file_pathW(), UrlCanonicalizeW(), UrlCombineW(), UrlCompareW(), URLDownloadToCacheFileW(), UrlIsW(), use_connection_pre_set_accessnameW(), user_notice_dlg_proc(), UuidFromStringW(), VarBstrFromDate(), VarDateFromStr(), VarFormatPercent(), VARIANT_BstrFromReal(), VARIANT_BstrReplaceDecimal(), VARIANT_FormatString(), VARIANT_MakeBstr(), VerFindFileW(), wcscpy_s(), wcsncat_s(), wcsncpy_s(), wine_fold_string(), winhttp_request_SetRequestHeader(), WinHttpCrackUrl(), WinHttpCreateUrl(), WinHttpOpenRequest(), WinHttpSendRequest(), WinHttpSetDefaultProxyConfiguration(), WININET_GetAuthRealm(), WININET_GetSetPassword(), WinMGMTS_ParseDisplayName(), wmain(), WMSFT_compile_impfile(), WMSFT_compile_names(), WMSFT_compile_strings(), wnet_use_connection(), WNetGetProviderNameW(), write_config_value(), write_hlink_string(), write_output_buffer(), write_predefined_strings(), WritePrivateProfileSectionW(), WritePwrScheme(), WshShell3_RegRead(), wstrbuf_append_node(), xml_elem_cmp(), xmlreader_MoveToAttributeByName(), xmlwriter_WriteCData(), and xmlwriter_WriteComment().

◆ strlwrW()

WINE_UNICODE_INLINE WCHAR* strlwrW ( WCHAR str)

Definition at line 281 of file unicode.h.

282 {
283  WCHAR *ret = str;
284  while ((*str = tolowerW(*str))) str++;
285  return ret;
286 }
const WCHAR * str
__wchar_t WCHAR
Definition: xmlstorage.h:180
WINE_UNICODE_INLINE WCHAR tolowerW(WCHAR ch)
Definition: unicode.h:135
int ret

Referenced by CharLowerW(), ListBoxWndProc_common(), and MSACM_WriteCurrentPriorities().

◆ strncmpiW()

int strncmpiW ( const WCHAR str1,
const WCHAR str2,
int  n 
)

Definition at line 44 of file string.c.

45 {
46  int ret = 0;
47  for ( ; n > 0; n--, str1++, str2++)
48  if ((ret = tolowerW(*str1) - tolowerW(*str2)) || !*str1) break;
49  return ret;
50 }
GLdouble n
Definition: glext.h:7729
WINE_UNICODE_INLINE WCHAR tolowerW(WCHAR ch)
Definition: unicode.h:135
int ret

Referenced by StrStrNIW().

◆ strncmpW()

◆ strpbrkW()

WINE_UNICODE_INLINE WCHAR* strpbrkW ( const WCHAR str,
const WCHAR accept 
)

Definition at line 261 of file unicode.h.

262 {
263  for ( ; *str; str++) if (strchrW( accept, *str )) return (WCHAR *)(ULONG_PTR)str;
264  return NULL;
265 }
WINE_UNICODE_INLINE WCHAR * strchrW(const WCHAR *str, WCHAR ch)
Definition: unicode.h:248
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
SOCKET WSAAPI accept(IN SOCKET s, OUT LPSOCKADDR addr, OUT INT FAR *addrlen)
Definition: socklife.c:23
#define ULONG_PTR
Definition: config.h:101

Referenced by comment_line(), FILEDLG95_InitControls(), FILEDLG95_ValidatePathAction(), get_lineW(), GetFileTitleW(), processRegLinesW(), SQLValidDSNW(), StrPBrkW(), and UrlCombineW().

◆ strrchrW()

WINE_UNICODE_INLINE WCHAR* strrchrW ( const WCHAR str,
WCHAR  ch 
)

Definition at line 254 of file unicode.h.

255 {
256  WCHAR *ret = NULL;
257  do { if (*str == ch) ret = (WCHAR *)(ULONG_PTR)str; } while (*str++);
258  return ret;
259 }
uint32_t ULONG_PTR
Definition: typedefs.h:63
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
int ret

Referenced by ACTION_AppSearchComponents(), ACTION_CustomAction(), ACTION_ProcessComponents(), add_wildcard(), AddERExcludedApplicationW(), AVIFILE_GetFileHandlerByExtension(), BrsFolder_Treeview_Rename(), build_source_filename(), cabinet_copy_file(), cache_QueryAssemblyInfo(), cache_UninstallAssembly(), compareExt(), copy_install_file(), create_full_path(), create_full_pathW(), CreateDeviceInfo(), CreateInfFileDetails(), CredUIParseUserNameW(), CRYPT_FileNameOpenStoreW(), dde_connect(), delete_key(), DIALOG_DlgDirListW(), dsound_enum(), enum_gac_assemblies(), escape_url(), export_append_extension(), extract_cabinet_file(), FD31_StripEditControl(), FD31_TestPath(), FD31_Validate(), file_get_Name(), FILEDLG95_MRU_load_filename(), FILEDLG95_MRU_save_filename(), FileProtocol_StartEx(), folder_get_Name(), FTP_FtpFindFirstFileW(), get_dnsserversearchorder(), get_duplicate_filename(), get_file_type(), get_inf_dir(), get_link_file(), get_uri_path(), get_working_dir(), HANDLE_CustomType23(), handle_redirect(), Host_get_Path(), Host_get_ScriptName(), HTTP_ProcessCookies(), IAssemblyCacheImpl_InstallAssembly(), IAssemblyCacheImpl_UninstallAssembly(), InfIsFromOEMLocation(), install_file(), install_init(), ITERATE_InstallODBCDriver(), ITERATE_InstallODBCTranslator(), ITERATE_MoveFiles(), ITERATE_RegisterFonts(), ITERATE_UnpublishIcon(), ITERATE_UnregisterFonts(), ITERATE_WriteEnvironmentString(), ITSProtocol_Start(), ITSProtocolInfo_CombineUrl(), key_name_state(), LaunchINFSectionExW(), load_process_feature(), lookup_winsxs(), MCI_GetDevTypeFromFileName(), MLLoadLibraryW(), move_files_wildcard(), msi_apply_transforms(), msi_create_full_path(), msi_import_stream_filename(), MSI_InstallPackage(), MSI_OpenPackageW(), msi_publish_sourcelist(), msi_set_sourcedir_props(), MsiSourceListGetInfoW(), pdh_match_path(), PdhLookupPerfNameByIndexW(), PRINTDLG_CreateDevNamesW(), processRegEntry(), promptdisk_browse(), ready_media(), RegisterTypeLib(), RtlCreateActivationContext(), set_cookies(), SetChmPath(), SetLocaleInfoW(), SetupQueryInfOriginalFileInformationW(), SHGetNewLinkInfoW(), split_reg_path(), taskdialog_get_exe_name(), TEXT_PathEllipsify(), TLB_ReadTypeLib(), UnRegisterTypeLib(), UrlCanonicalizeW(), UrlCombineW(), wildcard_to_file(), WININET_GetAuthRealm(), WMSFT_compile_impfile(), WshShortcut_put_IconLocation(), and wWinMain().

◆ strspnW()

WINE_UNICODE_INLINE size_t strspnW ( const WCHAR str,
const WCHAR accept 
)

Definition at line 267 of file unicode.h.

268 {
269  const WCHAR *ptr;
270  for (ptr = str; *ptr; ptr++) if (!strchrW( accept, *ptr )) break;
271  return ptr - str;
272 }
WINE_UNICODE_INLINE WCHAR * strchrW(const WCHAR *str, WCHAR ch)
Definition: unicode.h:248
static PVOID ptr
Definition: dispmode.c:27
const WCHAR * str
__wchar_t WCHAR
Definition: xmlstorage.h:180
SOCKET WSAAPI accept(IN SOCKET s, OUT LPSOCKADDR addr, OUT INT FAR *addrlen)
Definition: socklife.c:23

Referenced by StrSpnW(), and VARIANT_BstrFromReal().

◆ strstrW()

WCHAR* strstrW ( const WCHAR str,
const WCHAR sub 
)

Definition at line 60 of file string.c.

61 {
62  while (*str)
63  {
64  const WCHAR *p1 = str, *p2 = sub;
65  while (*p1 && *p2 && *p1 == *p2) { p1++; p2++; }
66  if (!*p2) return (WCHAR *)str;
67  str++;
68  }
69  return NULL;
70 }
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by String_replace(), String_split(), and StrStrW().

◆ strtolW()

long int strtolW ( const WCHAR nptr,
WCHAR **  endptr,
int  base 
)

Definition at line 75 of file string.c.

76 {
77  int negative;
78  register unsigned long int cutoff;
79  register unsigned int cutlim;
80  register unsigned long int i;
81  register const WCHAR *s;
82  register WCHAR c;
83  const WCHAR *save, *end;
84  int overflow;
85 
86  if (base < 0 || base == 1 || base > 36) return 0;
87 
88  save = s = nptr;
89 
90  /* Skip white space. */
91  while (isspaceW (*s))
92  ++s;
93  if (!*s) goto noconv;
94 
95  /* Check for a sign. */
96  negative = 0;
97  if (*s == '-')
98  {
99  negative = 1;
100  ++s;
101  }
102  else if (*s == '+')
103  ++s;
104 
105  /* Recognize number prefix and if BASE is zero, figure it out ourselves. */
106  if (*s == '0')
107  {
108  if ((base == 0 || base == 16) && toupperW(s[1]) == 'X')
109  {
110  s += 2;
111  base = 16;
112  }
113  else if (base == 0)
114  base = 8;
115  }
116  else if (base == 0)
117  base = 10;
118 
119  /* Save the pointer so we can check later if anything happened. */
120  save = s;
121  end = NULL;
122 
123  cutoff = ULONG_MAX / (unsigned long int) base;
124  cutlim = ULONG_MAX % (unsigned long int) base;
125 
126  overflow = 0;
127  i = 0;
128  c = *s;
129  for (;c != '\0'; c = *++s)
130  {
131  if (s == end)
132  break;
133  if (c >= '0' && c <= '9')
134  c -= '0';
135  else if (isalphaW (c))
136  c = toupperW (c) - 'A' + 10;
137  else
138  break;
139  if ((int) c >= base)
140  break;
141  /* Check for overflow. */
142  if (i > cutoff || (i == cutoff && c > cutlim))
143  overflow = 1;
144  else
145  {
146  i *= (unsigned long int) base;
147  i += c;
148  }
149  }
150 
151  /* Check if anything actually happened. */
152  if (s == save)
153  goto noconv;
154 
155  /* Store in ENDPTR the address of one character
156  past the last character we converted. */
157  if (endptr != NULL)
158  *endptr = (WCHAR *)s;
159 
160  /* Check for a value that is within the range of
161  `unsigned LONG int', but outside the range of `LONG int'. */
162  if (overflow == 0
163  && i > (negative
164  ? -((unsigned long int) (LONG_MIN + 1)) + 1
165  : (unsigned long int) LONG_MAX))
166  overflow = 1;
167 
168  if (overflow)
169  {
170  errno = ERANGE;
171  return negative ? LONG_MIN : LONG_MAX;
172  }
173 
174  /* Return the result of the appropriate sign. */
175  return negative ? -i : i;
176 
177 noconv:
178  /* We must handle a special case here: the base is 0 or 16 and the
179  first two characters are '0' and 'x', but the rest are not
180  hexadecimal digits. This is no error case. We return 0 and
181  ENDPTR points to the `x`. */
182  if (endptr != NULL)
183  {
184  if (save - nptr >= 2 && toupperW (save[-1]) == 'X'
185  && save[-2] == '0')
186  *endptr = (WCHAR *)&save[-1];
187  else
188  /* There was no number to convert. */
189  *endptr = (WCHAR *)nptr;
190  }
191 
192  return 0L;
193 }
WINE_UNICODE_INLINE int isspaceW(WCHAR wc)
Definition: unicode.h:165
GLuint GLuint end
Definition: gl.h:1545
int errno
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
GLuint base
Definition: 3dtext.c:35
smooth NULL
Definition: ftsmooth.c:416
WINE_UNICODE_INLINE WCHAR toupperW(WCHAR ch)
Definition: unicode.h:141
__wchar_t WCHAR
Definition: xmlstorage.h:180
const GLubyte * c
Definition: glext.h:8905
#define LONG_MAX
Definition: limits.h:43
#define ERANGE
Definition: acclib.h:92
static const WCHAR L[]
Definition: oid.c:1250
GLdouble s
Definition: gl.h:2039
static char int
Definition: string.c:71
#define c
Definition: ke_i.h:80
#define LONG_MIN
Definition: limits.h:42
WINE_UNICODE_INLINE int isalphaW(WCHAR wc)
Definition: unicode.h:195
#define ULONG_MAX
Definition: limits.h:44

Referenced by atolW().

◆ strtoulW()

unsigned long int strtoulW ( const WCHAR nptr,
WCHAR **  endptr,
int  base 
)

Definition at line 196 of file string.c.

197 {
198  int negative;
199  register unsigned long int cutoff;
200  register unsigned int cutlim;
201  register unsigned long int i;
202  register const WCHAR *s;
203  register WCHAR c;
204  const WCHAR *save, *end;
205  int overflow;
206 
207  if (base < 0 || base == 1 || base > 36) return 0;
208 
209  save = s = nptr;
210 
211  /* Skip white space. */
212  while (isspaceW (*s))
213  ++s;
214  if (!*s) goto noconv;
215 
216  /* Check for a sign. */
217  negative = 0;
218  if (*s == '-')
219  {
220  negative = 1;
221  ++s;
222  }
223  else if (*s == '+')
224  ++s;
225 
226  /* Recognize number prefix and if BASE is zero, figure it out ourselves. */
227  if (*s == '0')
228  {
229  if ((base == 0 || base == 16) && toupperW(s[1]) == 'X')
230  {
231  s += 2;
232  base = 16;
233  }
234  else if (base == 0)
235  base = 8;
236  }
237  else if (base == 0)
238  base = 10;
239 
240  /* Save the pointer so we can check later if anything happened. */
241  save = s;
242  end = NULL;
243 
244  cutoff = ULONG_MAX / (unsigned long int) base;
245  cutlim = ULONG_MAX % (unsigned long int) base;
246 
247  overflow = 0;
248  i = 0;
249  c = *s;
250  for (;c != '\0'; c = *++s)
251  {
252  if (s == end)
253  break;
254  if (c >= '0' && c <= '9')
255  c -= '0';
256  else if (isalphaW (c))
257  c = toupperW (c) - 'A' + 10;
258  else
259  break;
260  if ((int) c >= base)
261  break;
262  /* Check for overflow. */
263  if (i > cutoff || (i == cutoff && c > cutlim))
264  overflow = 1;
265  else
266  {
267  i *= (unsigned long int) base;
268  i += c;
269  }
270  }
271 
272  /* Check if anything actually happened. */
273  if (s == save)
274  goto noconv;
275 
276  /* Store in ENDPTR the address of one character
277  past the last character we converted. */
278  if (endptr != NULL)
279  *endptr = (WCHAR *)s;
280 
281  if (overflow)
282  {
283  errno = ERANGE;
284  return ULONG_MAX;
285  }
286 
287  /* Return the result of the appropriate sign. */
288  return negative ? -i : i;
289 
290 noconv:
291  /* We must handle a special case here: the base is 0 or 16 and the
292  first two characters are '0' and 'x', but the rest are not
293  hexadecimal digits. This is no error case. We return 0 and
294  ENDPTR points to the `x`. */
295  if (endptr != NULL)
296  {
297  if (save - nptr >= 2 && toupperW (save[-1]) == 'X'
298  && save[-2] == '0')
299  *endptr = (WCHAR *)&save[-1];
300  else
301  /* There was no number to convert. */
302  *endptr = (WCHAR *)nptr;
303  }
304 
305  return 0L;
306 }
WINE_UNICODE_INLINE int isspaceW(WCHAR wc)
Definition: unicode.h:165
GLuint GLuint end
Definition: gl.h:1545
int errno
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
GLuint base
Definition: 3dtext.c:35
smooth NULL
Definition: ftsmooth.c:416
WINE_UNICODE_INLINE WCHAR toupperW(WCHAR ch)
Definition: unicode.h:141
__wchar_t WCHAR
Definition: xmlstorage.h:180
const GLubyte * c
Definition: glext.h:8905
#define ERANGE
Definition: acclib.h:92
static const WCHAR L[]
Definition: oid.c:1250
GLdouble s
Definition: gl.h:2039
static char int
Definition: string.c:71
#define c
Definition: ke_i.h:80
WINE_UNICODE_INLINE int isalphaW(WCHAR wc)
Definition: unicode.h:195
#define ULONG_MAX
Definition: limits.h:44

◆ struprW()

WINE_UNICODE_INLINE WCHAR* struprW ( WCHAR str)

Definition at line 288 of file unicode.h.

289 {
290  WCHAR *ret = str;
291  while ((*str = toupperW(*str))) str++;
292  return ret;
293 }
const WCHAR * str
WINE_UNICODE_INLINE WCHAR toupperW(WCHAR ch)
Definition: unicode.h:141
__wchar_t WCHAR
Definition: xmlstorage.h:180
int ret

Referenced by build_signature_table_name(), CharUpperW(), ListBoxWndProc_common(), msi_parse_command_line(), reg_export(), reg_restore(), reg_save(), and wmain().

◆ tolowerW()

◆ toupperW()

◆ vsnprintfW()

int vsnprintfW ( WCHAR str,
size_t  len,
const WCHAR format,
va_list  valist 
)

Definition at line 364 of file string.c.

365 {
366  unsigned int written = 0;
367  const WCHAR *iter = format;
368  char bufa[512], fmtbufa[64], *fmta;
369 
370  while (*iter)
371  {
372  while (*iter && *iter != '%')
373  {
374  if (written++ < len)
375  *str++ = *iter;
376  iter++;
377  }
378  if (*iter == '%')
379  {
380  if (iter[1] == '%')
381  {
382  if (written++ < len)
383  *str++ = '%'; /* "%%"->'%' */
384  iter += 2;
385  continue;
386  }
387 
388  fmta = fmtbufa;
389  *fmta++ = *iter++;
390  while (*iter == '0' ||
391  *iter == '+' ||
392  *iter == '-' ||
393  *iter == ' ' ||
394  *iter == '*' ||
395  *iter == '#')
396  {
397  if (*iter == '*')
398  {
399  char *buffiter = bufa;
400  int fieldlen = va_arg(valist, int);
401  sprintf(buffiter, "%d", fieldlen);
402  while (*buffiter)
403  *fmta++ = *buffiter++;
404  }
405  else
406  *fmta++ = *iter;
407  iter++;
408  }
409 
410  while (isdigit(*iter))
411  *fmta++ = *iter++;
412 
413  if (*iter == '.')
414  {
415  *fmta++ = *iter++;
416  if (*iter == '*')
417  {
418  char *buffiter = bufa;
419  int fieldlen = va_arg(valist, int);
420  sprintf(buffiter, "%d", fieldlen);
421  while (*buffiter)
422  *fmta++ = *buffiter++;
423  iter++;
424  }
425  else
426  while (isdigit(*iter))
427  *fmta++ = *iter++;
428  }
429  if (*iter == 'h' || *iter == 'l')
430  *fmta++ = *iter++;
431 
432  switch (*iter)
433  {
434  case 's':
435  {
436  static const WCHAR none[] = { '(','n','u','l','l',')',0 };
437  const WCHAR *wstr = va_arg(valist, const WCHAR *);
438  size_t remaining = written < len ? len - written : 0;
439  size_t count;
440 
441  *fmta++ = 's';
442  *fmta = 0;
443  count = format_string( str, remaining, fmtbufa, wstr ? wstr : none, -1 );
444  str += min( count, remaining );
445  written += count;
446  iter++;
447  break;
448  }
449 
450  case 'c':
451  {
452  WCHAR wstr;
453  size_t remaining = written < len ? len - written : 0;
454  size_t count;
455 
456  wstr = va_arg(valist, int);
457  *fmta++ = 's';
458  *fmta = 0;
459  count = format_string( str, remaining, fmtbufa, &wstr, 1 );
460  str += min( count, remaining );
461  written += count;
462  iter++;
463  break;
464  }
465 
466  default:
467  {
468  /* For non wc types, use system sprintf and append to wide char output */
469  /* FIXME: for unrecognised types, should ignore % when printing */
470  char *bufaiter = bufa;
471  if (*iter == 'p')
472  sprintf(bufaiter, "%p", va_arg(valist, void*));
473  else
474  {
475  *fmta++ = *iter;
476  *fmta = '\0';
477  if (*iter == 'a' || *iter == 'A' ||
478  *iter == 'e' || *iter == 'E' ||
479  *iter == 'f' || *iter == 'F' ||
480  *iter == 'g' || *iter == 'G')
481  sprintf(bufaiter, fmtbufa, va_arg(valist, double));
482  else
483  {
484  /* FIXME: On 32 bit systems this doesn't handle int 64's. */
485  sprintf(bufaiter, fmtbufa, va_arg(valist, void *));
486  }
487  }
488  while (*bufaiter)
489  {
490  if (written++ < len)
491  *str++ = *bufaiter;
492  bufaiter++;
493  }
494  iter++;
495  break;
496  }
497  }
498  }
499  }
500  if (len)
501  {
502  if (written >= len)
503  str--;
504  *str++ = 0;
505  }
506 
507  /* FIXME: POSIX [v]snprintf() returns the equivalent of written, not -1, on short buffer. */
508  return written < len ? (int)written : -1;
509 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
#define sprintf(buf, format,...)
Definition: sprintf.c:55
const WCHAR * str
#define isdigit(c)
Definition: acclib.h:68
__wchar_t WCHAR
Definition: xmlstorage.h:180
GLenum GLsizei len
Definition: glext.h:6722
#define va_arg(ap, T)
Definition: acmsvcex.h:89
static char int
Definition: string.c:71
#define min(a, b)
Definition: monoChain.cc:55
static size_t const unsigned char size_t count
Definition: string.c:63
static __ms_va_list valist
Definition: printf.c:59
static size_t format_string(WCHAR *buffer, size_t len, const char *format, const WCHAR *str, int str_len)
Definition: string.c:310

Referenced by snprintfW(), sprintfW(), and vsprintfW().

◆ vsprintfW()

int vsprintfW ( WCHAR str,
const WCHAR format,
va_list  valist 
)

Definition at line 511 of file string.c.

512 {
513  return vsnprintfW( str, INT_MAX, format, valist );
514 }
#define INT_MAX
Definition: limits.h:40
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
const WCHAR * str
static __ms_va_list valist
Definition: printf.c:59
int vsnprintfW(WCHAR *str, size_t len, const WCHAR *format, va_list valist)
Definition: string.c:364

◆ wine_compare_string()

int wine_compare_string ( int  flags,
const WCHAR str1,
int  len1,
const WCHAR str2,
int  len2 
)

Definition at line 358 of file sortkey.c.

360 {
361  int ret;
362 
363  ret = compare_unicode_weights(flags, str1, len1, str2, len2);
364  if (!ret)
365  {
366  if (!(flags & NORM_IGNORENONSPACE))
367  ret = compare_diacritic_weights(flags, str1, len1, str2, len2);
368  if (!ret && !(flags & NORM_IGNORECASE))
369  ret = compare_case_weights(flags, str1, len1, str2, len2);
370  }
371  return ret;
372 }
static int compare_diacritic_weights(int flags, const WCHAR *str1, int len1, const WCHAR *str2, int len2)
Definition: sortkey.c:240
static int compare_unicode_weights(int flags, const WCHAR *str1, int len1, const WCHAR *str2, int len2)
Definition: sortkey.c:159
#define NORM_IGNORECASE
Definition: winnls.h:173
static int compare_case_weights(int flags, const WCHAR *str1, int len1, const WCHAR *str2, int len2)
Definition: sortkey.c:299
GLbitfield flags
Definition: glext.h:7161
int ret
#define NORM_IGNORENONSPACE
Definition: winnls.h:175

◆ wine_cp_enum_table()

const union cptable* wine_cp_enum_table ( unsigned int  index)

Definition at line 199 of file cptable.c.

200 {
201  if (index >= NB_CODEPAGES) return NULL;
202  return cptables[index];
203 }
smooth NULL
Definition: ftsmooth.c:416
GLuint index
Definition: glext.h:6031
#define index(s, c)
Definition: various.h:29
#define NB_CODEPAGES
Definition: cptable.c:178
static const union cptable *const cptables[72]
Definition: cptable.c:100

◆ wine_cp_get_table()

const union cptable* wine_cp_get_table ( unsigned int  codepage)

Definition at line 188 of file cptable.c.

189 {
190  const union cptable **res;
191 
193  sizeof(cptables[0]), cmp_codepage ))) return NULL;
194  return *res;
195 }
int codepage
Definition: win_iconv.c:156
smooth NULL
Definition: ftsmooth.c:416
#define NB_CODEPAGES
Definition: cptable.c:178
static int cmp_codepage(const void *codepage, const void *entry)
Definition: cptable.c:181
static const union cptable *const cptables[72]
Definition: cptable.c:100
GLuint res
Definition: glext.h:9613
#define bsearch

◆ wine_cp_mbstowcs()

int wine_cp_mbstowcs ( const union cptable table,
int  flags,
const char src,
int  srclen,
WCHAR dst,
int  dstlen 
)

Definition at line 247 of file mbtowc.c.

250 {
251  const unsigned char *src = (const unsigned char*) s;
252 
253  if (table->info.char_size == 1)
254  {
256  {
257  if (check_invalid_chars_sbcs( &table->sbcs, flags, src, srclen )) return -2;
258  }
259  if (!(flags & MB_COMPOSITE))
260  {
261  if (!dstlen) return srclen;
262  return mbstowcs_sbcs( &table->sbcs, flags, src, srclen, dst, dstlen );
263  }
264  return mbstowcs_sbcs_decompose( &table->sbcs, flags, src, srclen, dst, dstlen );
265  }
266  else /* mbcs */
267  {
269  {
270  if (check_invalid_chars_dbcs( &table->dbcs, src, srclen )) return -2;
271  }
272  if (!(flags & MB_COMPOSITE))
273  return mbstowcs_dbcs( &table->dbcs, src, srclen, dst, dstlen );
274  else
275  return mbstowcs_dbcs_decompose( &table->dbcs, src, srclen, dst, dstlen );
276  }
277 }
#define MB_ERR_INVALID_CHARS
Definition: unicode.h:41
static int mbstowcs_dbcs_decompose(const struct dbcs_table *table, const unsigned char *src, unsigned int srclen, WCHAR *dst, unsigned int dstlen)
Definition: mbtowc.c:200
#define MB_COMPOSITE
Definition: unicode.h:40
static int mbstowcs_sbcs_decompose(const struct sbcs_table *table, int flags, const unsigned char *src, unsigned int srclen, WCHAR *dst, unsigned int dstlen)
Definition: mbtowc.c:99
static int mbstowcs_sbcs(const struct sbcs_table *table, int flags, const unsigned char *src, unsigned int srclen, WCHAR *dst, unsigned int dstlen)
Definition: mbtowc.c:54
static int check_invalid_chars_sbcs(const struct sbcs_table *table, int flags, const unsigned char *src, unsigned int srclen)
Definition: mbtowc.c:35
static DWORD LPDWORD LPCSTR DWORD srclen
Definition: directory.c:51
static int mbstowcs_dbcs(const struct dbcs_table *table, const unsigned char *src, unsigned int srclen, WCHAR *dst, unsigned int dstlen)
Definition: mbtowc.c:173
GLbitfield flags
Definition: glext.h:7161
GLdouble s
Definition: gl.h:2039
static int check_invalid_chars_dbcs(const struct dbcs_table *table, const unsigned char *src, unsigned int srclen)
Definition: mbtowc.c:144
GLenum src
Definition: glext.h:6340
static DWORD dstlen
Definition: directory.c:51
GLenum GLenum dst
Definition: glext.h:6340

◆ wine_cp_wcstombs()

int wine_cp_wcstombs ( const union cptable table,
int  flags,
const WCHAR src,
int  srclen,
char dst,
int  dstlen,
const char defchar,
int used 
)

Definition at line 411 of file wctomb.c.

414 {
415  if (table->info.char_size == 1)
416  {
417  if (flags || defchar || used)
418  {
419  if (!dstlen) return get_length_sbcs( &table->sbcs, flags, src, srclen, used );
420  return wcstombs_sbcs_slow( &table->sbcs, flags, src, srclen,
421  dst, dstlen, defchar, used );
422  }
423  if (!dstlen) return srclen;
424  return wcstombs_sbcs( &table->sbcs, src, srclen, dst, dstlen );
425  }
426  else /* mbcs */
427  {
428  if (!dstlen) return get_length_dbcs( &table->dbcs, flags, src, srclen, defchar, used );
429  if (flags || defchar || used)
430  return wcstombs_dbcs_slow( &table->dbcs, flags, src, srclen,
431  dst, dstlen, defchar, used );
432  return wcstombs_dbcs( &table->dbcs, src, srclen, dst, dstlen );
433  }
434 }
static int wcstombs_sbcs(const struct sbcs_table *table, const WCHAR *src, unsigned int srclen, char *dst, unsigned int dstlen)
Definition: wctomb.c:92
static int get_length_dbcs(const struct dbcs_table *table, int flags, const WCHAR *src, unsigned int srclen, const char *defchar, int *used)
Definition: wctomb.c:249
c used
Definition: write.c:2877
static int wcstombs_dbcs_slow(const struct dbcs_table *table, int flags, const WCHAR *src, unsigned int srclen, char *dst, unsigned int dstlen, const char *defchar, int *used)
Definition: wctomb.c:341
static DWORD LPDWORD LPCSTR DWORD srclen
Definition: directory.c:51
static int get_length_sbcs(const struct sbcs_table *table, int flags, const WCHAR *src, unsigned int srclen, int *used)
Definition: wctomb.c:40
GLbitfield flags
Definition: glext.h:7161
static int wcstombs_sbcs_slow(const struct sbcs_table *table, int flags, const WCHAR *src, unsigned int srclen, char *dst, unsigned int dstlen, const char *defchar, int *used)
Definition: wctomb.c:156
GLenum src
Definition: glext.h:6340
static DWORD dstlen
Definition: directory.c:51
GLenum GLenum dst
Definition: glext.h:6340
static int wcstombs_dbcs(const struct dbcs_table *table, const WCHAR *src, unsigned int srclen, char *dst, unsigned int dstlen)
Definition: wctomb.c:317

◆ wine_cpsymbol_mbstowcs()

int wine_cpsymbol_mbstowcs ( const char src,
int  srclen,
WCHAR dst,
int  dstlen 
)

◆ wine_cpsymbol_wcstombs()

int wine_cpsymbol_wcstombs ( const WCHAR src,
int  srclen,
char dst,
int  dstlen 
)

◆ wine_fold_string()

int wine_fold_string ( int  flags,
const WCHAR src,
int  srclen,
WCHAR dst,
int  dstlen 
)

Definition at line 118 of file fold.c.

119 {
120  WCHAR *dstbase = dst;
121  const WCHAR *expand;
122  int i;
123 
124  if (srclen == -1)
125  srclen = strlenW(src) + 1; /* Include terminating NUL in count */
126 
127  if (!dstlen)
128  {
129  /* Calculate the required size for dst */
130  dstlen = srclen;
131 
132  if (flags & MAP_EXPAND_LIGATURES)
133  {
134  while (srclen--)
135  {
137  src++;
138  }
139  }
140  else if (flags & MAP_COMPOSITE)
141  {
142  /* FIXME */
143  }
144  else if (flags & MAP_PRECOMPOSED)
145  {
146  /* FIXME */
147  }
148  return dstlen;
149  }
150 
151  if (srclen > dstlen)
152  return 0;
153 
154  dstlen -= srclen;
155 
156  /* Actually perform the mapping(s) specified */
157  for (i = 0; i < srclen; i++)
158  {
159  WCHAR ch = *src;
160 
161  if (flags & MAP_EXPAND_LIGATURES)
162  {
163  expand = get_ligature(ch);
164  if (expand[0])
165  {
166  if (!dstlen--)
167  return 0;
168  dst[0] = expand[0];
169  if (expand[2])
170  {
171  if (!dstlen--)
172  return 0;
173  *++dst = expand[1];
174  ch = expand[2];
175  }
176  else
177  ch = expand[1];
178  dst++;
179  }
180  }
181  else if (flags & MAP_COMPOSITE)
182  {
183  /* FIXME */
184  }
185  else if (flags & MAP_PRECOMPOSED)
186  {
187  /* FIXME */
188  }
189  if (flags & MAP_FOLDDIGITS)
190  ch = to_unicode_digit(ch);
191  if (flags & MAP_FOLDCZONE)
192  ch = to_unicode_native(ch);
193 
194  *dst++ = ch;
195  src++;
196  }
197  return dst - dstbase;
198 }
#define MAP_FOLDDIGITS
Definition: winnls.h:211
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
Definition: unicode.h:212
#define MAP_COMPOSITE
Definition: winnls.h:213
#define MAP_FOLDCZONE
Definition: winnls.h:210
static const WCHAR * get_ligature(WCHAR wc)
Definition: fold.c:100
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static WCHAR to_unicode_native(WCHAR ch)
Definition: fold.c:29
#define MAP_PRECOMPOSED
Definition: winnls.h:212
static BOOL expand(LPINT ac, LPTSTR **arg, LPCTSTR pattern)
Definition: misc.c:215
static int get_ligature_len(WCHAR wc)
Definition: fold.c:84
__wchar_t WCHAR
Definition: xmlstorage.h:180
static DWORD LPDWORD LPCSTR DWORD srclen
Definition: directory.c:51
GLbitfield flags
Definition: glext.h:7161
GLenum src
Definition: glext.h:6340
static DWORD dstlen
Definition: directory.c:51
GLenum GLenum dst
Definition: glext.h:6340
static WCHAR to_unicode_digit(WCHAR ch)
Definition: fold.c:23

◆ wine_get_sortkey()

int wine_get_sortkey ( int  flags,
const WCHAR src,
int  srclen,
char dst,
int  dstlen 
)

Definition at line 33 of file sortkey.c.

34 {
35  WCHAR dummy[4]; /* no decomposition is larger than 4 chars */
36  int key_len[4];
37  char *key_ptr[4];
38  const WCHAR *src_save = src;
39  int srclen_save = srclen;
40 
41  key_len[0] = key_len[1] = key_len[2] = key_len[3] = 0;
42  for (; srclen; srclen--, src++)
43  {
44  unsigned int i, decomposed_len = 1;/*wine_decompose(*src, dummy, 4);*/
45  dummy[0] = *src;
46  if (decomposed_len)
47  {
48  for (i = 0; i < decomposed_len; i++)
49  {
50  WCHAR wch = dummy[i];
51  unsigned int ce;
52 
53  /* tests show that win2k just ignores NORM_IGNORENONSPACE,
54  * and skips white space and punctuation characters for
55  * NORM_IGNORESYMBOLS.
56  */
58  continue;
59 
60  if (flags & NORM_IGNORECASE) wch = tolowerW(wch);
61 
62  ce = collation_table[collation_table[wch >> 8] + (wch & 0xff)];
63  if (ce != (unsigned int)-1)
64  {
65  if (ce >> 16) key_len[0] += 2;
66  if ((ce >> 8) & 0xff) key_len[1]++;
67  if ((ce >> 4) & 0x0f) key_len[2]++;
68  if (ce & 1)
69  {
70  if (wch >> 8) key_len[3]++;
71  key_len[3]++;
72  }
73  }
74  else
75  {
76  key_len[0] += 2;
77  if (wch >> 8) key_len[0]++;
78  if (wch & 0xff) key_len[0]++;
79  }
80  }
81  }
82  }
83 
84  if (!dstlen) /* compute length */
85  /* 4 * '\1' + 1 * '\0' + key length */
86  return key_len[0] + key_len[1] + key_len[2] + key_len[3] + 4 + 1;
87 
88  if (dstlen < key_len[0] + key_len[1] + key_len[2] + key_len[3] + 4 + 1)
89  return 0; /* overflow */
90 
91  src = src_save;
92  srclen = srclen_save;
93 
94  key_ptr[0] = dst;
95  key_ptr[1] = key_ptr[0] + key_len[0] + 1;
96  key_ptr[2] = key_ptr[1] + key_len[1] + 1;
97  key_ptr[3] = key_ptr[2] + key_len[2] + 1;
98 
99  for (; srclen; srclen--, src++)
100  {
101  unsigned int i, decomposed_len = 1;/*wine_decompose(*src, dummy, 4);*/
102  dummy[0] = *src;
103  if (decomposed_len)
104  {
105  for (i = 0; i < decomposed_len; i++)
106  {
107  WCHAR wch = dummy[i];
108  unsigned int ce;
109 
110  /* tests show that win2k just ignores NORM_IGNORENONSPACE,
111  * and skips white space and punctuation characters for
112  * NORM_IGNORESYMBOLS.
113  */
114  if ((flags & NORM_IGNORESYMBOLS) && (get_char_typeW(wch) & (C1_PUNCT | C1_SPACE)))
115  continue;
116 
117  if (flags & NORM_IGNORECASE) wch = tolowerW(wch);
118 
119  ce = collation_table[collation_table[wch >> 8] + (wch & 0xff)];
120  if (ce != (unsigned int)-1)
121  {
122  WCHAR key;
123  if ((key = ce >> 16))
124  {
125  *key_ptr[0]++ = key >> 8;
126  *key_ptr[0]++ = key & 0xff;
127  }
128  /* make key 1 start from 2 */
129  if ((key = (ce >> 8) & 0xff)) *key_ptr[1]++ = key + 1;
130  /* make key 2 start from 2 */
131  if ((key = (ce >> 4) & 0x0f)) *key_ptr[2]++ = key + 1;
132  /* key 3 is always a character code */
133  if (ce & 1)
134  {
135  if (wch >> 8) *key_ptr[3]++ = wch >> 8;
136  if (wch & 0xff) *key_ptr[3]++ = wch & 0xff;
137  }
138  }
139  else
140  {
141  *key_ptr[0]++ = 0xff;
142  *key_ptr[0]++ = 0xfe;
143  if (wch >> 8) *key_ptr[0]++ = wch >> 8;
144  if (wch & 0xff) *key_ptr[0]++ = wch & 0xff;
145  }
146  }
147  }
148  }
149 
150  *key_ptr[0] = '\1';
151  *key_ptr[1] = '\1';
152  *key_ptr[2] = '\1';
153  *key_ptr[3]++ = '\1';
154  *key_ptr[3] = 0;
155 
156  return key_ptr[3] - dst;
157 }
#define NORM_IGNORESYMBOLS
Definition: winnls.h:176
#define NORM_IGNORECASE
Definition: winnls.h:173
const unsigned int collation_table[]
Definition: collation.c:5
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
__wchar_t WCHAR
Definition: xmlstorage.h:180
static DWORD LPDWORD LPCSTR DWORD srclen
Definition: directory.c:51
WINE_UNICODE_INLINE WCHAR tolowerW(WCHAR ch)
Definition: unicode.h:135
WINE_UNICODE_INLINE unsigned short get_char_typeW(WCHAR ch)
Definition: unicode.h:149
GLbitfield flags
Definition: glext.h:7161
#define C1_PUNCT
Definition: unicode.h:35
HKEY key
Definition: reg.c:42
GLenum src
Definition: glext.h:6340
static DWORD dstlen
Definition: directory.c:51
GLenum GLenum dst
Definition: glext.h:6340
#define C1_SPACE
Definition: unicode.h:34
Definition: path.c:42

◆ wine_is_dbcs_leadbyte()

WINE_UNICODE_INLINE int wine_is_dbcs_leadbyte ( const union cptable table,
unsigned char  ch 
)

Definition at line 130 of file unicode.h.

131 {
132  return (table->info.char_size == 2) && (table->dbcs.cp2uni_leadbytes[ch]);
133 }

◆ wine_utf8_mbstowcs()

int wine_utf8_mbstowcs ( int  flags,
const char src,
int  srclen,
WCHAR dst,
int  dstlen 
)

Definition at line 304 of file utf8.c.

305 {
306  unsigned int res;
307  const char *srcend = src + srclen;
308  WCHAR *dstend = dst + dstlen;
309 
311 
312  if (!dstlen) return get_length_mbs_utf8( flags, src, srclen );
313 
314  while ((dst < dstend) && (src < srcend))
315  {
316  unsigned char ch = *src++;
317  if (ch < 0x80) /* special fast case for 7-bit ASCII */
318  {
319  *dst++ = ch;
320  continue;
321  }
322  if ((res = decode_utf8_char( ch, &src, srcend )) <= 0xffff)
323  {
324  *dst++ = res;
325  }
326  else if (res <= 0x10ffff) /* we need surrogates */
327  {
328  if (dst == dstend - 1) return -1; /* overflow */
329  res -= 0x10000;
330  *dst++ = 0xd800 | (res >> 10);
331  *dst++ = 0xdc00 | (res & 0x3ff);
332  }
333  else if (flags & MB_ERR_INVALID_CHARS) return -2; /* bad char */
334  /* otherwise ignore it */
335  }
336  if (src < srcend) return -1; /* overflow */
337  return dstlen - (dstend - dst);
338 }
#define MB_ERR_INVALID_CHARS
Definition: unicode.h:41
#define MB_COMPOSITE
Definition: unicode.h:40
static int get_length_mbs_utf8(int flags, const char *src, int srclen)
Definition: utf8.c:277
__wchar_t WCHAR
Definition: xmlstorage.h:180
static DWORD LPDWORD LPCSTR DWORD srclen
Definition: directory.c:51
GLbitfield flags
Definition: glext.h:7161
GLenum src
Definition: glext.h:6340
static DWORD dstlen
Definition: directory.c:51
GLenum GLenum dst
Definition: glext.h:6340
GLuint res
Definition: glext.h:9613
static unsigned int decode_utf8_char(unsigned char ch, const char **str, const char *strend)
Definition: utf8.c:161
static int utf8_mbstowcs_compose(int flags, const char *src, int srclen, WCHAR *dst, int dstlen)
Definition: utf8.c:229

◆ wine_utf8_wcstombs()

int wine_utf8_wcstombs ( int  flags,
const WCHAR src,
int  srclen,
char dst,
int  dstlen 
)

Definition at line 98 of file utf8.c.

99 {
100  int len;
101 
102  if (!dstlen) return get_length_wcs_utf8( flags, src, srclen );
103 
104  for (len = dstlen; srclen; srclen--, src++)
105  {
106  WCHAR ch = *src;
107  unsigned int val;
108 
109  if (ch < 0x80) /* 0x00-0x7f: 1 byte */
110  {
111  if (!len--) return -1; /* overflow */
112  *dst++ = ch;
113  continue;
114  }
115 
116  if (ch < 0x800) /* 0x80-0x7ff: 2 bytes */
117  {
118  if ((len -= 2) < 0) return -1; /* overflow */
119  dst[1] = 0x80 | (ch & 0x3f);
120  ch >>= 6;
121  dst[0] = 0xc0 | ch;
122  dst += 2;
123  continue;
124  }
125 
126  if (!(val = get_surrogate_value( src, srclen )))
127  {
128  if (flags & WC_ERR_INVALID_CHARS) return -2;
129  continue;
130  }
131 
132  if (val < 0x10000) /* 0x800-0xffff: 3 bytes */
133  {
134  if ((len -= 3) < 0) return -1; /* overflow */
135  dst[2] = 0x80 | (val & 0x3f);
136  val >>= 6;
137  dst[1] = 0x80 | (val & 0x3f);
138  val >>= 6;
139  dst[0] = 0xe0 | val;
140  dst += 3;
141  }
142  else /* 0x10000-0x10ffff: 4 bytes */
143  {
144  if ((len -= 4) < 0) return -1; /* overflow */
145  dst[3] = 0x80 | (val & 0x3f);
146  val >>= 6;
147  dst[2] = 0x80 | (val & 0x3f);
148  val >>= 6;
149  dst[1] = 0x80 | (val & 0x3f);
150  val >>= 6;
151  dst[0] = 0xf0 | val;
152  dst += 4;
153  src++;
154  srclen--;
155  }
156  }
157  return dstlen - len;
158 }
static unsigned int get_surrogate_value(const WCHAR *src, unsigned int srclen)
Definition: utf8.c:48
GLuint GLfloat * val
Definition: glext.h:7180
static int get_length_wcs_utf8(int flags, const WCHAR *src, unsigned int srclen)
Definition: utf8.c:62
__wchar_t WCHAR
Definition: xmlstorage.h:180
static DWORD LPDWORD LPCSTR DWORD srclen
Definition: directory.c:51
#define WC_ERR_INVALID_CHARS
Definition: unicode.h:47
GLbitfield flags
Definition: glext.h:7161
GLenum GLsizei len
Definition: glext.h:6722
GLenum src
Definition: glext.h:6340
static DWORD dstlen
Definition: directory.c:51
GLenum GLenum dst
Definition: glext.h:6340