OSDN Git Service

Convert out parameters to return value
authorTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sun, 9 Jun 2019 09:54:20 +0000 (18:54 +0900)
committerTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sun, 9 Jun 2019 09:54:20 +0000 (18:54 +0900)
14 files changed:
Src/Common/ShellFileOperations.cpp
Src/Common/ShellFileOperations.h
Src/DirCmpReport.h
Src/DirView.cpp
Src/DirView.h
Src/FileFilterHelper.cpp
Src/FileFilterHelper.h
Src/FileFiltersDlg.cpp
Src/FileFiltersDlg.h
Src/FileTransform.cpp
Src/FileTransform.h
Src/MainFrm.cpp
Src/MergeEditView.cpp
Testing/GoogleTest/FileFilter/FileFilterHelper_test.cpp

index 612e767..145b41c 100644 (file)
@@ -82,8 +82,9 @@ void ShellFileOperations::SetDestination(const String &destination)
  *   paths.
  * @param [out] string of the paths.
  */
-void ShellFileOperations::GetPathList(bool source, vector<TCHAR>& paths) const
+vector<TCHAR> ShellFileOperations::GetPathList(bool source) const
 {
+       vector<TCHAR> paths;
        const size_t len = CountStringSize(source);
        paths.resize(len, 0);
 
@@ -109,6 +110,7 @@ void ShellFileOperations::GetPathList(bool source, vector<TCHAR>& paths) const
                ind++; // NUL between strings
                ++iter;
        }
+       return paths;
 }
 
 /**
@@ -167,10 +169,10 @@ bool ShellFileOperations::Run()
        if (m_function == 0)
                return false; // Operation not set!
 
-       vector<TCHAR> sourceStr, destStr;
-       GetPathList(true, sourceStr);
+       vector<TCHAR> destStr;
+       vector<TCHAR> sourceStr = GetPathList(true);
        if (m_function != FO_DELETE)
-               GetPathList(false, destStr);
+               destStr = GetPathList(false);
 
        SHFILEOPSTRUCT fileop = {m_parentWindow, m_function, &sourceStr[0], 
                m_function != FO_DELETE ? &destStr[0] : nullptr, m_flags, FALSE, 0, 0};
index 78782c9..c069d53 100644 (file)
@@ -45,7 +45,7 @@ public:
        void Reset();
 
 protected:
-       void GetPathList(bool source, std::vector<TCHAR>& paths) const;
+       std::vector<TCHAR> GetPathList(bool source) const;
        size_t CountStringSize(bool source) const;
 
 private:
index b0ffb5b..e6c0a43 100644 (file)
@@ -67,7 +67,7 @@ private:
        int m_nColumns; /**< Columns in UI */
        String m_sSeparator; /**< Column separator for report */
        CFile *m_pFile; /**< File to write report to */
-       const std::vector<String>& m_colRegKeys; /**< Key names for currently displayed columns */
+       std::vector<String> m_colRegKeys; /**< Key names for currently displayed columns */
        IFileCmpReport *m_pFileCmpReport;
        bool m_bIncludeFileCmpReport; /**< Do we include file compare report in folder compare report? */
        bool m_bOutputUTF8;
index 3069492..7d45a10 100644 (file)
@@ -2526,14 +2526,16 @@ void CDirView::OnUpdateCtxtOpenWithUnpacker(CCmdUI* pCmdUI)
 /**
  * @brief Fill string list with current dirview column registry key names
  */
-void CDirView::GetCurrentColRegKeys(std::vector<String>& colKeys)
+std::vector<String> CDirView::GetCurrentColRegKeys()
 {
+       std::vector<String> colKeys;
        int nphyscols = GetListCtrl().GetHeaderCtrl()->GetItemCount();
        for (int col = 0; col < nphyscols; ++col)
        {
                int logcol = m_pColItems->ColPhysToLog(col);
                colKeys.push_back(m_pColItems->GetColRegValueNameBase(logcol));
        }
+       return colKeys;
 }
 
 struct FileCmpReport: public IFileCmpReport
@@ -2600,12 +2602,7 @@ void CDirView::OnToolsGenerateReport()
        pDoc->SetGeneratingReport(true);
        const CDiffContext& ctxt = GetDiffContext();
 
-       // Make list of registry keys for columns
-       // (needed for XML reports)
-       std::vector<String> colKeys;
-       GetCurrentColRegKeys(colKeys);
-
-       DirCmpReport report(colKeys);
+       DirCmpReport report(GetCurrentColRegKeys());
        FileCmpReport freport(this);
        IListCtrlImpl list(m_pList->m_hWnd);
        report.SetList(&list);
index 1361920..7613f3d 100644 (file)
@@ -190,7 +190,7 @@ protected:
        int GetFirstDifferentItem();
        int GetLastDifferentItem();
        int AddSpecialItems();
-       void GetCurrentColRegKeys(std::vector<String>& colKeys);
+       std::vector<String>     GetCurrentColRegKeys();
        void OpenSpecialItems(DIFFITEM *pos1, DIFFITEM *pos2, DIFFITEM *pos3);
 
 // Implementation data
index 1fa641d..60ede23 100644 (file)
@@ -85,25 +85,27 @@ void FileFilterHelper::SetFileFilterPath(const String& szFileFilterPath)
 /**
  * @brief Get list of filters currently available.
  *
- * @param [out] filters Filter list to receive found filters.
  * @param [out] selected Filepath of currently selected filter.
+ * @return Filter list to receive found filters.
  */
-void FileFilterHelper::GetFileFilters(std::vector<FileFilterInfo> * filters, String & selected) const
+std::vector<FileFilterInfo> FileFilterHelper::GetFileFilters(String & selected) const
 {
+       std::vector<FileFilterInfo> filters;
        if (m_fileFilterMgr != nullptr)
        {
                const int count = m_fileFilterMgr->GetFilterCount();
-               filters->reserve(count);
+               filters.reserve(count);
                for (int i = 0; i < count; ++i)
                {
                        FileFilterInfo filter;
                        filter.fullpath = m_fileFilterMgr->GetFilterPath(i);
                        filter.name = m_fileFilterMgr->GetFilterName(i);
                        filter.description = m_fileFilterMgr->GetFilterDesc(i);
-                       filters->push_back(filter);
+                       filters.push_back(filter);
                }
        }
        selected = m_sFileFilterPath;
+       return filters;
 }
 
 /**
@@ -114,11 +116,9 @@ void FileFilterHelper::GetFileFilters(std::vector<FileFilterInfo> * filters, Str
  */
 String FileFilterHelper::GetFileFilterName(const String& filterPath) const
 {
-       vector<FileFilterInfo> filters;
        String selected;
        String name;
-
-       GetFileFilters(&filters, selected);
+       vector<FileFilterInfo> filters = GetFileFilters(selected);
        vector<FileFilterInfo>::const_iterator iter = filters.begin();
        while (iter != filters.end())
        {
@@ -139,11 +139,9 @@ String FileFilterHelper::GetFileFilterName(const String& filterPath) const
  */
 String FileFilterHelper::GetFileFilterPath(const String& filterName) const
 {
-       vector<FileFilterInfo> filters;
        String selected;
        String path;
-
-       GetFileFilters(&filters, selected);
+       vector<FileFilterInfo> filters = GetFileFilters(selected);
        vector<FileFilterInfo>::const_iterator iter = filters.begin();
        while (iter != filters.end())
        {
@@ -417,11 +415,9 @@ bool FileFilterHelper::SetFilter(const String &filter)
  */
 void FileFilterHelper::ReloadUpdatedFilters()
 {
-       vector<FileFilterInfo> filters;
        DirItem fileInfo;
        String selected;
-
-       GetFileFilters(&filters, selected);
+       vector<FileFilterInfo> filters = GetFileFilters(selected);
        vector<FileFilterInfo>::const_iterator iter = filters.begin();
        while (iter != filters.end())
        {
index a6a96dc..ca47c14 100644 (file)
@@ -126,7 +126,7 @@ public:
 
        FileFilterMgr * GetManager() const;
        void SetFileFilterPath(const String& szFileFilterPath);
-       void GetFileFilters(std::vector<FileFilterInfo> * filters, String & selected) const;
+       std::vector<FileFilterInfo> GetFileFilters(String & selected) const;
        String GetFileFilterName(const String& filterPath) const;
        String GetFileFilterPath(const String& filterName) const;
        void SetUserFilterPath(const String & filterPath);
index 30e941e..ea58bd5 100644 (file)
@@ -54,7 +54,6 @@ IMPLEMENT_DYNCREATE(FileFiltersDlg, CPropertyPage)
  * @brief Constructor.
  */
 FileFiltersDlg::FileFiltersDlg() : CTrPropertyPage(FileFiltersDlg::IDD)
-, m_Filters(nullptr)
 {
        m_strCaption = theApp.LoadDialogCaption(m_lpszTemplateName).c_str();
        m_psp.pszTitle = m_strCaption;
@@ -95,7 +94,7 @@ END_MESSAGE_MAP()
  * @param [in] fileFilters Array of filters to show in the dialog.
  * @note Call this before actually showing the dialog.
  */
-void FileFiltersDlg::SetFilterArray(vector<FileFilterInfo> * fileFilters)
+void FileFiltersDlg::SetFilterArray(const vector<FileFilterInfo>& fileFilters)
 {
        m_Filters = fileFilters;
 }
@@ -143,7 +142,7 @@ void FileFiltersDlg::InitList()
        m_listFilters.SetItemText(0, 1, title.c_str());
        m_listFilters.SetItemText(0, 2, title.c_str());
 
-       const int count = (int) m_Filters->size();
+       const int count = (int) m_Filters.size();
 
        for (int i = 0; i < count; i++)
        {
@@ -198,7 +197,7 @@ BOOL FileFiltersDlg::OnInitDialog()
  */
 void FileFiltersDlg::AddToGrid(int filterIndex)
 {
-       const FileFilterInfo & filterinfo = m_Filters->at(filterIndex);
+       const FileFilterInfo & filterinfo = m_Filters.at(filterIndex);
        const int item = filterIndex + 1;
 
        m_listFilters.InsertItem(item, filterinfo.name.c_str());
@@ -464,9 +463,8 @@ void FileFiltersDlg::OnBnClickedFilterfileNewbutton()
                {
                        // Remove all from filterslist and re-add so we can update UI
                        String selected;
-                       m_Filters->clear();
                        theApp.m_pGlobalFileFilter->LoadAllFileFilters();
-                       theApp.m_pGlobalFileFilter->GetFileFilters(m_Filters, selected);
+                       m_Filters = theApp.m_pGlobalFileFilter->GetFileFilters(selected);
 
                        UpdateFiltersList();
                }
@@ -499,8 +497,7 @@ void FileFiltersDlg::OnBnClickedFilterfileDelete()
                                
                                // Remove all from filterslist and re-add so we can update UI
                                String selected;
-                               m_Filters->clear();
-                               theApp.m_pGlobalFileFilter->GetFileFilters(m_Filters, selected);
+                               m_Filters = theApp.m_pGlobalFileFilter->GetFileFilters(selected);
 
                                UpdateFiltersList();
                        }
@@ -520,7 +517,7 @@ void FileFiltersDlg::OnBnClickedFilterfileDelete()
  */
 void FileFiltersDlg::UpdateFiltersList()
 {
-       int count = (int) m_Filters->size();
+       int count = (int) m_Filters.size();
 
        m_listFilters.DeleteAllItems();
 
@@ -589,8 +586,7 @@ void FileFiltersDlg::OnBnClickedFilterfileInstall()
 
                        // Remove all from filterslist and re-add so we can update UI
                        String selected;
-                       m_Filters->clear();
-                       theApp.m_pGlobalFileFilter->GetFileFilters(m_Filters, selected);
+                       m_Filters = theApp.m_pGlobalFileFilter->GetFileFilters(selected);
 
                        UpdateFiltersList();
                }
index 9f1fd97..552cf12 100644 (file)
@@ -37,7 +37,7 @@ class FileFiltersDlg : public CTrPropertyPage
 // Construction
 public:
        FileFiltersDlg();   // standard constructor
-       void SetFilterArray(std::vector<FileFilterInfo> * fileFilters);
+       void SetFilterArray(const std::vector<FileFilterInfo>& fileFilters);
        String GetSelected();
        void SetSelected(const String & selected);
 
@@ -45,7 +45,7 @@ public:
 private:
        String m_sFileFilterPath;
        CPoint m_ptLastMousePos;
-       std::vector<FileFilterInfo> m_Filters;
+       std::vector<FileFilterInfo> m_Filters;
 
 // Dialog Data
        //{{AFX_DATA(FileFiltersDlg)
index ec0af8f..deeb5c5 100644 (file)
@@ -443,8 +443,10 @@ bool AnyCodepageToUTF8(int codepage, String & filepath, bool bMayOverwrite)
 ////////////////////////////////////////////////////////////////////////////////
 // transformation : TextTransform_Interactive (editor scripts)
 
-void GetFreeFunctionsInScripts(std::vector<String>& sNamesArray, const wchar_t *TransformationEvent)
+std::vector<String> GetFreeFunctionsInScripts(const wchar_t *TransformationEvent)
 {
+       std::vector<String> sNamesArray;
+
        // get an array with the available scripts
        PluginArray * piScriptArray = 
                CAllThreadsScripts::GetActiveSet()->GetAvailableScripts(TransformationEvent);
@@ -469,6 +471,7 @@ void GetFreeFunctionsInScripts(std::vector<String>& sNamesArray, const wchar_t *
 
                nFnc += nScriptFnc;
        }
+       return sNamesArray;
 }
 
 bool Interactive(String & text, const wchar_t *TransformationEvent, int iFncChosen)
index 1c076e0..8f89fe0 100644 (file)
@@ -226,7 +226,7 @@ bool AnyCodepageToUTF8(int codepage, String & filepath, bool bMayOverwrite);
  * last script file, ...
  * last script file, last function name
  */
-void GetFreeFunctionsInScripts(std::vector<String> & sNamesArray, const wchar_t *TransformationEvent);
+std::vector<String> GetFreeFunctionsInScripts(const wchar_t* TransformationEvent);
 
 /** 
  * @brief : Execute one free function from one script
index e259fec..f7b460e 100644 (file)
@@ -1591,7 +1591,6 @@ void CMainFrame::OnToolsFilters()
        CPropertySheet sht(title.c_str());
        LineFiltersDlg lineFiltersDlg;
        FileFiltersDlg fileFiltersDlg;
-       vector<FileFilterInfo> fileFilters;
        std::unique_ptr<LineFiltersList> lineFilters(new LineFiltersList());
        String selectedFilter;
        const String origFilter = theApp.m_pGlobalFileFilter->GetFilterNameOrMask();
@@ -1602,8 +1601,7 @@ void CMainFrame::OnToolsFilters()
        // Make sure all filters are up-to-date
        theApp.m_pGlobalFileFilter->ReloadUpdatedFilters();
 
-       theApp.m_pGlobalFileFilter->GetFileFilters(&fileFilters, selectedFilter);
-       fileFiltersDlg.SetFilterArray(&fileFilters);
+       fileFiltersDlg.SetFilterArray(theApp.m_pGlobalFileFilter->GetFileFilters(selectedFilter));
        fileFiltersDlg.SetSelected(selectedFilter);
        const bool lineFiltersEnabledOrig = GetOptionsMgr()->GetBool(OPT_LINEFILTER_ENABLED);
        lineFiltersDlg.m_bIgnoreRegExp = lineFiltersEnabledOrig;
index e3530c5..f58622c 100644 (file)
@@ -2615,8 +2615,7 @@ void CMergeEditView::OnUpdateStatusRO(CCmdUI* pCmdUI)
 HMENU CMergeEditView::createScriptsSubmenu(HMENU hMenu)
 {
        // get scripts list
-       std::vector<String> functionNamesList;
-       FileTransform::GetFreeFunctionsInScripts(functionNamesList, L"EDITOR_SCRIPT");
+       std::vector<String> functionNamesList = FileTransform::GetFreeFunctionsInScripts(L"EDITOR_SCRIPT");
 
        // empty the menu
        size_t i = GetMenuItemCount(hMenu);
index c53bd74..4e8c02a 100644 (file)
@@ -76,26 +76,24 @@ namespace
 
        TEST_F(FileFilterHelperTest, SetFileFilterPath)
        {
-               std::vector<FileFilterInfo> filters;
                String selected;
                m_fileFilterHelper.SetFileFilterPath(_T(""));
-               m_fileFilterHelper.GetFileFilters(&filters, selected);
+               std::vector<FileFilterInfo> filters = m_fileFilterHelper.GetFileFilters(selected);
                EXPECT_TRUE(selected.compare(_T("")) == 0);
 
                m_fileFilterHelper.SetFileFilterPath(_T("non-existent file filter path"));
-               m_fileFilterHelper.GetFileFilters(&filters, selected);
+               filters = m_fileFilterHelper.GetFileFilters(selected);
                EXPECT_TRUE(selected.compare(_T("")) == 0);
 
                m_fileFilterHelper.SetFileFilterPath(m_fileFilterHelper.GetFileFilterPath(_T("simple include file")).c_str());
-               m_fileFilterHelper.GetFileFilters(&filters, selected);
+               filters = m_fileFilterHelper.GetFileFilters(selected);
                EXPECT_TRUE(selected.find_first_of(_T("Filters\\simple_include_file.flt")) != String::npos);
        }
 
        TEST_F(FileFilterHelperTest, GetFileFilters)
        {
-               std::vector<FileFilterInfo> filters;
                String selected;
-               m_fileFilterHelper.GetFileFilters(&filters, selected);
+               std::vector<FileFilterInfo> filters = m_fileFilterHelper.GetFileFilters(selected);
 
                for (std::vector<FileFilterInfo>::iterator it = filters.begin(); it != filters.end(); it++)
                {