KWSys SystemTools: Teach Touch with !create to succeed on missing file

This commit is contained in:
Brad King 2015-04-10 11:07:50 -04:00
parent 732d8a467a
commit 5c08e2559c

View File

@ -1215,15 +1215,22 @@ bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path)
bool SystemTools::Touch(const kwsys_stl::string& filename, bool create) bool SystemTools::Touch(const kwsys_stl::string& filename, bool create)
{ {
if(create && !SystemTools::FileExists(filename)) if (!SystemTools::FileExists(filename))
{ {
FILE* file = Fopen(filename, "a+b"); if(create)
if(file) {
FILE* file = Fopen(filename, "a+b");
if(file)
{
fclose(file);
return true;
}
return false;
}
else
{ {
fclose(file);
return true; return true;
} }
return false;
} }
#if defined(_WIN32) && !defined(__CYGWIN__) #if defined(_WIN32) && !defined(__CYGWIN__)
HANDLE h = CreateFileW( HANDLE h = CreateFileW(