summaryrefslogtreecommitdiffstats
path: root/base/sys_string_conversions_win.cc
diff options
context:
space:
mode:
authordeanm@google.com <deanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-19 13:19:24 +0000
committerdeanm@google.com <deanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-19 13:19:24 +0000
commit4bdaceb429c7cd6a3a2a8bc692f418969c24ff28 (patch)
treee399572c17bb4ed5de86bd702ea28a041e40b9b0 /base/sys_string_conversions_win.cc
parent1e3f8396c6f205b2be2a102d4fbca870638e7f6b (diff)
downloadchromium_src-4bdaceb429c7cd6a3a2a8bc692f418969c24ff28.zip
chromium_src-4bdaceb429c7cd6a3a2a8bc692f418969c24ff28.tar.gz
chromium_src-4bdaceb429c7cd6a3a2a8bc692f418969c24ff28.tar.bz2
Move the system string conversion functions from std::string to StringPiece. We often work with char* in the system layer, so this should save extra copying.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1027 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/sys_string_conversions_win.cc')
-rw-r--r--base/sys_string_conversions_win.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/base/sys_string_conversions_win.cc b/base/sys_string_conversions_win.cc
index c736549..48e8f01 100644
--- a/base/sys_string_conversions_win.cc
+++ b/base/sys_string_conversions_win.cc
@@ -31,6 +31,8 @@
#include <windows.h>
+#include "base/string_piece.h"
+
namespace base {
// Do not assert in this function since it is used by the asssertion code!
@@ -39,7 +41,7 @@ std::string SysWideToUTF8(const std::wstring& wide) {
}
// Do not assert in this function since it is used by the asssertion code!
-std::wstring SysUTF8ToWide(const std::string& utf8) {
+std::wstring SysUTF8ToWide(StringPiece utf8) {
return SysMultiByteToWide(utf8, CP_UTF8);
}
@@ -47,16 +49,16 @@ std::string SysWideToNativeMB(const std::wstring& wide) {
return SysWideToMultiByte(wide, CP_ACP);
}
-std::wstring SysNativeMBToWide(const std::string& native_mb) {
+std::wstring SysNativeMBToWide(StringPiece native_mb) {
return SysMultiByteToWide(native_mb, CP_ACP);
}
// Do not assert in this function since it is used by the asssertion code!
-std::wstring SysMultiByteToWide(const std::string& mb, uint32 code_page) {
- int mb_length = static_cast<int>(mb.length());
- if (mb_length == 0)
+std::wstring SysMultiByteToWide(StringPiece mb, uint32 code_page) {
+ if (mb.empty())
return std::wstring();
+ int mb_length = static_cast<int>(mb.length());
// Compute the length of the buffer.
int charcount = MultiByteToWideChar(code_page, 0,
mb.data(), mb_length, NULL, 0);