diff options
| author | Po Lu | 2023-12-19 14:39:28 +0800 |
|---|---|---|
| committer | Po Lu | 2023-12-19 14:41:38 +0800 |
| commit | d0e3dfa764cdb5c15c2a525b455df495097a86bb (patch) | |
| tree | 8e8a785561cbe3a2ca19edeb4dac2b3451936b3b | |
| parent | f2693751dd20caa790aa8f0216d50499653f61d4 (diff) | |
| download | emacs-d0e3dfa764cdb5c15c2a525b455df495097a86bb.tar.gz emacs-d0e3dfa764cdb5c15c2a525b455df495097a86bb.zip | |
Properly sign-extend freedom and projection vector values
* src/sfnt.c (GPV, GFV): Cast versors to int32_t.
| -rw-r--r-- | src/sfnt.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/sfnt.c b/src/sfnt.c index 1b4cdf38bd0..c33f21215a6 100644 --- a/src/sfnt.c +++ b/src/sfnt.c | |||
| @@ -8080,8 +8080,8 @@ sfnt_interpret_trap (struct sfnt_interpreter *interpreter, | |||
| 8080 | vector \ | 8080 | vector \ |
| 8081 | = interpreter->state.projection_vector; \ | 8081 | = interpreter->state.projection_vector; \ |
| 8082 | \ | 8082 | \ |
| 8083 | PUSH ((uint16_t) vector.x); \ | 8083 | PUSH ((int32_t) vector.x); \ |
| 8084 | PUSH ((uint16_t) vector.y); \ | 8084 | PUSH ((int32_t) vector.y); \ |
| 8085 | } | 8085 | } |
| 8086 | 8086 | ||
| 8087 | #define GFV() \ | 8087 | #define GFV() \ |
| @@ -8091,8 +8091,8 @@ sfnt_interpret_trap (struct sfnt_interpreter *interpreter, | |||
| 8091 | vector \ | 8091 | vector \ |
| 8092 | = interpreter->state.freedom_vector; \ | 8092 | = interpreter->state.freedom_vector; \ |
| 8093 | \ | 8093 | \ |
| 8094 | PUSH ((uint16_t) vector.x); \ | 8094 | PUSH ((int32_t) vector.x); \ |
| 8095 | PUSH ((uint16_t) vector.y); \ | 8095 | PUSH ((int32_t) vector.y); \ |
| 8096 | } | 8096 | } |
| 8097 | 8097 | ||
| 8098 | #define SFVTPV() \ | 8098 | #define SFVTPV() \ |