Internals: Remove duplicate filenameNonExt. No functional change.

This commit is contained in:
Wilson Snyder
2024-07-14 11:31:32 -04:00
parent 8c3b754bac
commit 74ae879c2f
5 changed files with 23 additions and 13 deletions
+16 -5
View File
@@ -165,6 +165,17 @@ string V3Os::filenameDir(const string& filename) VL_PURE {
}
}
string V3Os::filenameExt(const string& filename) VL_PURE {
string base = filenameNonDir(filename);
string::size_type pos;
if ((pos = base.find('.')) != string::npos) {
base.erase(0, pos);
return base;
} else {
return "";
}
}
string V3Os::filenameNonDir(const string& filename) VL_PURE {
// std::filesystem::path::filename
auto it = filename.rbegin();
@@ -174,17 +185,13 @@ string V3Os::filenameNonDir(const string& filename) VL_PURE {
return string{it.base(), filename.end()};
}
string V3Os::filenameNonExt(const string& filename) VL_PURE {
string V3Os::filenameNonDirExt(const string& filename) VL_PURE {
string base = filenameNonDir(filename);
string::size_type pos;
if ((pos = base.find('.')) != string::npos) base.erase(pos);
return base;
}
string V3Os::filenameNonDirExt(const string& filename) VL_PURE {
return filenameNonExt(filenameNonDir(filename));
}
string V3Os::filenameSubstitute(const string& filename) {
string result;
// cppcheck-has-bug-suppress unusedLabel
@@ -441,5 +448,9 @@ void V3Os::selfTest() {
UASSERT_SELFTEST(string, filenameCleanup("aaa/bbb/ccc/"), "aaa/bbb/ccc");
UASSERT_SELFTEST(string, filenameCleanup("./aaa/bbb/ccc/"), "aaa/bbb/ccc");
UASSERT_SELFTEST(string, filenameCleanup("../aaa/bbb/ccc/"), "../aaa/bbb/ccc");
UASSERT_SELFTEST(string, filenameDir("a.a/b.b/f.e"), "a.a/b.b");
UASSERT_SELFTEST(string, filenameExt("a.a/b.b/f"), "");
UASSERT_SELFTEST(string, filenameExt("a.a/b.b/f.e"), ".e");
UASSERT_SELFTEST(string, filenameNonDirExt("a.a/b.b/f.e"), "f");
#endif
}