Mercurial > emacs
comparison src/alloc.c @ 21244:50929073a0ba
Use STRING_BYTES and SET_STRING_BYTES.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Sat, 21 Mar 1998 07:06:14 +0000 |
| parents | ce12eac1ee45 |
| children | 693573ac0944 |
comparison
equal
deleted
inserted
replaced
| 21243:e82a4a4fa12a | 21244:50929073a0ba |
|---|---|
| 1374 (struct Lisp_String *) current_string_block->chars); | 1374 (struct Lisp_String *) current_string_block->chars); |
| 1375 } | 1375 } |
| 1376 | 1376 |
| 1377 string_chars_consed += fullsize; | 1377 string_chars_consed += fullsize; |
| 1378 XSTRING (val)->size = length; | 1378 XSTRING (val)->size = length; |
| 1379 XSTRING (val)->size_byte = length_byte; | 1379 SET_STRING_BYTES (XSTRING (val), length_byte); |
| 1380 XSTRING (val)->data[length_byte] = 0; | 1380 XSTRING (val)->data[length_byte] = 0; |
| 1381 INITIALIZE_INTERVAL (XSTRING (val), NULL_INTERVAL); | 1381 INITIALIZE_INTERVAL (XSTRING (val), NULL_INTERVAL); |
| 1382 | 1382 |
| 1383 return val; | 1383 return val; |
| 1384 } | 1384 } |
| 1440 | 1440 |
| 1441 if (pureptr + size > PURESIZE) | 1441 if (pureptr + size > PURESIZE) |
| 1442 error ("Pure Lisp storage exhausted"); | 1442 error ("Pure Lisp storage exhausted"); |
| 1443 XSETSTRING (new, PUREBEG + pureptr); | 1443 XSETSTRING (new, PUREBEG + pureptr); |
| 1444 XSTRING (new)->size = length; | 1444 XSTRING (new)->size = length; |
| 1445 XSTRING (new)->size_byte = length_byte; | 1445 SET_STRING_BYTES (XSTRING (new), length_byte); |
| 1446 bcopy (data, XSTRING (new)->data, length_byte); | 1446 bcopy (data, XSTRING (new)->data, length_byte); |
| 1447 XSTRING (new)->data[length_byte] = 0; | 1447 XSTRING (new)->data[length_byte] = 0; |
| 1448 | 1448 |
| 1449 /* We must give strings in pure storage some kind of interval. So we | 1449 /* We must give strings in pure storage some kind of interval. So we |
| 1450 give them a null one. */ | 1450 give them a null one. */ |
| 1546 else if (FLOATP (obj)) | 1546 else if (FLOATP (obj)) |
| 1547 return make_pure_float (XFLOAT (obj)->data); | 1547 return make_pure_float (XFLOAT (obj)->data); |
| 1548 #endif /* LISP_FLOAT_TYPE */ | 1548 #endif /* LISP_FLOAT_TYPE */ |
| 1549 else if (STRINGP (obj)) | 1549 else if (STRINGP (obj)) |
| 1550 return make_pure_string (XSTRING (obj)->data, XSTRING (obj)->size, | 1550 return make_pure_string (XSTRING (obj)->data, XSTRING (obj)->size, |
| 1551 XSTRING (obj)->size_byte); | 1551 STRING_BYTES (XSTRING (obj))); |
| 1552 else if (COMPILEDP (obj) || VECTORP (obj)) | 1552 else if (COMPILEDP (obj) || VECTORP (obj)) |
| 1553 { | 1553 { |
| 1554 register struct Lisp_Vector *vec; | 1554 register struct Lisp_Vector *vec; |
| 1555 register int i, size; | 1555 register int i, size; |
| 1556 | 1556 |
| 2644 register struct Lisp_String *nextstr | 2644 register struct Lisp_String *nextstr |
| 2645 = (struct Lisp_String *) &from_sb->chars[pos]; | 2645 = (struct Lisp_String *) &from_sb->chars[pos]; |
| 2646 | 2646 |
| 2647 register struct Lisp_String *newaddr; | 2647 register struct Lisp_String *newaddr; |
| 2648 register EMACS_INT size = nextstr->size; | 2648 register EMACS_INT size = nextstr->size; |
| 2649 EMACS_INT size_byte = nextstr->size_byte; | 2649 EMACS_INT size_byte = STRING_BYTES (nextstr); |
| 2650 | 2650 |
| 2651 /* NEXTSTR is the old address of the next string. | 2651 /* NEXTSTR is the old address of the next string. |
| 2652 Just skip it if it isn't marked. */ | 2652 Just skip it if it isn't marked. */ |
| 2653 if (((EMACS_UINT) size & ~DONT_COPY_FLAG) > STRING_BLOCK_SIZE) | 2653 if (((EMACS_UINT) size & ~DONT_COPY_FLAG) > STRING_BLOCK_SIZE) |
| 2654 { | 2654 { |
