2016-05-19 07:38:37 +00:00
|
|
|
// Copyright (c) 2016 GitHub, Inc.
|
|
|
|
// Use of this source code is governed by the MIT license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
|
|
|
#include "osfhandle.h"
|
|
|
|
|
|
|
|
#include <io.h>
|
|
|
|
|
2017-02-07 08:07:43 +00:00
|
|
|
#define U_I18N_IMPLEMENTATION
|
2017-04-21 00:57:30 +00:00
|
|
|
#define U_COMMON_IMPLEMENTATION
|
|
|
|
#define U_COMBINED_IMPLEMENTATION
|
2017-02-07 08:07:43 +00:00
|
|
|
|
|
|
|
#include "third_party/icu/source/common/unicode/ubidi.h"
|
|
|
|
#include "third_party/icu/source/common/unicode/uchar.h"
|
|
|
|
#include "third_party/icu/source/common/unicode/uidna.h"
|
|
|
|
#include "third_party/icu/source/common/unicode/unistr.h"
|
|
|
|
#include "third_party/icu/source/common/unicode/unorm.h"
|
|
|
|
#include "third_party/icu/source/common/unicode/urename.h"
|
|
|
|
#include "third_party/icu/source/common/unicode/ustring.h"
|
2017-04-20 10:58:37 +00:00
|
|
|
#include "third_party/icu/source/i18n/unicode/dtitvfmt.h"
|
2017-02-07 08:07:43 +00:00
|
|
|
#include "third_party/icu/source/i18n/unicode/measfmt.h"
|
|
|
|
#include "third_party/icu/source/i18n/unicode/translit.h"
|
|
|
|
#include "third_party/icu/source/i18n/unicode/ucsdet.h"
|
|
|
|
#include "third_party/icu/source/i18n/unicode/ulocdata.h"
|
|
|
|
#include "third_party/icu/source/i18n/unicode/uregex.h"
|
|
|
|
#include "third_party/icu/source/i18n/unicode/uspoof.h"
|
|
|
|
#include "third_party/icu/source/i18n/unicode/usearch.h"
|
2017-05-09 05:12:39 +00:00
|
|
|
#include "util-inl.h"
|
2017-01-27 09:51:20 +00:00
|
|
|
#include "v8-profiler.h"
|
|
|
|
#include "v8-inspector.h"
|
|
|
|
|
2016-05-19 07:38:37 +00:00
|
|
|
namespace node {
|
|
|
|
|
|
|
|
int open_osfhandle(intptr_t osfhandle, int flags) {
|
|
|
|
return _open_osfhandle(osfhandle, flags);
|
|
|
|
}
|
|
|
|
|
|
|
|
int close(int fd) {
|
|
|
|
return _close(fd);
|
|
|
|
}
|
|
|
|
|
2017-05-09 05:12:39 +00:00
|
|
|
void* ArrayBufferCalloc(size_t length) {
|
|
|
|
return UncheckedCalloc(length);
|
|
|
|
}
|
|
|
|
|
|
|
|
void* ArrayBufferMalloc(size_t length) {
|
|
|
|
return UncheckedMalloc(length);
|
|
|
|
}
|
|
|
|
|
|
|
|
void ArrayBufferFree(void* data, size_t length) {
|
|
|
|
return ::free(data);
|
|
|
|
}
|
|
|
|
|
2017-01-27 09:51:20 +00:00
|
|
|
void ReferenceSymbols() {
|
|
|
|
// Following symbols are used by electron.exe but got stripped by compiler,
|
2017-02-07 08:07:43 +00:00
|
|
|
// by using the symbols we can force compiler to keep the objects in node.dll,
|
|
|
|
// thus electron.exe can link with the exported symbols.
|
|
|
|
|
|
|
|
// v8_profiler symbols:
|
2017-01-27 09:51:20 +00:00
|
|
|
v8::TracingCpuProfiler::Create(nullptr);
|
2017-02-07 08:07:43 +00:00
|
|
|
// v8_inspector symbols:
|
2017-02-07 00:14:50 +00:00
|
|
|
reinterpret_cast<v8_inspector::V8InspectorSession*>(nullptr)->
|
|
|
|
canDispatchMethod(v8_inspector::StringView());
|
2017-01-27 09:51:20 +00:00
|
|
|
reinterpret_cast<v8_inspector::V8InspectorClient*>(nullptr)->unmuteMetrics(0);
|
2017-02-07 08:07:43 +00:00
|
|
|
// icu symbols:
|
|
|
|
u_errorName(U_ZERO_ERROR);
|
|
|
|
ubidi_setPara(nullptr, nullptr, 0, 0, nullptr, nullptr);
|
|
|
|
ucsdet_getName(nullptr, nullptr);
|
|
|
|
uidna_openUTS46(UIDNA_CHECK_BIDI, nullptr);
|
|
|
|
ulocdata_close(nullptr);
|
|
|
|
unorm_normalize(nullptr, 0, UNORM_NFC, 0, nullptr, 0, nullptr);
|
|
|
|
uregex_matches(nullptr, 0, nullptr);
|
|
|
|
uspoof_open(nullptr);
|
|
|
|
usearch_setPattern(nullptr, nullptr, 0, nullptr);
|
|
|
|
usearch_setPattern(nullptr, nullptr, 0, nullptr);
|
|
|
|
UMeasureFormatWidth width = UMEASFMT_WIDTH_WIDE;
|
|
|
|
UErrorCode status = U_ZERO_ERROR;
|
|
|
|
icu::MeasureFormat format(icu::Locale::getRoot(), width, status);
|
2017-04-21 00:57:30 +00:00
|
|
|
icu::DateInterval internal(0, 0);
|
2017-04-20 10:58:37 +00:00
|
|
|
icu::DateIntervalFormat::createInstance(UnicodeString(),
|
|
|
|
icu::Locale::getRoot(), status);
|
2017-02-07 08:07:43 +00:00
|
|
|
reinterpret_cast<icu::Transliterator*>(nullptr)->clone();
|
2017-01-27 09:51:20 +00:00
|
|
|
}
|
|
|
|
|
2016-05-19 07:38:37 +00:00
|
|
|
} // namespace node
|