summaryrefslogtreecommitdiffstats
path: root/Directory.cxx
diff options
context:
space:
mode:
authorKWSys Robot <kwrobot@kitware.com>2013-11-21 17:47:57 (GMT)
committerBrad King <brad.king@kitware.com>2013-11-25 16:19:37 (GMT)
commit704ab3d24827cfe5754a00028086f21503c2e08b (patch)
tree7055b7ac99385d358c90b9fed3b2c3b622c4a8bc /Directory.cxx
parentc01e74459c0ad5552f8b5fc384bc540d82c32c60 (diff)
downloadCMake-704ab3d24827cfe5754a00028086f21503c2e08b.zip
CMake-704ab3d24827cfe5754a00028086f21503c2e08b.tar.gz
CMake-704ab3d24827cfe5754a00028086f21503c2e08b.tar.bz2
KWSys 2013-11-21 (1010d0e3)
Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ 1010d0e3 | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' 6eab64c3..1010d0e3 Brad King (2): ace1364c Encoding: Remove unused include 1010d0e3 SystemTools: Avoid unused function warnings Clinton Stimpson (4): 0c2ff1f7 Encoding: Add Encoding module. 8abbad82 FStream: Add FStream module. 0a98de97 KWSys: Port to use wide character Windows APIs throughout. 2b0c683d Encoding: Default to ANSI code page on Windows David Cole (1): f67bb2ba SystemTools: Move typedef mode_t inside the SystemTools class Sean McBride (1): a40b9263 SystemInformation: Work around gcc -Wliteral-suffix warning Change-Id: Ie52df972331cc7377c236d410ead86024e9d15ab
Diffstat (limited to 'Directory.cxx')
-rw-r--r--Directory.cxx17
1 files changed, 10 insertions, 7 deletions
diff --git a/Directory.cxx b/Directory.cxx
index b884747..d54e607 100644
--- a/Directory.cxx
+++ b/Directory.cxx
@@ -14,6 +14,8 @@
#include KWSYS_HEADER(Configure.hxx)
+#include KWSYS_HEADER(Encoding.hxx)
+
#include KWSYS_HEADER(stl/string)
#include KWSYS_HEADER(stl/vector)
@@ -22,6 +24,7 @@
#if 0
# include "Directory.hxx.in"
# include "Configure.hxx.in"
+# include "Encoding.hxx.in"
# include "kwsys_stl.hxx.in"
# include "kwsys_stl_string.hxx.in"
# include "kwsys_stl_vector.hxx.in"
@@ -120,10 +123,10 @@ bool Directory::Load(const char* name)
buf = new char[n + 2 + 1];
sprintf(buf, "%s/*", name);
}
- struct _finddata_t data; // data of current file
+ struct _wfinddata_t data; // data of current file
// Now put them into the file array
- srchHandle = _findfirst(buf, &data);
+ srchHandle = _wfindfirst((wchar_t*)Encoding::ToWide(buf).c_str(), &data);
delete [] buf;
if ( srchHandle == -1 )
@@ -134,9 +137,9 @@ bool Directory::Load(const char* name)
// Loop through names
do
{
- this->Internal->Files.push_back(data.name);
+ this->Internal->Files.push_back(Encoding::ToNarrow(data.name));
}
- while ( _findnext(srchHandle, &data) != -1 );
+ while ( _wfindnext(srchHandle, &data) != -1 );
this->Internal->Path = name;
return _findclose(srchHandle) != -1;
}
@@ -160,10 +163,10 @@ unsigned long Directory::GetNumberOfFilesInDirectory(const char* name)
buf = new char[n + 2 + 1];
sprintf(buf, "%s/*", name);
}
- struct _finddata_t data; // data of current file
+ struct _wfinddata_t data; // data of current file
// Now put them into the file array
- srchHandle = _findfirst(buf, &data);
+ srchHandle = _wfindfirst((wchar_t*)Encoding::ToWide(buf).c_str(), &data);
delete [] buf;
if ( srchHandle == -1 )
@@ -177,7 +180,7 @@ unsigned long Directory::GetNumberOfFilesInDirectory(const char* name)
{
count++;
}
- while ( _findnext(srchHandle, &data) != -1 );
+ while ( _wfindnext(srchHandle, &data) != -1 );
_findclose(srchHandle);
return count;
}