diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-17 02:29:13 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-17 02:29:13 +0000 |
| commit | 7a80cd60292ca86ce49f507719bf6ea23b2750ba (patch) | |
| tree | f6bc2c1f4ff64864d055a58621186c93d48b3e9e | |
| parent | 12951fe7a0abaefc1f73ce31986afacde619d272 (diff) | |
* file.c (rb_file_s_extname): first dot is not an extension name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | file.c | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Sat May 17 11:29:11 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (rb_file_s_extname): first dot is not an extension name. + Sat May 17 10:18:44 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * re.c (rb_reg_search): need to free allocated buffer in re_register. @@ -3023,7 +3023,7 @@ rb_file_s_extname(klass, fname) if (!p) p = name; else - p++; + name = ++p; e = 0; while (*p) { @@ -3053,7 +3053,7 @@ rb_file_s_extname(klass, fname) break; p = CharNext(p); } - if (!e || e+1 == p) /* no dot, or the only dot is first or end? */ + if (!e || e == name || e+1 == p) /* no dot, or the only dot is first or end? */ return rb_str_new(0, 0); extname = rb_str_new(e, p - e); /* keep the dot, too! */ OBJ_INFECT(extname, fname); |
