2 Commits (aece13df3cc7a17d5827cc59fc59c13538b52517)

Author SHA1 Message Date
Iain Patterson 2e3a41e1d5 Added more environment functions.
useful_environment() skips the uninteresting variables at the start of
an environment block, returning a pointer to the first useful variable.

expand_environment_string() expands a string with
ExpandEnvironmentStrings() and returns a pointer to the expanded string,
which must be freed after use.

set_environment_block() iterates through all the variables in an
environment block, expands each one with expand_environment_string() and
calls SetEnvironmentVariable() with the expanded value.

clear_environment() removes all variables from the current environment.

duplicate_environment() duplicates an environment block by first calling
clear_environment() then set_environment_block() with the source block.
Thus it ensures that the variables in the block - and only those - are
set in the current environment.
11 years ago
Iain Patterson e3b93d0c37 Moved environment functions to a new file.
Moved format_environment(), unformat_environment() and
test_environment() to env.cpp.
11 years ago