File tree Expand file tree Collapse file tree 3 files changed +92
-2
lines changed
Expand file tree Collapse file tree 3 files changed +92
-2
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ * PROJECT: ReactOS NT CRT library
3+ * LICENSE: MIT (https://spdx.org/licenses/MIT)
4+ * PURPOSE: Implementation of _stricmp
5+ * COPYRIGHT: Copyright 2025 Timo Kreuzer <[email protected] > 6+ */
7+
8+ #include <string.h>
9+
10+ _Check_return_
11+ int
12+ __cdecl
13+ _stricmp (
14+ _In_z_ char const * _String1 ,
15+ _In_z_ char const * _String2 )
16+ {
17+ char const * p1 = _String1 ;
18+ char const * p2 = _String2 ;
19+ char chr1 , chr2 ;
20+
21+ while (1 )
22+ {
23+ chr1 = * p1 ++ ;
24+ chr2 = * p2 ++ ;
25+
26+ if (chr1 != chr2 )
27+ {
28+ if ((chr1 >= 'A' ) && (chr1 <= 'Z' ))
29+ chr1 += ('a' - 'A' );
30+ if ((chr2 >= 'A' ) && (chr2 <= 'Z' ))
31+ chr2 += ('a' - 'A' );
32+
33+ if (chr1 != chr2 )
34+ return chr1 - chr2 ;
35+ }
36+ else if (chr1 == 0 )
37+ {
38+ break ;
39+ }
40+ }
41+
42+ return 0 ;
43+ }
Original file line number Diff line number Diff line change 1+ /*
2+ * PROJECT: ReactOS NT CRT library
3+ * LICENSE: MIT (https://spdx.org/licenses/MIT)
4+ * PURPOSE: Implementation of _strnicmp
5+ * COPYRIGHT: Copyright 2025 Timo Kreuzer <[email protected] > 6+ */
7+
8+ #include <string.h>
9+
10+ _Check_return_
11+ int
12+ __cdecl
13+ _strnicmp (
14+ _In_reads_or_z_ (_MaxCount ) char const * _String1 ,
15+ _In_reads_or_z_ (_MaxCount ) char const * _String2 ,
16+ _In_ size_t _MaxCount )
17+ {
18+ char const * p1 = _String1 ;
19+ char const * p2 = _String2 ;
20+ size_t remaining = _MaxCount ;
21+ char chr1 , chr2 ;
22+
23+ while (remaining -- != 0 )
24+ {
25+ chr1 = * p1 ++ ;
26+ chr2 = * p2 ++ ;
27+
28+ if (chr1 != chr2 )
29+ {
30+ if ((chr1 >= 'A' ) && (chr1 <= 'Z' ))
31+ chr1 += ('a' - 'A' );
32+ if ((chr2 >= 'A' ) && (chr2 <= 'Z' ))
33+ chr2 += ('a' - 'A' );
34+
35+ if (chr1 != chr2 )
36+ return chr1 - chr2 ;
37+ }
38+ else if (chr1 == 0 )
39+ {
40+ break ;
41+ }
42+ }
43+
44+ return 0 ;
45+ }
Original file line number Diff line number Diff line change @@ -6,8 +6,6 @@ list(APPEND LIBCNTPR_STRING_SOURCE
66 string /is_wctype.c
77 string /scanf.c
88 string /strcspn.c
9- string /stricmp.c
10- string /strnicmp.c
119 string /strlwr.c
1210 string /strrev.c
1311 string /strset.c
@@ -95,8 +93,10 @@ list(APPEND CRT_STRING_SOURCE
9593 string /strcoll.c
9694 string /strdup.c
9795 string /strerror.c
96+ string /stricmp.c
9897 string /string .c
9998 string /strncoll.c
99+ string /strnicmp.c
100100 string /strtod.c
101101 string /strtok.c
102102 string /strtok_s.c
@@ -111,6 +111,8 @@ list(APPEND CRT_STRING_ASM_SOURCE
111111)
112112
113113list (APPEND LIBCNTPR_STRING_SOURCE
114+ string /_stricmp_nt.c
115+ string /_strnicmp_nt.c
114116 string /iswctype_nt.c
115117 string /mbstowcs_nt.c
116118 string /tolower_nt.c
You can’t perform that action at this time.
0 commit comments