summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--string.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 18fde3b21..4c58e2289 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 30 01:24:55 2008 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * string.c (rb_str_cmp): fix condition which always returned true
+ because ENCODING_GET returns unsigned long.
+
Thu Oct 30 01:10:32 2008 Yusuke Endoh <mame@tsg.ne.jp>
* test/ruby/test_array (test_permutation): add a test that replaces
diff --git a/string.c b/string.c
index 16382b530..ea7b04f33 100644
--- a/string.c
+++ b/string.c
@@ -2073,7 +2073,7 @@ rb_str_cmp(VALUE str1, VALUE str2)
if (retval == 0) {
if (RSTRING_LEN(str1) == RSTRING_LEN(str2)) {
if (!rb_str_comparable(str1, str2)) {
- if (ENCODING_GET(str1) - ENCODING_GET(str2) > 0)
+ if (ENCODING_GET(str1) > ENCODING_GET(str2))
return 1;
return -1;
}