diff --git a/trunk/src/kernel/srs_kernel_utility.cpp b/trunk/src/kernel/srs_kernel_utility.cpp index 60eef5ddb6..aebee90c59 100644 --- a/trunk/src/kernel/srs_kernel_utility.cpp +++ b/trunk/src/kernel/srs_kernel_utility.cpp @@ -222,7 +222,7 @@ string srs_string_trim_end(string str, string trim_chars) ret.erase(ret.end() - 1); // ok, matched, should reset the search - i = 0; + i = -1; } } @@ -240,7 +240,7 @@ string srs_string_trim_start(string str, string trim_chars) ret.erase(ret.begin()); // ok, matched, should reset the search - i = 0; + i = -1; } } @@ -259,7 +259,7 @@ string srs_string_remove(string str, string remove_chars) it = ret.erase(it); // ok, matched, should reset the search - i = 0; + i = -1; } else { ++it; } diff --git a/trunk/src/utest/srs_utest_kernel.cpp b/trunk/src/utest/srs_utest_kernel.cpp index 93c69c80c8..46e82bcda3 100644 --- a/trunk/src/utest/srs_utest_kernel.cpp +++ b/trunk/src/utest/srs_utest_kernel.cpp @@ -1487,6 +1487,15 @@ VOID TEST(KernelUtilityTest, UtilityString) str1 = srs_string_replace(str, "o", "XX"); EXPECT_STREQ("HellXX, WXXrld! HellXX, SRS!", str1.c_str()); + + str1 = srs_string_trim_start(str, "x"); + EXPECT_STREQ("Hello, World! Hello, SRS!", str1.c_str()); + + str1 = srs_string_trim_start(str, "S!R"); + EXPECT_STREQ("Hello, World! Hello, SRS!", str1.c_str()); + + str1 = srs_string_trim_start(str, "lHe"); + EXPECT_STREQ("o, World! Hello, SRS!", str1.c_str()); str1 = srs_string_trim_end(str, "x"); EXPECT_STREQ("Hello, World! Hello, SRS!", str1.c_str()); @@ -1494,7 +1503,7 @@ VOID TEST(KernelUtilityTest, UtilityString) str1 = srs_string_trim_end(str, "He"); EXPECT_STREQ("Hello, World! Hello, SRS!", str1.c_str()); - str1 = srs_string_trim_end(str, "HeS!R"); + str1 = srs_string_trim_end(str, "S!R"); EXPECT_STREQ("Hello, World! Hello, ", str1.c_str()); str1 = srs_string_remove(str, "x");