summaryrefslogtreecommitdiffstats
path: root/newlib
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-07-11 20:14:00 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-07-11 20:14:00 -0700
commitf77ebbd3c5b1c90dc80d6be033b623b8eb86442f (patch)
tree1a331d57a0e0df3defbbfdf6bbe5a453230af989 /newlib
parentd18238a780f8908b30c9d04b1b204db592346d36 (diff)
downloadcygnal-f77ebbd3c5b1c90dc80d6be033b623b8eb86442f.tar.gz
cygnal-f77ebbd3c5b1c90dc80d6be033b623b8eb86442f.tar.bz2
cygnal-f77ebbd3c5b1c90dc80d6be033b623b8eb86442f.zip
Implement drive-relative paths and per-drive working dir.cygnal-release-2.5.1.98cygnal-release-2.4.98
* winsup/cygwin/path.cc (normalize_win32_path): When a drive-relative path is normalized, look up the remembered working directory of that drive in the environment. A drive-relative path is, for example, "C:file.txt". Or just "C:", with no component. If there is no path for the drive in the environment, then the root directory is used, and the "C:" part thus becomes "C:\", causing the path to refer to "C:\file.txt". Otherwise the path is inserted, with a backslash, like "C:\users\bob\file.txt". The Windows convention for storing these per-drive paths in the environment is to use environment variables based on drive letters. For instance the path for the C drive is stored in the environment variable "!C:" (bang, letter, colon). The path includes the C:\ prefix. (cwdstuff::override_win32_cwd): Add the behavior of associating the current working directory with its drive (if it is a current working directory based on a drive). For instance if the overriding cwd is "C:\Users", then the "C:\Users" path is stored into the "!C:" environment variable.
Diffstat (limited to 'newlib')
0 files changed, 0 insertions, 0 deletions