Browse Source

encoding.c: Support calling peekc past the end of the buffer. This makes calling peekc easier.

master
Reece H. Dunn 8 years ago
parent
commit
b897ff5aa8
2 changed files with 6 additions and 0 deletions
  1. 2
    0
      src/libespeak-ng/encoding.c
  2. 4
    0
      tests/encoding.c

+ 2
- 0
src/libespeak-ng/encoding.c View File

uint32_t uint32_t
text_decoder_peekc(espeak_ng_TEXT_DECODER *decoder) text_decoder_peekc(espeak_ng_TEXT_DECODER *decoder)
{ {
if (decoder->current == decoder->end) return 0;

const uint8_t *current = decoder->current; const uint8_t *current = decoder->current;
uint32_t c = decoder->get(decoder); uint32_t c = decoder->get(decoder);
decoder->current = current; decoder->current = current;

+ 4
- 0
tests/encoding.c View File

assert(text_decoder_getc(decoder) == 'd'); assert(text_decoder_getc(decoder) == 'd');
assert(text_decoder_eof(decoder) == 1); assert(text_decoder_eof(decoder) == 1);


// Calling peekc past the end of the buffer.
assert(text_decoder_peekc(decoder) == '\0');
assert(text_decoder_eof(decoder) == 1);

destroy_text_decoder(decoder); destroy_text_decoder(decoder);
} }



Loading…
Cancel
Save