system_complete
refers to undefined variable 'base'
Section: 99 [fs.op.system_complete] Status: C++17 Submitter: Jonathan Wakely Opened: 2014-07-20 Last modified: 2017-07-30
Priority: 0
View all issues with C++17 status.
Discussion:
The example says "...or p
and base
have the same root_name()
.", but
base
is not defined. I believe it refers to the value returned by current_path()
.
[Apr 2016 Issue updated to address the C++ Working Paper. Previously addressed File System TS]
Proposed resolution:
Change 99 [fs.op.system_complete] as indicated:
For Windows based operating systems,
system_complete(p)
has the same semantics asabsolute(p, current_path())
ifp.is_absolute() || !p.has_root_name()
orp
andhave the same
basecurrent_path()root_name()
. Otherwise it acts likeabsolute(p, cwd)
is the current directory for thep.root_name()
drive. This will be the current directory for that drive the last time it was set, and thus may be residue left over from a prior program run by the command processor. Although these semantics are useful, they may be surprising.