| /* | |
| * Unicode string manipulation functions | |
| * | |
| * Copyright 2000 Alexandre Julliard | |
| */ | |
| #include "wine/unicode.h" | |
| int strcmpiW( const WCHAR *str1, const WCHAR *str2 ) | |
| { | |
| for (;;) | |
| { | |
| int ret = toupperW(*str1) - toupperW(*str2); | |
| if (ret || !*str1) return ret; | |
| str1++; | |
| str2++; | |
| } | |
| } | |
| int strncmpiW( const WCHAR *str1, const WCHAR *str2, int n ) | |
| { | |
| int ret = 0; | |
| for ( ; n > 0; n--, str1++, str2++) | |
| if ((ret = toupperW(*str1) - toupperW(*str2)) || !*str1) break; | |
| return ret; | |
| } | |
| WCHAR *strstrW( const WCHAR *str, const WCHAR *sub ) | |
| { | |
| while (*str) | |
| { | |
| const WCHAR *p1 = str, *p2 = sub; | |
| while (*p1 && *p2 && *p1 == *p2) { p1++; p2++; } | |
| if (!*p2) return (WCHAR *)str; | |
| str++; | |
| } | |
| return NULL; | |
| } |