0415d9271d
On Windows the dart:io SYSTEM_ENCODING is now also working with strings which have null characters in them. Previously the string would be terminated at the null character. BUG=https://github.com/dart-lang/sdk/issues/23295 R=kustermann@google.com, lrn@google.com Review URL: https://codereview.chromium.org//1194883002.
35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
#ifndef BIN_UTILS_WIN_H_
|
|
#define BIN_UTILS_WIN_H_
|
|
|
|
#include "platform/globals.h"
|
|
|
|
namespace dart {
|
|
namespace bin {
|
|
|
|
void FormatMessageIntoBuffer(DWORD code, wchar_t* buffer, int buffer_length);
|
|
|
|
class StringUtilsWin {
|
|
public:
|
|
static char* WideToUtf8(wchar_t* wide,
|
|
intptr_t len = -1,
|
|
intptr_t* result_len = NULL);
|
|
static const char* WideToUtf8(const wchar_t* wide,
|
|
intptr_t len = -1,
|
|
intptr_t* result_len = NULL);
|
|
static wchar_t* Utf8ToWide(char* utf8,
|
|
intptr_t len = -1,
|
|
intptr_t* result_len = NULL);
|
|
static const wchar_t* Utf8ToWide(const char* utf8,
|
|
intptr_t len = -1,
|
|
intptr_t* result_len = NULL);
|
|
};
|
|
|
|
} // namespace bin
|
|
} // namespace dart
|
|
|
|
#endif // BIN_UTILS_WIN_H_
|