From 7e5be7e1314cde91c2c05702eff3da8083925172 Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 29 Jul 2008 10:31:31 +0000 Subject: [PATCH] * dir.c (char_casecmp): fix: return 0 if either of characters is NUL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ dir.c | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0f5314f2ad..a9b42f985c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Jul 29 17:54:35 2008 NARUSE, Yui + + * dir.c (char_casecmp): fix: return 0 if either of characters is NUL. + Tue Jul 29 13:17:03 2008 NARUSE, Yui * test/etc/test_etc.rb (test_getpwuid): fix for users whose uid is diff --git a/dir.c b/dir.c index 905140ac48..3dfeb54b65 100644 --- a/dir.c +++ b/dir.c @@ -89,8 +89,7 @@ char_casecmp(const char *p1, const char *p2, rb_encoding *enc, const int nocase) const char *p1end, *p2end; int c1, c2; - if (!*p1) return *p1; - if (!*p2) return -*p2; + if (!*p1 || !*p2) return !!*p1 - !!*p2; p1end = p1 + strlen(p1); p2end = p2 + strlen(p2); c1 = rb_enc_codepoint(p1, p1end, enc);