aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/stubs/io_win32.h
diff options
context:
space:
mode:
authorJisi Liu <liujisi@google.com>2018-01-04 14:26:24 -0800
committerGitHub <noreply@github.com>2018-01-04 14:26:24 -0800
commita3868af12be724f808faa21a29e7b4931e30bed1 (patch)
tree3df23c4174287023b569108eb133db0f9c310646 /src/google/protobuf/stubs/io_win32.h
parenteca1d2a7113b3d57f900f69661342c0078c956c4 (diff)
parentec826c5a592126ddb6b12b47e6e1fb6232ce340d (diff)
downloadprotobuf-a3868af12be724f808faa21a29e7b4931e30bed1.tar.gz
protobuf-a3868af12be724f808faa21a29e7b4931e30bed1.tar.bz2
protobuf-a3868af12be724f808faa21a29e7b4931e30bed1.zip
Merge pull request #4131 from pherl/merge
Merge 3.5.x branch into master
Diffstat (limited to 'src/google/protobuf/stubs/io_win32.h')
-rw-r--r--src/google/protobuf/stubs/io_win32.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/google/protobuf/stubs/io_win32.h b/src/google/protobuf/stubs/io_win32.h
index 53160089..9e17d253 100644
--- a/src/google/protobuf/stubs/io_win32.h
+++ b/src/google/protobuf/stubs/io_win32.h
@@ -69,8 +69,25 @@ LIBPROTOBUF_EXPORT int read(int fd, void* buffer, size_t size);
LIBPROTOBUF_EXPORT int setmode(int fd, int mode);
LIBPROTOBUF_EXPORT int stat(const char* path, struct _stat* buffer);
LIBPROTOBUF_EXPORT int write(int fd, const void* buffer, size_t size);
-LIBPROTOBUF_EXPORT std::wstring testonly_path_to_winpath(
- const std::string& path);
+LIBPROTOBUF_EXPORT std::wstring testonly_utf8_to_winpath(const char* path);
+
+namespace strings {
+
+// Convert from UTF-16 to Active-Code-Page-encoded or to UTF-8-encoded text.
+LIBPROTOBUF_EXPORT bool wcs_to_mbs(
+ const wchar_t* s, std::string* out, bool outUtf8);
+
+// Convert from Active-Code-Page-encoded or UTF-8-encoded text to UTF-16.
+LIBPROTOBUF_EXPORT bool mbs_to_wcs(
+ const char* s, std::wstring* out, bool inUtf8);
+
+// Convert from UTF-8-encoded text to UTF-16.
+LIBPROTOBUF_EXPORT bool utf8_to_wcs(const char* input, std::wstring* out);
+
+// Convert from UTF-16-encoded text to UTF-8.
+LIBPROTOBUF_EXPORT bool wcs_to_utf8(const wchar_t* input, std::string* out);
+
+} // namespace strings
} // namespace win32
} // namespace internal