summaryrefslogtreecommitdiff
path: root/zen/long_path_prefix.h
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 17:26:50 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 17:26:50 +0200
commit669df123648aaa6aeccc70206b5417bc48b4e9ae (patch)
tree463c107a8d6405020bb304f7a7253e6b64afeee0 /zen/long_path_prefix.h
parent5.18 (diff)
downloadFreeFileSync-669df123648aaa6aeccc70206b5417bc48b4e9ae.tar.gz
FreeFileSync-669df123648aaa6aeccc70206b5417bc48b4e9ae.tar.bz2
FreeFileSync-669df123648aaa6aeccc70206b5417bc48b4e9ae.zip
5.19
Diffstat (limited to 'zen/long_path_prefix.h')
-rw-r--r--zen/long_path_prefix.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/zen/long_path_prefix.h b/zen/long_path_prefix.h
index db1fbdca..cdff09fa 100644
--- a/zen/long_path_prefix.h
+++ b/zen/long_path_prefix.h
@@ -57,6 +57,11 @@ Zstring applyLongPathPrefixImpl(const Zstring& path)
assert(!path.empty()); //nicely check almost all WinAPI accesses!
assert(!zen::isWhiteSpace(path[0]));
+ //http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#naming_conventions))
+ /*
+ - special names like ".NUL" create all kinds of trouble (e.g. CreateDirectory() reports success, but does nothing)
+ unless prefix is supplied => accept as limitation
+ */
if (path.length() >= maxPath || //maximum allowed path length without prefix is (MAX_PATH - 1)
endsWith(path, L' ') || //by default all Win32 APIs trim trailing spaces and period, unless long path prefix is supplied!
endsWith(path, L'.')) //note: adding long path prefix might screw up relative paths "." and ".."!
bgstack15