Add util function to remove trailing '\r'

Depending on the platform and adb versions, the lines output by adb
could end with "\r\r\n". This util function helps to remove all trailing
'\r'.

PR #2827 <https://github.com/Genymobile/scrcpy/pull/2827>
This commit is contained in:
Romain Vimont
2021-11-28 22:02:40 +01:00
parent b52f87a892
commit b7e631791c
3 changed files with 37 additions and 0 deletions

View File

@@ -384,6 +384,20 @@ static void test_index_of_column(void) {
assert(sc_str_index_of_column(" a bc d", 1, " ") == 2);
}
static void test_remove_trailing_cr() {
char s[] = "abc\r";
sc_str_remove_trailing_cr(s, sizeof(s) - 1);
assert(!strcmp(s, "abc"));
char s2[] = "def\r\r\r\r";
sc_str_remove_trailing_cr(s2, sizeof(s2) - 1);
assert(!strcmp(s2, "def"));
char s3[] = "adb\rdef\r";
sc_str_remove_trailing_cr(s3, sizeof(s3) - 1);
assert(!strcmp(s3, "adb\rdef"));
}
int main(int argc, char *argv[]) {
(void) argc;
(void) argv;
@@ -405,5 +419,6 @@ int main(int argc, char *argv[]) {
test_wrap_lines();
test_truncate();
test_index_of_column();
test_remove_trailing_cr();
return 0;
}