return base.substr (0, n);
}
+string
+extension (const path & p)
+{
+ string base = Glib::path_get_basename (p.to_string());
+
+ string::size_type n = base.rfind ('.');
+
+ if (n != string::npos)
+ {
+ return base.substr(n);
+ }
+
+ return string();
+
+}
+
} // namespace sys
} // namespace PBD
*/
string basename (const path& p);
+/**
+ * @return If the filename contains a dot, return a substring of the
+ * filename starting the rightmost dot to the end of the string, otherwise
+ * an empty string.
+ *
+ * @param p a file path.
+ */
+string extension (const path& p);
+
} // namespace sys
} // namespace PBD