int __cdecl _strcmpi(const char * dst, const char * src) { int f,l; #ifdef _MT int local_lock_flag; #endif /* _MT */ #if defined (_WIN32) if ( __lc_handle[LC_CTYPE] == _CLOCALEHANDLE ) { #endif /* defined (_WIN32) */ do { if ( ((f = (unsigned char)(*(dst++))) >= 'A') && (f <= 'Z') ) f -= ('A' - 'a'); if ( ((l = (unsigned char)(*(src++))) >= 'A') && (l <= 'Z') ) l -= ('A' - 'a'); } while ( f && (f == l) ); #if defined (_WIN32) } else { _lock_locale( local_lock_flag ) do { f = _tolower_lk( (unsigned char)(*(dst++)) ); l = _tolower_lk( (unsigned char)(*(src++)) ); } while ( f && (f == l) ); _unlock_locale( local_lock_flag ) } #endif /* defined (_WIN32) */ return(f - l); }
int __cdecl _strnicmp ( const char * first, const char * last, size_t count ) { int f,l; #ifdef _MT int local_lock_flag; #endif /* _MT */ if ( count ) { #if defined (_WIN32) if ( __lc_handle[LC_CTYPE] == _CLOCALEHANDLE ) { #endif /* defined (_WIN32) */ do { if ( ((f = (unsigned char)(*(first++))) >= 'A') && (f <= 'Z') ) f -= 'A' - 'a'; if ( ((l = (unsigned char)(*(last++))) >= 'A') && (l <= 'Z') ) l -= 'A' - 'a'; } while ( --count && f && (f == l) ); #if defined (_WIN32) } else { _lock_locale( local_lock_flag ) do { f = _tolower_lk( (unsigned char)(*(first++)) ); l = _tolower_lk( (unsigned char)(*(last++)) ); } while (--count && f && (f == l) ); _unlock_locale( local_lock_flag ) } #endif /* defined (_WIN32) */ return( f - l ); } return( 0 ); }