| Index: src/unicode-inl.h
|
| diff --git a/src/unicode-inl.h b/src/unicode-inl.h
|
| index 8ceefe8f4fc34e51447516b78992e1f3d7ddcc62..c3a00ed710eb1da94ea8e2fe5e56cadd4db9f3be 100644
|
| --- a/src/unicode-inl.h
|
| +++ b/src/unicode-inl.h
|
| @@ -137,109 +137,6 @@ unsigned Utf8::Length(uchar c, int previous) {
|
| }
|
| }
|
|
|
| -uchar CharacterStream::GetNext() {
|
| - uchar result = DecodeCharacter(buffer_, &cursor_);
|
| - if (remaining_ == 1) {
|
| - cursor_ = 0;
|
| - FillBuffer();
|
| - } else {
|
| - remaining_--;
|
| - }
|
| - ASSERT(BoundsCheck(cursor_));
|
| - return result;
|
| -}
|
| -
|
| -#if __BYTE_ORDER == __LITTLE_ENDIAN
|
| -#define IF_LITTLE(expr) expr
|
| -#define IF_BIG(expr) ((void) 0)
|
| -#elif __BYTE_ORDER == __BIG_ENDIAN
|
| -#define IF_LITTLE(expr) ((void) 0)
|
| -#define IF_BIG(expr) expr
|
| -#else
|
| -#warning Unknown byte ordering
|
| -#endif
|
| -
|
| -bool CharacterStream::EncodeAsciiCharacter(uchar c, byte* buffer,
|
| - unsigned capacity, unsigned& offset) {
|
| - if (offset >= capacity) return false;
|
| - buffer[offset] = c;
|
| - offset += 1;
|
| - return true;
|
| -}
|
| -
|
| -bool CharacterStream::EncodeNonAsciiCharacter(uchar c, byte* buffer,
|
| - unsigned capacity, unsigned& offset) {
|
| - unsigned aligned = (offset + 0x3) & ~0x3;
|
| - if ((aligned + sizeof(uchar)) > capacity)
|
| - return false;
|
| - if (offset == aligned) {
|
| - IF_LITTLE(*reinterpret_cast<uchar*>(buffer + aligned) = (c << 8) | 0x80);
|
| - IF_BIG(*reinterpret_cast<uchar*>(buffer + aligned) = c | (1 << 31));
|
| - } else {
|
| - buffer[offset] = 0x80;
|
| - IF_LITTLE(*reinterpret_cast<uchar*>(buffer + aligned) = c << 8);
|
| - IF_BIG(*reinterpret_cast<uchar*>(buffer + aligned) = c);
|
| - }
|
| - offset = aligned + sizeof(uchar);
|
| - return true;
|
| -}
|
| -
|
| -bool CharacterStream::EncodeCharacter(uchar c, byte* buffer, unsigned capacity,
|
| - unsigned& offset) {
|
| - if (c <= Utf8::kMaxOneByteChar) {
|
| - return EncodeAsciiCharacter(c, buffer, capacity, offset);
|
| - } else {
|
| - return EncodeNonAsciiCharacter(c, buffer, capacity, offset);
|
| - }
|
| -}
|
| -
|
| -uchar CharacterStream::DecodeCharacter(const byte* buffer, unsigned* offset) {
|
| - byte b = buffer[*offset];
|
| - if (b <= Utf8::kMaxOneByteChar) {
|
| - (*offset)++;
|
| - return b;
|
| - } else {
|
| - unsigned aligned = (*offset + 0x3) & ~0x3;
|
| - *offset = aligned + sizeof(uchar);
|
| - IF_LITTLE(return *reinterpret_cast<const uchar*>(buffer + aligned) >> 8);
|
| - IF_BIG(return *reinterpret_cast<const uchar*>(buffer + aligned) &
|
| - ~(1 << 31));
|
| - }
|
| -}
|
| -
|
| -#undef IF_LITTLE
|
| -#undef IF_BIG
|
| -
|
| -template <class R, class I, unsigned s>
|
| -void InputBuffer<R, I, s>::FillBuffer() {
|
| - buffer_ = R::ReadBlock(input_, util_buffer_, s, &remaining_, &offset_);
|
| -}
|
| -
|
| -template <class R, class I, unsigned s>
|
| -void InputBuffer<R, I, s>::Rewind() {
|
| - Reset(input_);
|
| -}
|
| -
|
| -template <class R, class I, unsigned s>
|
| -void InputBuffer<R, I, s>::Reset(unsigned position, I input) {
|
| - input_ = input;
|
| - remaining_ = 0;
|
| - cursor_ = 0;
|
| - offset_ = position;
|
| - buffer_ = R::ReadBlock(input_, util_buffer_, s, &remaining_, &offset_);
|
| -}
|
| -
|
| -template <class R, class I, unsigned s>
|
| -void InputBuffer<R, I, s>::Reset(I input) {
|
| - Reset(0, input);
|
| -}
|
| -
|
| -template <class R, class I, unsigned s>
|
| -void InputBuffer<R, I, s>::Seek(unsigned position) {
|
| - offset_ = position;
|
| - buffer_ = R::ReadBlock(input_, util_buffer_, s, &remaining_, &offset_);
|
| -}
|
| -
|
| Utf8DecoderBase::Utf8DecoderBase()
|
| : unbuffered_start_(NULL),
|
| utf16_length_(0),
|
|
|