diff options
author | nsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-23 21:57:10 +0000 |
---|---|---|
committer | nsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-23 21:57:10 +0000 |
commit | e26092ee0313c209ecfc13adf4015d55a4eb38db (patch) | |
tree | 7d339472915c816af4b06096ba35eb6d5f1bbd2b /sandbox/src/sandbox_utils.cc | |
parent | 3b296845029d75743c4c434486cc55e5df196687 (diff) | |
download | chromium_src-e26092ee0313c209ecfc13adf4015d55a4eb38db.zip chromium_src-e26092ee0313c209ecfc13adf4015d55a4eb38db.tar.gz chromium_src-e26092ee0313c209ecfc13adf4015d55a4eb38db.tar.bz2 |
Move a function from controller.cc to sandbox_utils.cc in
preparation for the refactoring.
Review URL: http://codereview.chromium.org/16225
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7445 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox/src/sandbox_utils.cc')
-rw-r--r-- | sandbox/src/sandbox_utils.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sandbox/src/sandbox_utils.cc b/sandbox/src/sandbox_utils.cc index 315ba62..5c2688e 100644 --- a/sandbox/src/sandbox_utils.cc +++ b/sandbox/src/sandbox_utils.cc @@ -98,5 +98,22 @@ void InitObjectAttribs(const std::wstring& name, ULONG attributes, HANDLE root, InitializeObjectAttributes(obj_attr, uni_name, attributes, root, NULL); } +std::string WideToMultiByte(const std::wstring& wide) { + if (wide.length() == 0) + return std::string(); + + // compute the length of the buffer we'll need + int charcount = WideCharToMultiByte(CP_UTF8, 0, wide.c_str(), -1, + NULL, 0, NULL, NULL); + if (charcount == 0) + return std::string(); + + std::string mb; + WideCharToMultiByte(CP_UTF8, 0, wide.c_str(), -1, + WriteInto(&mb, charcount), charcount, NULL, NULL); + + return mb; +} + }; // namespace sandbox |