mirror of
https://github.com/holub/mame
synced 2025-04-26 18:23:08 +03:00
As per Vas Crabb, readding overloads that take a std::string& parameter for the result
This commit is contained in:
parent
0d4151e366
commit
bdf2059bf4
@ -156,7 +156,7 @@ void device_image_interface::device_compute_hash(hash_collection &hashes, const
|
|||||||
image_error_t device_image_interface::set_image_filename(const char *filename)
|
image_error_t device_image_interface::set_image_filename(const char *filename)
|
||||||
{
|
{
|
||||||
m_image_name = filename;
|
m_image_name = filename;
|
||||||
m_working_directory = util::zippath_parent(filename);
|
util::zippath_parent(m_working_directory, filename);
|
||||||
m_basename.assign(m_image_name);
|
m_basename.assign(m_image_name);
|
||||||
|
|
||||||
int loc1 = m_image_name.find_last_of('\\');
|
int loc1 = m_image_name.find_last_of('\\');
|
||||||
|
@ -61,7 +61,7 @@ menu_control_device_image::menu_control_device_image(mame_ui_manager &mui, rende
|
|||||||
if (image->exists())
|
if (image->exists())
|
||||||
{
|
{
|
||||||
m_current_file.assign(image->filename());
|
m_current_file.assign(image->filename());
|
||||||
m_current_directory = util::zippath_parent(m_current_file.c_str());
|
util::zippath_parent(m_current_directory, m_current_file.c_str());
|
||||||
} else
|
} else
|
||||||
m_current_directory.assign(image->working_directory());
|
m_current_directory.assign(image->working_directory());
|
||||||
|
|
||||||
|
@ -140,12 +140,11 @@ static void parse_parent_path(const char *path, int *beginpos, int *endpos)
|
|||||||
// zippath_parent - retrieves the parent directory
|
// zippath_parent - retrieves the parent directory
|
||||||
// -------------------------------------------------
|
// -------------------------------------------------
|
||||||
|
|
||||||
std::string zippath_parent(const char *path)
|
std::string &zippath_parent(std::string &dst, const char *path)
|
||||||
{
|
{
|
||||||
int pos;
|
int pos;
|
||||||
parse_parent_path(path, &pos, nullptr);
|
parse_parent_path(path, &pos, nullptr);
|
||||||
|
|
||||||
std::string dst;
|
|
||||||
if (pos >= 0)
|
if (pos >= 0)
|
||||||
dst.assign(path, pos + 1);
|
dst.assign(path, pos + 1);
|
||||||
else
|
else
|
||||||
@ -155,6 +154,19 @@ std::string zippath_parent(const char *path)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------
|
||||||
|
// zippath_parent - retrieves the parent directory
|
||||||
|
// -------------------------------------------------
|
||||||
|
|
||||||
|
std::string zippath_parent(const char *path)
|
||||||
|
{
|
||||||
|
std::string result;
|
||||||
|
zippath_parent(result, path);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------------------
|
// -------------------------------------------------
|
||||||
// zippath_parent_basename - retrieves the parent
|
// zippath_parent_basename - retrieves the parent
|
||||||
// directory basename
|
// directory basename
|
||||||
@ -171,9 +183,8 @@ std::string zippath_parent(const char *path)
|
|||||||
* @return A std::string&
|
* @return A std::string&
|
||||||
*/
|
*/
|
||||||
|
|
||||||
std::string zippath_parent_basename(const char *path)
|
std::string &zippath_parent_basename(std::string &dst, const char *path)
|
||||||
{
|
{
|
||||||
std::string dst;
|
|
||||||
int beginpos, endpos;
|
int beginpos, endpos;
|
||||||
parse_parent_path(path, &beginpos, &endpos);
|
parse_parent_path(path, &beginpos, &endpos);
|
||||||
dst.copy((char*)(path + beginpos + 1), endpos - beginpos);
|
dst.copy((char*)(path + beginpos + 1), endpos - beginpos);
|
||||||
@ -182,6 +193,20 @@ std::string zippath_parent_basename(const char *path)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------
|
||||||
|
// zippath_parent_basename - retrieves the parent
|
||||||
|
// directory basename
|
||||||
|
// -------------------------------------------------
|
||||||
|
|
||||||
|
std::string zippath_parent_basename(const char *path)
|
||||||
|
{
|
||||||
|
std::string result;
|
||||||
|
zippath_parent_basename(result, path);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------------------
|
// -------------------------------------------------
|
||||||
// zippath_combine - combines two paths
|
// zippath_combine - combines two paths
|
||||||
// -------------------------------------------------
|
// -------------------------------------------------
|
||||||
@ -198,9 +223,8 @@ std::string zippath_parent_basename(const char *path)
|
|||||||
* @return A std::string&
|
* @return A std::string&
|
||||||
*/
|
*/
|
||||||
|
|
||||||
std::string zippath_combine(const char *path1, const char *path2)
|
std::string &zippath_combine(std::string &dst, const char *path1, const char *path2)
|
||||||
{
|
{
|
||||||
std::string dst;
|
|
||||||
if (!strcmp(path2, "."))
|
if (!strcmp(path2, "."))
|
||||||
{
|
{
|
||||||
dst.assign(path1);
|
dst.assign(path1);
|
||||||
@ -226,6 +250,19 @@ std::string zippath_combine(const char *path1, const char *path2)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------
|
||||||
|
// zippath_combine - combines two paths
|
||||||
|
// -------------------------------------------------
|
||||||
|
|
||||||
|
std::string zippath_combine(const char *path1, const char *path2)
|
||||||
|
{
|
||||||
|
std::string result;
|
||||||
|
zippath_combine(result, path1, path2);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
FILE OPERATIONS
|
FILE OPERATIONS
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
@ -34,12 +34,15 @@ class zippath_directory;
|
|||||||
// ----- path operations -----
|
// ----- path operations -----
|
||||||
|
|
||||||
// retrieves the parent directory
|
// retrieves the parent directory
|
||||||
|
std::string &zippath_parent(std::string &dst, const char *path);
|
||||||
std::string zippath_parent(const char *path);
|
std::string zippath_parent(const char *path);
|
||||||
|
|
||||||
// retrieves the parent directory basename
|
// retrieves the parent directory basename
|
||||||
|
std::string &zippath_parent_basename(std::string &dst, const char *path);
|
||||||
std::string zippath_parent_basename(const char *path);
|
std::string zippath_parent_basename(const char *path);
|
||||||
|
|
||||||
// combines two paths
|
// combines two paths
|
||||||
|
std::string &zippath_combine(std::string &dst, const char *path1, const char *path2);
|
||||||
std::string zippath_combine(const char *path1, const char *path2);
|
std::string zippath_combine(const char *path1, const char *path2);
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user