summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/EncodingCXX.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-11-09 14:23:18 (GMT)
committerBrad King <brad.king@kitware.com>2016-11-09 14:23:18 (GMT)
commit95a97a40e48a0db2b206c4560d6962be3666812c (patch)
treee7f6f0e6ffca54ee18f8c276735e8a60e45f8833 /Source/kwsys/EncodingCXX.cxx
parent666bb0e3fa0d212c03f785bd9f6bc05d29925e1f (diff)
parent773b36e5d4af3ac040625e0ea16bcfd30fcdeb6d (diff)
downloadCMake-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.cxx110
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