17 if (func1 == func2)
return true;
19 std::string prefix1 = func1.substr(0, 2);
20 std::string prefix2 = func2.substr(0, 2);
22 if ((prefix1 ==
"Zw" || prefix1 ==
"Nt") && (prefix2 ==
"Zw" || prefix2 ==
"Nt")) {
23 std::string body1 = func1.substr(2);
24 std::string body2 = func2.substr(2);
28 if (body1.length() == body2.length()) {
32 std::string* smaller_ptr = body1.length() < body2.length() ? &body1 : &body2;
33 size_t smaller_size = smaller_ptr->length();
34 if (body1.substr(0, smaller_size) == body2.substr(0, smaller_size)) {
35 std::string* bigger_ptr = body1.length() > body2.length() ? &body1 : &body2;
36 std::string suffix = bigger_ptr->substr(smaller_size);