ruby-changes:16784
From: nobu <ko1@a...>
Date: Thu, 29 Jul 2010 05:52:33 +0900 (JST)
Subject: [ruby-changes:16784] Ruby:r28779 (trunk): * file.c (rb_file_s_basename): pass baselen to rmext.
nobu 2010-07-29 05:52:16 +0900 (Thu, 29 Jul 2010) New Revision: 28779 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28779 Log: * file.c (rb_file_s_basename): pass baselen to rmext. Modified files: trunk/ChangeLog trunk/file.c Index: ChangeLog =================================================================== --- ChangeLog (revision 28778) +++ ChangeLog (revision 28779) @@ -1,3 +1,7 @@ +Thu Jul 29 05:52:15 2010 Nobuyoshi Nakada <nobu@r...> + + * file.c (rb_file_s_basename): pass baselen to rmext. + Thu Jul 29 02:38:09 2010 NARUSE, Yui <naruse@r...> * configure.in: not [freebsd] but [freebsd*] for AS_CASE. Index: file.c =================================================================== --- file.c (revision 28778) +++ file.c (revision 28779) @@ -3398,15 +3398,12 @@ } static size_t -rmext(const char *p, long l1, const char *e) +rmext(const char *p, long l0, long l1, const char *e) { - long l0, l2; + long l2; if (!e) return 0; - for (l0 = 0; l0 < l1; ++l0) { - if (p[l0] != '.') break; - } l2 = strlen(e); if (l2 == 2 && e[1] == '*') { unsigned char c = *e; @@ -3527,7 +3524,7 @@ p = ruby_find_basename(name, &f, &n); if (n >= 0) { - if (NIL_P(fext) || !(f = rmext(p, n, StringValueCStr(fext)))) { + if (NIL_P(fext) || !(f = rmext(p, f, n, StringValueCStr(fext)))) { f = n; } if (f == RSTRING_LEN(fname)) return rb_str_new_shared(fname); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/