Index: util/stdlib/strlcpy.cc |
diff --git a/util/stdlib/strlcpy.cc b/util/stdlib/strlcpy.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5cf5ed3ec5afe4a3ed49363c6e659eb10996f302 |
--- /dev/null |
+++ b/util/stdlib/strlcpy.cc |
@@ -0,0 +1,30 @@ |
+// Copyright 2014 The Crashpad Authors. All rights reserved. |
+// |
+// Licensed under the Apache License, Version 2.0 (the "License"); |
+// you may not use this file except in compliance with the License. |
+// You may obtain a copy of the License at |
+// |
+// http://www.apache.org/licenses/LICENSE-2.0 |
+// |
+// Unless required by applicable law or agreed to in writing, software |
+// distributed under the License is distributed on an "AS IS" BASIS, |
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+// See the License for the specific language governing permissions and |
+// limitations under the License. |
+ |
+#include "util/stdlib/strlcpy.h" |
+ |
+namespace crashpad { |
+ |
+size_t c16lcpy(char16* destination, const char16* source, size_t length) { |
+ size_t source_length = base::c16len(source); |
+ if (source_length < length) { |
+ base::c16memcpy(destination, source, source_length + 1); |
+ } else if (length != 0) { |
+ base::c16memcpy(destination, source, length - 1); |
+ destination[length - 1] = '\0'; |
+ } |
+ return source_length; |
+} |
+ |
+} // namespace crashpad |