diff options
author | Brad King <brad.king@kitware.com> | 2016-11-09 14:23:18 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-11-09 14:23:18 (GMT) |
commit | 95a97a40e48a0db2b206c4560d6962be3666812c (patch) | |
tree | e7f6f0e6ffca54ee18f8c276735e8a60e45f8833 /Source/kwsys/EncodingCXX.cxx | |
parent | 666bb0e3fa0d212c03f785bd9f6bc05d29925e1f (diff) | |
parent | 773b36e5d4af3ac040625e0ea16bcfd30fcdeb6d (diff) | |
download | CMake-95a97a40e48a0db2b206c4560d6962be3666812c.zip CMake-95a97a40e48a0db2b206c4560d6962be3666812c.tar.gz CMake-95a97a40e48a0db2b206c4560d6962be3666812c.tar.bz2 |
Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
KWSys 2016-11-09 (18c65411)
Diffstat (limited to 'Source/kwsys/EncodingCXX.cxx')
-rw-r--r-- | Source/kwsys/EncodingCXX.cxx | 110 |
1 files changed, 44 insertions, 66 deletions
diff --git a/Source/kwsys/EncodingCXX.cxx b/Source/kwsys/EncodingCXX.cxx index 597d4bd..5c58bcb 100644 --- a/Source/kwsys/EncodingCXX.cxx +++ b/Source/kwsys/EncodingCXX.cxx @@ -1,19 +1,9 @@ -/*============================================================================ - 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. */ #ifdef __osf__ -# define _OSF_SOURCE -# define _POSIX_C_SOURCE 199506L -# define _XOPEN_SOURCE_EXTENDED +#define _OSF_SOURCE +#define _POSIX_C_SOURCE 199506L +#define _XOPEN_SOURCE_EXTENDED #endif #include "kwsysPrivate.h" @@ -23,44 +13,43 @@ // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 -# include "Encoding.hxx.in" -# include "Encoding.h.in" +#include "Encoding.h.in" +#include "Encoding.hxx.in" #endif -#include <vector> #include <stdlib.h> #include <string.h> +#include <vector> #ifdef _MSC_VER -# pragma warning (disable: 4786) +#pragma warning(disable : 4786) #endif // Windows API. #if defined(_WIN32) -# include <windows.h> -# include <shellapi.h> +#include <windows.h> + +#include <shellapi.h> #endif -namespace KWSYS_NAMESPACE -{ +namespace KWSYS_NAMESPACE { -Encoding::CommandLineArguments -Encoding::CommandLineArguments::Main(int argc, char const* const* argv) +Encoding::CommandLineArguments Encoding::CommandLineArguments::Main( + int argc, char const* const* argv) { #ifdef _WIN32 - (void) argc; - (void) argv; + (void)argc; + (void)argv; int ac; LPWSTR* w_av = CommandLineToArgvW(GetCommandLineW(), &ac); std::vector<std::string> av1(ac); std::vector<char const*> av2(ac); - for(int i=0; i<ac; i++) - { + for (int i = 0; i < ac; i++) { av1[i] = ToNarrow(w_av[i]); av2[i] = av1[i].c_str(); - } + } LocalFree(w_av); return CommandLineArguments(ac, &av2[0]); #else @@ -71,60 +60,53 @@ Encoding::CommandLineArguments::Main(int argc, char const* const* argv) Encoding::CommandLineArguments::CommandLineArguments(int ac, char const* const* av) { - this->argv_.resize(ac+1); - for(int i=0; i<ac; i++) - { + this->argv_.resize(ac + 1); + for (int i = 0; i < ac; i++) { this->argv_[i] = strdup(av[i]); - } + } this->argv_[ac] = 0; } Encoding::CommandLineArguments::CommandLineArguments(int ac, wchar_t const* const* av) { - this->argv_.resize(ac+1); - for(int i=0; i<ac; i++) - { + this->argv_.resize(ac + 1); + for (int i = 0; i < ac; i++) { this->argv_[i] = kwsysEncoding_DupToNarrow(av[i]); - } + } this->argv_[ac] = 0; } Encoding::CommandLineArguments::~CommandLineArguments() { - for(size_t i=0; i<this->argv_.size(); i++) - { + for (size_t i = 0; i < this->argv_.size(); i++) { free(argv_[i]); - } + } } -Encoding::CommandLineArguments:: - CommandLineArguments(const CommandLineArguments& other) +Encoding::CommandLineArguments::CommandLineArguments( + const CommandLineArguments& other) { this->argv_.resize(other.argv_.size()); - for(size_t i=0; i<this->argv_.size(); i++) - { + for (size_t i = 0; i < this->argv_.size(); i++) { this->argv_[i] = other.argv_[i] ? strdup(other.argv_[i]) : 0; - } + } } -Encoding::CommandLineArguments& -Encoding::CommandLineArguments::operator=(const CommandLineArguments& other) +Encoding::CommandLineArguments& Encoding::CommandLineArguments::operator=( + const CommandLineArguments& other) { - if(this != &other) - { + if (this != &other) { size_t i; - for(i=0; i<this->argv_.size(); i++) - { + for (i = 0; i < this->argv_.size(); i++) { free(this->argv_[i]); - } + } this->argv_.resize(other.argv_.size()); - for(i=0; i<this->argv_.size(); i++) - { + for (i = 0; i < this->argv_.size(); i++) { this->argv_[i] = other.argv_[i] ? strdup(other.argv_[i]) : 0; - } } + } return *this; } @@ -155,14 +137,12 @@ std::wstring Encoding::ToWide(const char* cstr) { std::wstring wstr; size_t length = kwsysEncoding_mbstowcs(0, cstr, 0) + 1; - if(length > 0) - { + if (length > 0) { std::vector<wchar_t> wchars(length); - if(kwsysEncoding_mbstowcs(&wchars[0], cstr, length) > 0) - { + if (kwsysEncoding_mbstowcs(&wchars[0], cstr, length) > 0) { wstr = &wchars[0]; - } } + } return wstr; } @@ -170,14 +150,12 @@ std::string Encoding::ToNarrow(const wchar_t* wcstr) { std::string str; size_t length = kwsysEncoding_wcstombs(0, wcstr, 0) + 1; - if(length > 0) - { + if (length > 0) { std::vector<char> chars(length); - if(kwsysEncoding_wcstombs(&chars[0], wcstr, length) > 0) - { + if (kwsysEncoding_wcstombs(&chars[0], wcstr, length) > 0) { str = &chars[0]; - } } + } return str; } #endif // KWSYS_STL_HAS_WSTRING |