Mercurial > octave-nkf
diff src/load-save.cc @ 6838:5e3350bdd91d
[project @ 2007-08-28 02:59:58 by jwe]
author | jwe |
---|---|
date | Tue, 28 Aug 2007 02:59:59 +0000 |
parents | 958713bc465e |
children | 47f4f4e88166 |
line wrap: on
line diff
--- a/src/load-save.cc Mon Aug 27 20:20:55 2007 +0000 +++ b/src/load-save.cc Tue Aug 28 02:59:59 2007 +0000 @@ -594,7 +594,8 @@ { std::string fname = name; - if (! octave_env::absolute_pathname (fname)) + if (! (octave_env::absolute_pathname (fname) + || octave_env::rooted_relative_pathname (fname))) { file_stat fs (fname); @@ -612,8 +613,14 @@ } } - if (fname.rfind (".") == NPOS) + size_t dot_pos = fname.rfind ("."); + size_t sep_pos = fname.find_last_of (file_ops::dir_sep_chars); + + if (dot_pos == NPOS || (sep_pos != NPOS && dot_pos < sep_pos)) { + // Either no '.' in name or no '.' appears after last directory + // separator. + file_stat fs (fname); if (! (fs.exists () && fs.is_reg ()))