diff options
| author | Paul Eggert | 2011-04-06 16:02:23 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-04-06 16:02:23 -0700 |
| commit | 7e2cac200108a4626573c4a8de851560c1fee456 (patch) | |
| tree | 6f8c02414a87b9718a40b9538bb60413a004ecd1 /src | |
| parent | ce4d90b550a2bfb66099784386910a81b31421ed (diff) | |
| download | emacs-7e2cac200108a4626573c4a8de851560c1fee456.tar.gz emacs-7e2cac200108a4626573c4a8de851560c1fee456.zip | |
* coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 2 | ||||
| -rw-r--r-- | src/coding.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index ce97ca8204b..34e0e1b4cad 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | 2011-04-06 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-04-06 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int. | ||
| 4 | |||
| 3 | * xterm.c (x_catch_errors): Remove duplicate declaration. | 5 | * xterm.c (x_catch_errors): Remove duplicate declaration. |
| 4 | 6 | ||
| 5 | * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too. | 7 | * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too. |
diff --git a/src/coding.c b/src/coding.c index 555c29cbdf3..798e5c533f6 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -9023,7 +9023,7 @@ Return the corresponding character. */) | |||
| 9023 | { | 9023 | { |
| 9024 | Lisp_Object spec, attrs, val; | 9024 | Lisp_Object spec, attrs, val; |
| 9025 | struct charset *charset_roman, *charset_kanji, *charset_kana, *charset; | 9025 | struct charset *charset_roman, *charset_kanji, *charset_kana, *charset; |
| 9026 | int c; | 9026 | EMACS_INT c; |
| 9027 | 9027 | ||
| 9028 | CHECK_NATNUM (code); | 9028 | CHECK_NATNUM (code); |
| 9029 | c = XFASTINT (code); | 9029 | c = XFASTINT (code); |
| @@ -9048,7 +9048,8 @@ Return the corresponding character. */) | |||
| 9048 | } | 9048 | } |
| 9049 | else | 9049 | else |
| 9050 | { | 9050 | { |
| 9051 | int c1 = c >> 8, c2 = c & 0xFF; | 9051 | EMACS_INT c1 = c >> 8; |
| 9052 | int c2 = c & 0xFF; | ||
| 9052 | 9053 | ||
| 9053 | if (c1 < 0x81 || (c1 > 0x9F && c1 < 0xE0) || c1 > 0xEF | 9054 | if (c1 < 0x81 || (c1 > 0x9F && c1 < 0xE0) || c1 > 0xEF |
| 9054 | || c2 < 0x40 || c2 == 0x7F || c2 > 0xFC) | 9055 | || c2 < 0x40 || c2 == 0x7F || c2 > 0xFC) |