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 1defda151ae..ad4614c7b16 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -766,6 +766,12 @@ extern EMACS_INT string_bytes (struct Lisp_String *); | |||
| 766 | 766 | ||
| 767 | #endif /* not GC_CHECK_STRING_BYTES */ | 767 | #endif /* not GC_CHECK_STRING_BYTES */ |
| 768 | 768 | ||
| 769 | /* A string cannot contain more bytes than a fixnum can represent, | ||
| 770 | nor can it be so long that C pointer arithmetic stops working on | ||
| 771 | the string plus a terminating null. */ | ||
| 772 | #define STRING_BYTES_MAX \ | ||
| 773 | min (MOST_POSITIVE_FIXNUM, min (SIZE_MAX, PTRDIFF_MAX) - 1) | ||
| 774 | |||
| 769 | /* Mark STR as a unibyte string. */ | 775 | /* Mark STR as a unibyte string. */ |
| 770 | #define STRING_SET_UNIBYTE(STR) \ | 776 | #define STRING_SET_UNIBYTE(STR) \ |
| 771 | do { if (EQ (STR, empty_multibyte_string)) \ | 777 | do { if (EQ (STR, empty_multibyte_string)) \ |