From 0dd8652385533322d41b30fbd9375e6de9903548 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 15 Nov 2009 20:59:07 -0800 Subject: * lib.c (chr): Take wchar_t argument, not int. Dropped range check. (c_chr): Return wchar_t not int. * lib.h (chr, c_chr): Declarations updated. --- ChangeLog | 7 +++++++ lib.c | 7 +++---- lib.h | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d436115..4bfcad3c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-11-15 Kaz Kylheku + + * lib.c (chr): Take wchar_t argument, not int. Dropped range check. + (c_chr): Return wchar_t not int. + + * lib.h (chr, c_chr): Declarations updated. + 2009-11-15 Kaz Kylheku Version 021. diff --git a/lib.c b/lib.c index 05927cb9..b014015b 100644 --- a/lib.c +++ b/lib.c @@ -967,9 +967,8 @@ obj_t *string_lt(obj_t *astr, obj_t *bstr) return cmp == -1 ? t : nil; } -obj_t *chr(int ch) +obj_t *chr(wchar_t ch) { - numeric_assert (ch >= NUM_MIN && ch <= NUM_MAX); return (obj_t *) ((ch << TAG_SHIFT) | TAG_CHR); } @@ -978,11 +977,11 @@ obj_t *chrp(obj_t *chr) return (is_chr(num)) ? t : nil; } -int c_chr(obj_t *chr) +wchar_t c_chr(obj_t *chr) { if (!is_chr(chr)) type_mismatch(L"~s is not a character", chr, nao); - return ((int) chr) >> TAG_SHIFT; + return ((wchar_t) chr) >> TAG_SHIFT; } obj_t *chr_str(obj_t *str, obj_t *index) diff --git a/lib.h b/lib.h index 0eab0604..0d075b2f 100644 --- a/lib.h +++ b/lib.h @@ -258,9 +258,9 @@ obj_t *cat_str(obj_t *list, obj_t *sep); obj_t *split_str(obj_t *str, obj_t *sep); obj_t *trim_str(obj_t *str); obj_t *string_lt(obj_t *astr, obj_t *bstr); -obj_t *chr(int ch); +obj_t *chr(wchar_t ch); obj_t *chrp(obj_t *chr); -int c_chr(obj_t *chr); +wchar_t c_chr(obj_t *chr); obj_t *chr_str(obj_t *str, obj_t *index); obj_t *chr_str_set(obj_t *str, obj_t *index, obj_t *chr); obj_t *sym_name(obj_t *sym); -- cgit v1.2.3