Skip to content

Commit 2c79476

Browse files
authored
xString: Fixes for anonymous functions and match progress on imemcmp (#661)
1 parent bf2c04d commit 2c79476

File tree

2 files changed

+31
-15
lines changed

2 files changed

+31
-15
lines changed

src/SB/Core/x/xString.cpp

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,21 +61,42 @@ char* xStrupr(char* string)
6161
return string;
6262
}
6363

64-
// @unnamed@xString_cpp@::tolower(char)
65-
extern "C" {
66-
U32 tolower__21_esc__2_unnamed_esc__2_xString_cpp_esc__2_Fc(U32 param_1)
64+
namespace
6765
{
68-
return tolower__21_esc__2_unnamed_esc__2_xString_cpp_esc__2_Fi(param_1 & 0xff);
66+
U32 tolower(char param_1);
67+
U32 tolower(S32 param_1);
68+
} // namespace
69+
70+
S32 imemcmp(void const* d1, void const* d2, size_t size)
71+
{
72+
const char* s1 = (char*)d1;
73+
const char* s2 = (char*)d2;
74+
75+
for (size_t i = 0; i < size; i++)
76+
{
77+
S32 cval1 = tolower(s1[i]);
78+
S32 cval2 = tolower(s2[i]);
79+
if (cval1 != cval2)
80+
{
81+
return cval1 - cval2;
82+
}
6983
}
84+
85+
return 0;
7086
}
7187

72-
// @unnamed@xString_cpp@::tolower(int)
73-
extern "C" {
74-
U32 tolower__21_esc__2_unnamed_esc__2_xString_cpp_esc__2_Fi(U32 param_1)
88+
namespace
89+
{
90+
U32 tolower(char param_1)
91+
{
92+
return tolower((S32)param_1);
93+
}
94+
95+
U32 tolower(S32 param_1)
7596
{
7697
return param_1 | ((param_1 >> 1) & 32);
7798
}
78-
}
99+
} // End anonymous namespace
79100

80101
S32 icompare(const substr& s1, const substr& s2)
81102
{

src/SB/Core/x/xString.h

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ struct substr
1818
U32 xStrHash(const char* str);
1919
U32 xStrHash(const char* str, size_t size);
2020
U32 xStrHashCat(U32 prefix, const char* str);
21-
char* xStrupr(char* string);
22-
S32 xStricmp(const char* string1, const char* string2);
2321
char* xStrTok(char* string, const char* control, char** nextoken);
2422
char* xStrTokBuffer(const char* string, const char* control, void* buffer);
23+
S32 xStricmp(const char* string1, const char* string2);
24+
char* xStrupr(char* string);
2525
S32 xStrParseFloatList(F32* dest, const char* strbuf, S32 max);
2626

2727
S32 imemcmp(void const* d1, void const* d2, size_t size);
@@ -39,9 +39,4 @@ size_t atox(const substr& s, size_t& read_size);
3939
size_t trim_ws(substr& s);
4040
size_t trim_ws(const char*& text, size_t& size);
4141

42-
extern "C" {
43-
U32 tolower__21_esc__2_unnamed_esc__2_xString_cpp_esc__2_Fc(U32 param_1);
44-
U32 tolower__21_esc__2_unnamed_esc__2_xString_cpp_esc__2_Fi(U32 param_1);
45-
}
46-
4742
#endif

0 commit comments

Comments
 (0)