1 /*** 2 *ismbalph.c - Test if character is alphabetic (MBCS) 3 * 4 * Copyright (c) Microsoft Corporation. All rights reserved. 5 * 6 *Purpose: 7 * Test if character is alphabetic (MBCS) 8 * 9 *******************************************************************************/ 10 #ifndef _MBCS 11 #error This file should only be compiled with _MBCS defined 12 #endif 13 14 #include <corecrt_internal_mbstring.h> 15 #include <locale.h> 16 17 18 /*** 19 * _ismbcalpha - Test if character is alphabetic (MBCS) 20 * 21 *Purpose: 22 * Test if character is alphabetic. 23 * Handles MBCS chars correctly. 24 * 25 * Note: Use test against 0x00FF instead of _ISLEADBYTE 26 * to ensure that we don't call SBCS routine with a two-byte 27 * value. 28 * 29 *Entry: 30 * unsigned int c = character to test 31 * 32 *Exit: 33 * Returns TRUE if c is alphabetic, else FALSE 34 * 35 *Exceptions: 36 * 37 *******************************************************************************/ 38 _ismbcalpha_l(unsigned int const c,_locale_t const locale)39extern "C" int __cdecl _ismbcalpha_l(unsigned int const c, _locale_t const locale) 40 { 41 _LocaleUpdate locale_update(locale); 42 43 if (c <= 0x00FF) 44 { 45 return _ismbbalpha_l(c, locale_update.GetLocaleT()); 46 } 47 48 return __dcrt_multibyte_check_type(c, locale_update.GetLocaleT(), _ALPHA, true); 49 } 50 _ismbcalpha(unsigned int const c)51extern "C" int __cdecl _ismbcalpha(unsigned int const c) 52 { 53 return _ismbcalpha_l(c, nullptr); 54 } 55