diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lisp.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/lisp.h b/src/lisp.h index ce939fcee62..c35bd1f6df1 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1346,7 +1346,9 @@ SSET (Lisp_Object string, ptrdiff_t index, unsigned char new) | |||
| 1346 | INLINE ptrdiff_t | 1346 | INLINE ptrdiff_t |
| 1347 | SCHARS (Lisp_Object string) | 1347 | SCHARS (Lisp_Object string) |
| 1348 | { | 1348 | { |
| 1349 | return XSTRING (string)->size; | 1349 | ptrdiff_t nchars = XSTRING (string)->size; |
| 1350 | eassume (0 <= nchars); | ||
| 1351 | return nchars; | ||
| 1350 | } | 1352 | } |
| 1351 | 1353 | ||
| 1352 | #ifdef GC_CHECK_STRING_BYTES | 1354 | #ifdef GC_CHECK_STRING_BYTES |
| @@ -1356,10 +1358,12 @@ INLINE ptrdiff_t | |||
| 1356 | STRING_BYTES (struct Lisp_String *s) | 1358 | STRING_BYTES (struct Lisp_String *s) |
| 1357 | { | 1359 | { |
| 1358 | #ifdef GC_CHECK_STRING_BYTES | 1360 | #ifdef GC_CHECK_STRING_BYTES |
| 1359 | return string_bytes (s); | 1361 | ptrdiff_t nbytes = string_bytes (s); |
| 1360 | #else | 1362 | #else |
| 1361 | return s->size_byte < 0 ? s->size : s->size_byte; | 1363 | ptrdiff_t nbytes = s->size_byte < 0 ? s->size : s->size_byte; |
| 1362 | #endif | 1364 | #endif |
| 1365 | eassume (0 <= nbytes); | ||
| 1366 | return nbytes; | ||
| 1363 | } | 1367 | } |
| 1364 | 1368 | ||
| 1365 | INLINE ptrdiff_t | 1369 | INLINE ptrdiff_t |
| @@ -1373,7 +1377,7 @@ STRING_SET_CHARS (Lisp_Object string, ptrdiff_t newsize) | |||
| 1373 | /* This function cannot change the size of data allocated for the | 1377 | /* This function cannot change the size of data allocated for the |
| 1374 | string when it was created. */ | 1378 | string when it was created. */ |
| 1375 | eassert (STRING_MULTIBYTE (string) | 1379 | eassert (STRING_MULTIBYTE (string) |
| 1376 | ? newsize <= SBYTES (string) | 1380 | ? 0 <= newsize && newsize <= SBYTES (string) |
| 1377 | : newsize == SCHARS (string)); | 1381 | : newsize == SCHARS (string)); |
| 1378 | XSTRING (string)->size = newsize; | 1382 | XSTRING (string)->size = newsize; |
| 1379 | } | 1383 | } |