summaryrefslogtreecommitdiff
path: root/src/marker.c
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2019-03-02 18:23:34 +0000
committerAlan Mackenzie <acm@muc.de>2019-03-02 18:23:34 +0000
commit954c9c5bc344cdd6b201c2260b306ec0999aff24 (patch)
tree1f0a28cd728d91106ab7e8c2808c97340ac12ef5 /src/marker.c
parentd2b5f445c1a5f9e105eb65e10b28a40645516656 (diff)
downloademacs-954c9c5bc344cdd6b201c2260b306ec0999aff24.tar.gz
Check by eassert that a bytepos argument isn't in the middle of a character
* src/marker.c (buf_bytepos_to_charpos): Add an eassert to check that the parameter bytepos is at the beginning of a character or EOB.
Diffstat (limited to 'src/marker.c')
-rw-r--r--src/marker.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/marker.c b/src/marker.c
index b58051a8c2b..0b2e1bf5c6b 100644
--- a/src/marker.c
+++ b/src/marker.c
@@ -332,6 +332,10 @@ buf_bytepos_to_charpos (struct buffer *b, ptrdiff_t bytepos)
if (best_above == best_above_byte)
return bytepos;
+ /* Check bytepos is not in the middle of a character. */
+ eassert (bytepos >= BUF_Z_BYTE (b)
+ || CHAR_HEAD_P (BUF_FETCH_BYTE (b, bytepos)));
+
best_below = BEG;
best_below_byte = BEG_BYTE;