#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "url/url_canon_icu.h"
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "base/check.h"
#include "base/memory/stack_allocated.h"
#include "third_party/icu/source/common/unicode/ucnv.h"
#include "third_party/icu/source/common/unicode/ucnv_cb.h"
#include "third_party/icu/source/common/unicode/utypes.h"
#include "url/url_canon_internal.h"
namespace url {
namespace {
void appendURLEscapedChar(const void* context,
UConverterFromUnicodeArgs* from_args,
const UChar* code_units,
int32_t length,
UChar32 code_point,
UConverterCallbackReason reason,
UErrorCode* err) { … }
class AppendHandlerInstaller { … };
}
ICUCharsetConverter::ICUCharsetConverter(UConverter* converter)
: … { … }
ICUCharsetConverter::~ICUCharsetConverter() = default;
void ICUCharsetConverter::ConvertFromUTF16(const char16_t* input,
int input_len,
CanonOutput* output) { … }
}