diff options
| -rw-r--r-- | src/data.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/data.c b/src/data.c index 5eceec4574f..686dffe114b 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -147,12 +147,12 @@ int sign_extend_temp; | |||
| 147 | 147 | ||
| 148 | int | 148 | int |
| 149 | sign_extend_lisp_int (num) | 149 | sign_extend_lisp_int (num) |
| 150 | int num; | 150 | EMACS_INT num; |
| 151 | { | 151 | { |
| 152 | if (num & (1 << (VALBITS - 1))) | 152 | if (num & (((EMACS_INT) 1) << (VALBITS - 1))) |
| 153 | return num | ((-1) << VALBITS); | 153 | return num | (((EMACS_INT) (-1)) << VALBITS); |
| 154 | else | 154 | else |
| 155 | return num & ((1 << VALBITS) - 1); | 155 | return num & ((((EMACS_INT) 1) << VALBITS) - 1); |
| 156 | } | 156 | } |
| 157 | 157 | ||
| 158 | /* Data type predicates */ | 158 | /* Data type predicates */ |