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