[gparted] Return and use constant reference from Partition::get_mountpoint() (!94)



commit b3f1c228601d4a59f498e79c34ca3fc0008066b7
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date:   Tue Nov 2 20:13:52 2021 +0000

    Return and use constant reference from Partition::get_mountpoint() (!94)
    
    Closes !94 - Make more getter methods use return-by-constant-reference

 include/Partition.h       | 2 +-
 src/Dialog_Rescue_Data.cc | 4 ++--
 src/Partition.cc          | 6 ++++--
 3 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/include/Partition.h b/include/Partition.h
index 26a11df4..495843de 100644
--- a/include/Partition.h
+++ b/include/Partition.h
@@ -113,7 +113,7 @@ public:
        const Glib::ustring& get_path() const;
        void add_mountpoint( const Glib::ustring & mountpoint );
        void add_mountpoints( const std::vector<Glib::ustring> & mountpoints );
-       Glib::ustring get_mountpoint() const ; 
+       const Glib::ustring& get_mountpoint() const;
        void clear_mountpoints() ;
        std::vector<Glib::ustring> get_mountpoints() const ;
        Sector get_sector() const ;
diff --git a/src/Dialog_Rescue_Data.cc b/src/Dialog_Rescue_Data.cc
index e3a343af..541d5e78 100644
--- a/src/Dialog_Rescue_Data.cc
+++ b/src/Dialog_Rescue_Data.cc
@@ -264,7 +264,7 @@ void Dialog_Rescue_Data::check_overlaps(int nPart)
                for(unsigned int i=0;i<this->overlappedPartitions.size(); i++)
                {
                        const Glib::ustring& ovrDevPath = this->device->partitions[i].get_path();
-                       Glib::ustring ovrDevMountPoint=this->device->partitions[i].get_mountpoint();
+                       const Glib::ustring& ovrDevMountPoint = this->device->partitions[i].get_mountpoint();
 
                        sec_text+="\n"+ovrDevPath+" mounted on "+ovrDevMountPoint;
                }
@@ -275,7 +275,7 @@ void Dialog_Rescue_Data::check_overlaps(int nPart)
                {
                        for(unsigned int i=0;i<this->overlappedPartitions.size(); i++)
                        {
-                               Glib::ustring mountP=this->device->partitions[i].get_mountpoint();
+                               const Glib::ustring& mountP=this->device->partitions[i].get_mountpoint();
 
                                Glib::ustring commandUmount = "umount " + Glib::shell_quote(mountP);
                                Utils::execute_command(commandUmount);
diff --git a/src/Partition.cc b/src/Partition.cc
index bef26dd1..f3a83f9a 100644
--- a/src/Partition.cc
+++ b/src/Partition.cc
@@ -364,12 +364,14 @@ void Partition::add_mountpoints( const std::vector<Glib::ustring> & mountpoints
        this ->mountpoints .insert( this ->mountpoints .end(), mountpoints .begin(), mountpoints .end() ) ;
 }
 
-Glib::ustring Partition::get_mountpoint() const 
+
+const Glib::ustring& Partition::get_mountpoint() const
 {
        if ( mountpoints .size() > 0 )
                return mountpoints .front() ;
 
-       return "" ;
+       static Glib::ustring unknown_mountpoint;
+       return unknown_mountpoint;
 }
 
 std::vector<Glib::ustring> Partition::get_mountpoints() const 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]