Commit Graph

129 Commits

Author SHA1 Message Date
Brad King 05e3abafa5 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-08-05 (185dd56e)
2020-08-05 16:29:07 -04:00
Brad King 9c161cc2d0 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-05-27 (a3263389)
2020-05-27 08:33:39 -04:00
Brad King 833ae0a63b Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-05-13 (d4da6980)
2020-05-13 07:08:22 -04:00
Brad King ff2e597ba2 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-04-07 (caff9c3b)
2020-04-07 10:31:10 -04:00
Brad King dd8365b3f1 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-04-06 (af1f389c)
2020-04-06 09:24:42 -04:00
Brad King 71764b88d6 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-02-25 (b14ce28a)
2020-02-25 09:41:26 -05:00
Brad King 56879273dc Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2019-09-18 (c6bc38c1)
2019-09-18 09:26:40 -04:00
Brad King fb15c27562 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-04-17 (c42b92f0)
2019-04-17 09:50:14 -04:00
Brad King d79fa9dd55 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-03-21 (fd41ac36)
2019-03-21 12:38:42 -04:00
Brad King ded4bc136e Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-02-12 (44676809)
2019-02-12 08:35:12 -05:00
Brad King d67ce0a61e Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-01-24 (b9dd1636)
2019-01-24 09:52:25 -05:00
Brad King f2d97c1cdf Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-06-22 (49068d94)
2018-06-22 11:31:36 -04:00
Brad King 81870f1159 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-06-01 (8ef62b28)
2018-06-01 12:54:13 -04:00
Brad King b730097788 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-05-18 (5357cfc4)
2018-05-18 09:52:13 -04:00
Brad King 2c5b4359f8 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-03-07 (2ad561e7)
2018-03-07 06:48:34 -05:00
Brad King f8e8946815 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-01-23 (0579db1c)
2018-01-24 14:11:07 -05:00
Brad King 517cfe0b8c Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-11-07 (5249a82d)
2017-11-07 08:16:14 -05:00
Brad King 7576e9f8a3 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-11-01 (6ffca34c)
2017-11-01 08:38:26 -04:00
Brad King 90f1b9ad4e Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-09-30 (f108739d)
2017-09-30 10:07:56 -04:00
Brad King f02eced51d Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-09-14 (d85b17e7)
2017-09-14 08:44:26 -04:00
Brad King 3d1c3e0dcf Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-06-09 (a700e2ab)
2017-06-09 11:03:34 -04:00
Brad King 5e9bd8a2ea Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-05-31 (bd0bbad7)
2017-05-31 09:11:14 -04:00
Brad King 697a5d64d8 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-04-19 (9f6ffaff)
2017-04-19 08:02:06 -04:00
Brad King ada8e0cac4 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-04-12 (23a4c211)
2017-04-12 09:10:22 -04:00
Brad King c2645e1979 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-02-06 (ef673998)
2017-02-06 13:01:40 -05:00
Brad King 95a97a40e4 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-11-09 (18c65411)
2016-11-09 09:23:18 -05:00
Brad King 04d94fbe92 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-09-14 (c4049689)

Issue: #16295
2016-09-14 09:49:37 -04:00
Brad King 8abca14034 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-08-03 (6d23dd7e)
2016-08-04 10:11:07 -04:00
Brad King 35995fa6b5 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-08-01 (560bcdbb)
2016-08-02 09:21:52 -04:00
Brad King 03407040d4 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-07-15 (f396bf43)
2016-07-18 09:28:42 -04:00
Brad King d0c3bf65d5 Merge branch 'upstream-kwsys' into update-kwsys 2015-10-06 10:32:55 -04:00
Brad King c5cc3441b3 Merge branch 'upstream-kwsys' into update-kwsys 2015-09-02 10:23:17 -04:00
Brad King 49d293a795 Merge branch 'upstream-kwsys' into update-kwsys 2015-08-31 09:55:01 -04:00
Brad King 540f02531b Merge branch 'upstream-kwsys' into update-kwsys 2015-07-15 09:07:04 -04:00
Brad King 266568654c Merge branch 'upstream-kwsys' into update-kwsys 2015-02-26 08:54:42 -05:00
Brad King 5868b4e2fb Merge branch 'upstream-kwsys' into update-kwsys 2014-10-31 13:11:58 -04:00
Brad King 51c82c3a66 Merge branch 'upstream-kwsys' into update-kwsys 2014-08-11 09:30:22 -04:00
Brad King 60c783676c Merge branch 'upstream-kwsys' into update-kwsys 2014-08-04 10:16:34 -04:00
Brad King 5f525da0e3 Merge branch 'upstream-kwsys' into update-kwsys 2014-07-07 09:04:27 -04:00
Brad King 7fa16df4d7 Merge branch 'upstream-kwsys' into update-kwsys 2014-05-13 14:55:35 -04:00
Brad King f668112039 Merge branch 'upstream-kwsys' into update-kwsys 2013-11-25 11:19:42 -05:00
Brad King 09b147b3a7 Merge branch 'upstream-kwsys' into update-kwsys 2013-08-07 08:18:32 -04:00
Brad King b7593bf3f5 Merge branch 'upstream-kwsys' into update-kwsys 2013-05-07 08:38:10 -04:00
Brad King 6f6afbd69f Merge branch 'upstream-kwsys' into update-kwsys 2013-01-08 08:42:58 -05:00
Brad King e48796b26b KWSys: Fix SystemTools environment memory handling (#13156)
The SystemTools::PutEnv function tries to provide the "putenv" API
without leaking memory.  However, the kwsysDeletingCharVector singleton
frees memory that may still be referenced by the environment table,
having been placed there by putenv.  If any static destruction or
processing by an external tool happens after the singleton is destroyed
and accesses the environment it will read invalid memory.

Replace use of putenv with setenv/unsetenv when available.  The latter
manage internal copies of the values passed instead of referencing the
original memory.  When setenv/unsetenv are not available use putenv with
a singleton that removes its values from the environment before freeing
their memory.  This requires an "unputenv" implementation.  On at least
some platforms it must be written in terms of "putenv" because other
APIs are not available and direct modification of the "environ" global
is not safe (e.g. on Windows there is interaction with "wenviron").
Fortunately either putenv("A=") or putenv("A") will remove "A" from the
environment on these platforms.  On other platforms fall back to direct
manipulation of "environ".

Also add UnPutEnv to the API and add a test for the behavior of both.
2012-04-27 08:13:52 -04:00
Brad King 89742d73cc KWSys: Fix Doxygen warnings
Author: Nicolas Despres <nicolas.despres@gmail.com>
2011-10-24 10:05:10 -04:00
Brad King 74e1156bc2 KWSys: Simplify SystemTools::GetTime implementation (#12261)
We already use GetSystemTimeAsFileTime() and gettimeofday()
unconditionally on supported Windows and non-Windows platforms,
respectively.  Remove outdated portability complexity.
2011-08-03 14:50:04 -04:00
Brad King 3bf1869c93 KWSys: Improve SplitPath method documentation
Document explicitly that the first component always exists.  Fix the
documentation of SplitPathRootComponent to note that home directory
roots (~/ and ~u/) always have a trailing slash.
2010-08-27 10:20:02 -04:00
Brad King ac17dc4a43 KWSys: Remove "copyPermissions" parameters
The CopyFileIfDifferent, CopyFileAlways, CopyAFile and CopyADirectory
methods should always copy permissions.  The special cases in which a
caller would pass copyPermissions=false should be handled at the call
site.  The parameter needlessly complicates the interface and semantics
of these methods.
2010-06-04 16:02:00 -04:00
Brad King de955e4b6d Convert KWSys to OSI-approved BSD License
This converts the KWSys license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the KWSys copyright to
cover the full development time range.
2009-09-28 11:37:35 -04:00