]> Creatis software - gdcm.git/blobdiff - src/gdcmDirList.cxx
Minor cleanup for toplevel CMakeLists
[gdcm.git] / src / gdcmDirList.cxx
index 64eda53e87f85cc0145c058cd796d84bfa5d7450..5f8f3ccc2536bb4eb548efe2ed4dced09dec67a3 100644 (file)
@@ -1,47 +1,36 @@
 // gdcmDirList.cxx
 //-----------------------------------------------------------------------------
 #include "gdcmDirList.h"
+#include "gdcmUtil.h"
 
 #include <iostream>
 #include <algorithm>
 
-#ifdef GDCM_NO_ANSI_STRING_STREAM
-   #include <strstream>
-   #define  ostringstream ostrstream
-#else
-   #include <sstream>
-#endif
-
-#ifdef _MSC_VER 
+#if defined(_MSC_VER) || defined (__CYGWIN__)
    #include <windows.h> 
+#ifdef _MSC_VER
    #include <direct.h>
+#endif //_MSC_VER
 #else
    #include <dirent.h>   
    #include <unistd.h>
 #endif
 
-//-----------------------------------------------------------------------------
-const char gdcmDirList::SEPARATOR_X      = '/';
-const char gdcmDirList::SEPARATOR_WIN    = '\\';
-const std::string gdcmDirList::SEPARATOR = "/";
-
-//-----------------------------------------------------------------------------
 // Constructor / Destructor
-/*
+/**
  * \ingroup gdcmDirList
  * \brief Constructor  
- * @param  dirName
- * @param  recursive 
+ * @param  dirName root directory name
+ * @param  recursive whether we want to explore recursively or not 
  */
 gdcmDirList::gdcmDirList(std::string dirName,bool recursive)
 {
    name=dirName;
-
    NormalizePath(name);
    Explore(name,recursive);
 }
 
-/*
+/**
  * \ingroup gdcmDirList
  * \brief  Destructor
  */
@@ -54,10 +43,10 @@ gdcmDirList::~gdcmDirList(void)
 
 //-----------------------------------------------------------------------------
 // Public
-/*
+/**
  * \ingroup gdcmDirList
  * \brief   Get the directory name
- * @param   
+ * @return the directory name 
  */
 std::string gdcmDirList::GetDirName(void)
 {
@@ -69,32 +58,19 @@ std::string gdcmDirList::GetDirName(void)
 
 //-----------------------------------------------------------------------------
 // Private
-/*
- * \ingroup gdcmDirList
- * \brief   Add a SEPARATOR to the end of the directory name is necessary
- * @param   
- */
-void gdcmDirList::NormalizePath(std::string &dirName)
-{
-   int size=dirName.size();
-   if((dirName[size-1]!=SEPARATOR_X)&&(dirName[size-1]!=SEPARATOR_WIN))
-   {
-      dirName+=SEPARATOR;
-   }
-}
 
-/*
+/**
  * \ingroup gdcmDirList
  * \brief   Explore a directory with possibility of recursion
- * @param   
+ * @param  dirName directory to explore
+ * @param  recursive whether we want recursion or not
  */
 void gdcmDirList::Explore(std::string dirName,bool recursive)
 {
    std::string fileName;
 
    NormalizePath(dirName);
-
-#ifdef _MSC_VER 
+#if defined(_MSC_VER) || (__CYGWIN__)
    WIN32_FIND_DATA fileData; 
    HANDLE hFile=FindFirstFile((dirName+"*").c_str(),&fileData);
    int found=true;
@@ -121,7 +97,7 @@ void gdcmDirList::Explore(std::string dirName,bool recursive)
 
    for (int i= 0;i < n; i++) 
    {
-      fileName=namelist[i]->d_name;
+      fileName=namelist[i]->d_name;     
       if(namelist[i]->d_type==DT_DIR)
       {
          if( (fileName!=".") && (fileName!="..") && (recursive) )