diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/charset.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/charset.c b/src/charset.c index c4ec97b2a65..d698f76017d 100644 --- a/src/charset.c +++ b/src/charset.c | |||
| @@ -670,18 +670,23 @@ range of code points of targer characters. */) | |||
| 670 | 670 | ||
| 671 | CHECK_CHARSET_GET_CHARSET (charset, cs); | 671 | CHECK_CHARSET_GET_CHARSET (charset, cs); |
| 672 | if (NILP (from_code)) | 672 | if (NILP (from_code)) |
| 673 | from_code = make_number (0); | ||
| 674 | CHECK_NATNUM (from_code); | ||
| 675 | from = XINT (from_code); | ||
| 676 | if (from < CHARSET_MIN_CODE (cs)) | ||
| 677 | from = CHARSET_MIN_CODE (cs); | 673 | from = CHARSET_MIN_CODE (cs); |
| 674 | else | ||
| 675 | { | ||
| 676 | CHECK_NATNUM (from_code); | ||
| 677 | from = XINT (from_code); | ||
| 678 | if (from < CHARSET_MIN_CODE (cs)) | ||
| 679 | from = CHARSET_MIN_CODE (cs); | ||
| 680 | } | ||
| 678 | if (NILP (to_code)) | 681 | if (NILP (to_code)) |
| 679 | to_code = make_number (0xFFFFFFFF); | 682 | to = CHARSET_MAX_CODE (cs); |
| 680 | CHECK_NATNUM (from_code); | 683 | else |
| 681 | to = XINT (to_code); | 684 | { |
| 682 | if (to > CHARSET_MAX_CODE (cs)) | 685 | CHECK_NATNUM (to_code); |
| 683 | to_code = make_number (CHARSET_MAX_CODE (cs)); | 686 | to = XINT (to_code); |
| 684 | 687 | if (to > CHARSET_MAX_CODE (cs)) | |
| 688 | to = CHARSET_MAX_CODE (cs); | ||
| 689 | } | ||
| 685 | map_charset_chars (NULL, function, arg, cs, from, to); | 690 | map_charset_chars (NULL, function, arg, cs, from, to); |
| 686 | return Qnil; | 691 | return Qnil; |
| 687 | } | 692 | } |