Mercurial > hg > xemacs-beta
diff src/text.h @ 5784:0cb4f494a548
Have the result of coding_character_tell() reflect str->convert_to, too.
src/ChangeLog addition:
2014-01-22 Aidan Kehoe <kehoea@parhasard.net>
* text.c (buffered_bytecount_to_charcount): New.
Return the number of characters in a coding or lstream buffer,
including partial characters at the beginning of the buffer, but
not including those at the end. Refactored from
Lstream_character_tell().
* text.h:
* text.h (buffered_bytecount_to_charcount): Declare it.
* lstream.c (Lstream_character_tell):
Use the refactored buffered_bytecount_to_charcount () here, both
for the unget buffer and in_buffer.
* file-coding.c (coding_character_tell):
Check the character count of the lstream buffer too, when passing
back the character count from the coding stream.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 22 Jan 2014 17:52:00 +0000 |
parents | 7a538e1a4676 |
children | 6355de501637 |
line wrap: on
line diff
--- a/src/text.h Tue Jan 21 00:27:16 2014 +0000 +++ b/src/text.h Wed Jan 22 17:52:00 2014 +0000 @@ -908,6 +908,12 @@ return ptr; } +/* Return the character count of an lstream or coding buffer of internal + format text, counting partial characters at the beginning of the buffer + as whole characters, and *not* counting partial characters at the end of + the buffer. */ +Charcount buffered_bytecount_to_charcount (const Ibyte *, Bytecount len); + #else #define bytecount_to_charcount(ptr, len) ((Charcount) (len)) @@ -916,6 +922,7 @@ #define charcount_to_bytecount_fmt(ptr, len, fmt) ((Bytecount) (len)) #define skip_ascii(ptr, end) end #define skip_ascii_down(ptr, end) end +#define buffered_bytecount_to_charcount (ptr, len) (len) #endif /* MULE */