Skip to content

Commit 7a7628d

Browse files
committed
Add TrimString function
1 parent be96126 commit 7a7628d

File tree

4 files changed

+54
-1
lines changed

4 files changed

+54
-1
lines changed

api/include/opentelemetry/trace/propagation/detail/string.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,30 @@ inline size_t SplitString(nostd::string_view s,
5757
return filled;
5858
}
5959

60+
inline nostd::string_view TrimString(nostd::string_view s)
61+
{
62+
size_t str_size = s.size();
63+
size_t trimmed_str_start_pos = 0;
64+
size_t trimmed_str_end_pos = 0;
65+
bool start_pos_found = false;
66+
for (size_t i = 0; i < str_size; i++)
67+
{
68+
if (!isspace(s[i]))
69+
{
70+
if (!start_pos_found)
71+
{
72+
trimmed_str_start_pos = i;
73+
trimmed_str_end_pos = i;
74+
start_pos_found = true;
75+
} else
76+
{
77+
trimmed_str_end_pos = i;
78+
}
79+
}
80+
}
81+
return s.substr(trimmed_str_start_pos, trimmed_str_end_pos - trimmed_str_start_pos + 1);
82+
}
83+
6084
} // namespace detail
6185
} // namespace propagation
6286
} // namespace trace

api/test/trace/propagation/detail/BUILD

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,19 @@ cc_test(
1818
"@com_google_googletest//:gtest_main",
1919
],
2020
)
21+
22+
cc_test(
23+
name = "string_test",
24+
srcs = [
25+
"string_test.cc",
26+
],
27+
tags = [
28+
"api",
29+
"test",
30+
"trace",
31+
],
32+
deps = [
33+
"//api",
34+
"@com_google_googletest//:gtest_main",
35+
],
36+
)

api/test/trace/propagation/detail/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright The OpenTelemetry Authors
22
# SPDX-License-Identifier: Apache-2.0
33

4-
foreach(testname hex_test)
4+
foreach(testname hex_test string_test)
55
add_executable(${testname} "${testname}.cc")
66
target_link_libraries(${testname} ${GTEST_BOTH_LIBRARIES}
77
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#include <gtest/gtest.h>
5+
#include <stdint.h>
6+
#include <string>
7+
8+
#include "opentelemetry/nostd/string_view.h"
9+
10+
TEST(StringTest, TrimStrings)
11+
{
12+
//TODO(psx95): Add tests
13+
}

0 commit comments

Comments
 (0)