diff options
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h index a9e7354f9fc..a46436e718b 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -763,6 +763,12 @@ extern EMACS_INT string_bytes (struct Lisp_String *); | |||
| 763 | 763 | ||
| 764 | #endif /* not GC_CHECK_STRING_BYTES */ | 764 | #endif /* not GC_CHECK_STRING_BYTES */ |
| 765 | 765 | ||
| 766 | /* A string cannot contain more bytes than a fixnum can represent, | ||
| 767 | nor can it be so long that C pointer arithmetic stops working on | ||
| 768 | the string plus a terminating null. */ | ||
| 769 | #define STRING_BYTES_MAX \ | ||
| 770 | min (MOST_POSITIVE_FIXNUM, min (SIZE_MAX, PTRDIFF_MAX) - 1) | ||
| 771 | |||
| 766 | /* Mark STR as a unibyte string. */ | 772 | /* Mark STR as a unibyte string. */ |
| 767 | #define STRING_SET_UNIBYTE(STR) \ | 773 | #define STRING_SET_UNIBYTE(STR) \ |
| 768 | do { if (EQ (STR, empty_multibyte_string)) \ | 774 | do { if (EQ (STR, empty_multibyte_string)) \ |