diff options
| author | YAMAMOTO Mitsuharu | 2015-12-31 10:59:40 +0900 |
|---|---|---|
| committer | YAMAMOTO Mitsuharu | 2015-12-31 10:59:40 +0900 |
| commit | 47580e0d72f53c2fff23cb8edf1487da76e87744 (patch) | |
| tree | e81c698d019e12a680aed3c0867a7c04d49cc4af /src/character.h | |
| parent | 0588be7ca658faf79bbff7ffcb7eb9f0e3fb8190 (diff) | |
| download | emacs-47580e0d72f53c2fff23cb8edf1487da76e87744.tar.gz emacs-47580e0d72f53c2fff23cb8edf1487da76e87744.zip | |
Avoid writing to purespace
* src/alloc.c (Fmake_string): Don't write to empty string contents.
(allocate_vector): Don't write to empty vector size.
* src/character.h (CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR):
Don't call unnecessary XSETCAR or XSETCDR.
* src/lisp.h (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE): Don't
write to empty string size_byte.
Diffstat (limited to 'src/character.h')
| -rw-r--r-- | src/character.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/character.h b/src/character.h index 871c1c3de95..440e78147d1 100644 --- a/src/character.h +++ b/src/character.h | |||
| @@ -135,14 +135,12 @@ enum | |||
| 135 | do { \ | 135 | do { \ |
| 136 | Lisp_Object tmp = XCAR (x); \ | 136 | Lisp_Object tmp = XCAR (x); \ |
| 137 | CHECK_CHARACTER (tmp); \ | 137 | CHECK_CHARACTER (tmp); \ |
| 138 | XSETCAR ((x), tmp); \ | ||
| 139 | } while (false) | 138 | } while (false) |
| 140 | 139 | ||
| 141 | #define CHECK_CHARACTER_CDR(x) \ | 140 | #define CHECK_CHARACTER_CDR(x) \ |
| 142 | do { \ | 141 | do { \ |
| 143 | Lisp_Object tmp = XCDR (x); \ | 142 | Lisp_Object tmp = XCDR (x); \ |
| 144 | CHECK_CHARACTER (tmp); \ | 143 | CHECK_CHARACTER (tmp); \ |
| 145 | XSETCDR ((x), tmp); \ | ||
| 146 | } while (false) | 144 | } while (false) |
| 147 | 145 | ||
| 148 | /* Nonzero iff C is a character of code less than 0x100. */ | 146 | /* Nonzero iff C is a character of code less than 0x100. */ |