summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKWSys Robot <kwrobot@kitware.com>2013-12-21 23:58:02 (GMT)
committerBrad King <brad.king@kitware.com>2013-12-23 15:51:34 (GMT)
commitd4efa5f81caf87a3ac170c5a4a1aa1fe78520f4d (patch)
treec52b9b9fbf9c9064cceb11e4221062fd6c2eef35
parent7aa3c2015f773d9b9433ca72242d03470c461c27 (diff)
downloadCMake-d4efa5f81caf87a3ac170c5a4a1aa1fe78520f4d.zip
CMake-d4efa5f81caf87a3ac170c5a4a1aa1fe78520f4d.tar.gz
CMake-d4efa5f81caf87a3ac170c5a4a1aa1fe78520f4d.tar.bz2
KWSys 2013-12-21 (e81f2a9e)
Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ e81f2a9e | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' 2426b57d..e81f2a9e Clinton Stimpson (1): e81f2a9e FStream: Fix opening non-existant file. Change-Id: I1f79e6671de7733d1b8e8a34ce627749c2f666b7
-rw-r--r--CMakeLists.txt5
-rw-r--r--FStream.hxx.in5
-rw-r--r--testFStream.cxx48
3 files changed, 56 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c2b377d..736e30a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1133,6 +1133,11 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
testEncoding
)
ENDIF(KWSYS_STL_HAS_WSTRING)
+ IF(KWSYS_USE_FStream)
+ SET(KWSYS_CXX_TESTS ${KWSYS_CXX_TESTS}
+ testFStream
+ )
+ ENDIF(KWSYS_USE_FStream)
IF(KWSYS_USE_SystemInformation)
SET(KWSYS_CXX_TESTS ${KWSYS_CXX_TESTS} testSystemInformation)
ENDIF(KWSYS_USE_SystemInformation)
diff --git a/FStream.hxx.in b/FStream.hxx.in
index c340c55..916a93e 100644
--- a/FStream.hxx.in
+++ b/FStream.hxx.in
@@ -25,8 +25,9 @@ namespace @KWSYS_NAMESPACE@
typedef std::basic_filebuf<CharType,Traits> my_base_type;
basic_filebuf *open(char const *s,std::ios_base::openmode mode)
{
- my_base_type::open(Encoding::ToWide(s).c_str(), mode);
- return this;
+ return static_cast<basic_filebuf*>(
+ my_base_type::open(Encoding::ToWide(s).c_str(), mode)
+ );
}
};
diff --git a/testFStream.cxx b/testFStream.cxx
new file mode 100644
index 0000000..8942549
--- /dev/null
+++ b/testFStream.cxx
@@ -0,0 +1,48 @@
+/*============================================================================
+ KWSys - Kitware System Library
+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#include "kwsysPrivate.h"
+
+#if defined(_MSC_VER)
+# pragma warning (disable:4786)
+#endif
+
+#include KWSYS_HEADER(FStream.hxx)
+
+// Work-around CMake dependency scanning limitation. This must
+// duplicate the above list of headers.
+#if 0
+# include "FStream.hxx.in"
+#endif
+
+
+//----------------------------------------------------------------------------
+static int testNoFile()
+{
+ kwsys::ifstream in_file("NoSuchFile.txt");
+ if(in_file)
+ {
+ return 1;
+ }
+
+ return 0;
+}
+
+
+//----------------------------------------------------------------------------
+int testFStream(int, char*[])
+{
+ int ret = 0;
+
+ ret |= testNoFile();
+
+ return ret;
+}