summaryrefslogtreecommitdiff
path: root/webrtc/rtc_base/string_utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webrtc/rtc_base/string_utils.cc')
-rw-r--r--webrtc/rtc_base/string_utils.cc53
1 files changed, 53 insertions, 0 deletions
diff --git a/webrtc/rtc_base/string_utils.cc b/webrtc/rtc_base/string_utils.cc
new file mode 100644
index 0000000..1720c62
--- /dev/null
+++ b/webrtc/rtc_base/string_utils.cc
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2004 The WebRTC Project Authors. All rights reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include "rtc_base/string_utils.h"
+
+namespace rtc {
+
+size_t strcpyn(char* buffer,
+ size_t buflen,
+ const char* source,
+ size_t srclen /* = SIZE_UNKNOWN */) {
+ if (buflen <= 0)
+ return 0;
+
+ if (srclen == SIZE_UNKNOWN) {
+ srclen = strlen(source);
+ }
+ if (srclen >= buflen) {
+ srclen = buflen - 1;
+ }
+ memcpy(buffer, source, srclen);
+ buffer[srclen] = 0;
+ return srclen;
+}
+
+static const char kWhitespace[] = " \n\r\t";
+
+std::string string_trim(const std::string& s) {
+ std::string::size_type first = s.find_first_not_of(kWhitespace);
+ std::string::size_type last = s.find_last_not_of(kWhitespace);
+
+ if (first == std::string::npos || last == std::string::npos) {
+ return std::string("");
+ }
+
+ return s.substr(first, last - first + 1);
+}
+
+std::string ToHex(const int i) {
+ char buffer[50];
+ snprintf(buffer, sizeof(buffer), "%x", i);
+
+ return std::string(buffer);
+}
+
+} // namespace rtc