pass dirname to Filename::make_canonical

This commit is contained in:
David Rose 2003-06-04 22:44:44 +00:00
parent 9fdb85793c
commit 1f896dbc2b

View File

@ -141,15 +141,18 @@ make_canonical(Filename &filename) {
return; return;
} }
string dirname = filename.get_dirname(); Filename orig_dirname = filename.get_dirname();
CanonicalFilenames::iterator fi; CanonicalFilenames::iterator fi;
fi = _canonical_filenames.find(dirname); fi = _canonical_filenames.find(orig_dirname);
if (fi != _canonical_filenames.end()) { if (fi != _canonical_filenames.end()) {
filename.set_dirname((*fi).second); filename.set_dirname((*fi).second);
return; return;
} }
filename.make_canonical(); Filename new_dirname = orig_dirname;
_canonical_filenames.insert(CanonicalFilenames::value_type(dirname, filename.get_dirname())); new_dirname.make_canonical();
filename.set_dirname(new_dirname);
_canonical_filenames.insert(CanonicalFilenames::value_type(orig_dirname, new_dirname));
} }