diff options
Diffstat (limited to 'FStream.cxx')
-rw-r--r-- | FStream.cxx | 67 |
1 files changed, 22 insertions, 45 deletions
diff --git a/FStream.cxx b/FStream.cxx index 5a30997..3c44a6f 100644 --- a/FStream.cxx +++ b/FStream.cxx @@ -1,78 +1,55 @@ -/*============================================================================ - 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. -============================================================================*/ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing#kwsys for details. */ #include "kwsysPrivate.h" #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" +#include "FStream.hxx.in" #endif -namespace KWSYS_NAMESPACE -{ -namespace FStream -{ +namespace KWSYS_NAMESPACE { +namespace FStream { BOM ReadBOM(std::istream& in) { - if(!in.good()) - { + if (!in.good()) { return BOM_None; - } + } unsigned long orig = in.tellg(); unsigned char bom[4]; in.read(reinterpret_cast<char*>(bom), 2); - if(!in.good()) - { + if (!in.good()) { in.clear(); in.seekg(orig); return BOM_None; - } - if(bom[0] == 0xEF && bom[1] == 0xBB) - { - in.read(reinterpret_cast<char*>(bom+2), 1); - if(in.good() && bom[2] == 0xBF) - { + } + if (bom[0] == 0xEF && bom[1] == 0xBB) { + in.read(reinterpret_cast<char*>(bom + 2), 1); + if (in.good() && bom[2] == 0xBF) { return BOM_UTF8; - } } - else if(bom[0] == 0xFE && bom[1] == 0xFF) - { + } else if (bom[0] == 0xFE && bom[1] == 0xFF) { return BOM_UTF16BE; - } - else if(bom[0] == 0x00 && bom[1] == 0x00) - { - in.read(reinterpret_cast<char*>(bom+2), 2); - if(in.good() && bom[2] == 0xFE && bom[3] == 0xFF) - { + } else if (bom[0] == 0x00 && bom[1] == 0x00) { + in.read(reinterpret_cast<char*>(bom + 2), 2); + if (in.good() && bom[2] == 0xFE && bom[3] == 0xFF) { return BOM_UTF32BE; - } } - else if(bom[0] == 0xFF && bom[1] == 0xFE) - { + } else if (bom[0] == 0xFF && bom[1] == 0xFE) { unsigned long p = in.tellg(); - in.read(reinterpret_cast<char*>(bom+2), 2); - if(in.good() && bom[2] == 0x00 && bom[3] == 0x00) - { + in.read(reinterpret_cast<char*>(bom + 2), 2); + if (in.good() && bom[2] == 0x00 && bom[3] == 0x00) { return BOM_UTF32LE; - } + } in.seekg(p); return BOM_UTF16LE; - } + } in.clear(); in.seekg(orig); return BOM_None; } } // FStream namespace -} //KWSYS_NAMESPACE +} // KWSYS_NAMESPACE |