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);