]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/windows/file.cpp
Add move semantics to Variant
[libs/core.git] / source / io / windows / file.cpp
index f6943adb3cb397cf3be67c8f76f4a9989cd9a2d2..a388ade8fd687ae9db3c4bb5351e4f0e9332b8a4 100644 (file)
@@ -35,14 +35,14 @@ void File::platform_init(const string &fn, CreateMode cm)
 
        SECURITY_ATTRIBUTES sec_attr;
        sec_attr.nLength = sizeof(SECURITY_ATTRIBUTES);
-       sec_attr.lpSecurityDescriptor = 0;
+       sec_attr.lpSecurityDescriptor = nullptr;
        sec_attr.bInheritHandle = !!(mode&M_INHERIT);
 
-       *handle = CreateFile(fn.c_str(), flags, share_flags, 0, create_flags, FILE_ATTRIBUTE_NORMAL, 0);
+       *handle = CreateFile(fn.c_str(), flags, share_flags, &sec_attr, create_flags, FILE_ATTRIBUTE_NORMAL, nullptr);
        if(!handle)
        {
                int err = GetLastError();
-               if(err==ERROR_FILE_NOT_FOUND)
+               if(err==ERROR_FILE_NOT_FOUND || err==ERROR_PATH_NOT_FOUND)
                        throw file_not_found(fn);
                else if(err==ERROR_FILE_EXISTS)
                        throw file_already_exists(fn);