Merge branch 'file-write-umask'

This commit is contained in:
Brad King 2010-06-07 14:30:33 -04:00
commit efffb7b979
2 changed files with 18 additions and 24 deletions

View File

@ -183,24 +183,18 @@ bool cmFileCommand::HandleWriteCommand(std::vector<std::string> const& args,
std::string dir = cmSystemTools::GetFilenamePath(fileName);
cmSystemTools::MakeDirectory(dir.c_str());
mode_t mode =
#if defined( _MSC_VER ) || defined( __MINGW32__ )
S_IREAD | S_IWRITE
#elif defined( __BORLANDC__ )
S_IRUSR | S_IWUSR
#else
0666
#endif
;
mode_t mode = 0;
// Set permissions to writable
if ( cmSystemTools::GetPermissions(fileName.c_str(), mode) )
{
cmSystemTools::SetPermissions(fileName.c_str(),
#if defined( _MSC_VER ) || defined( __MINGW32__ )
S_IREAD | S_IWRITE
mode | S_IWRITE
#elif defined( __BORLANDC__ )
mode | S_IWUSR
#else
0666
mode | S_IWUSR | S_IWGRP
#endif
);
}
@ -217,7 +211,10 @@ bool cmFileCommand::HandleWriteCommand(std::vector<std::string> const& args,
}
file << message;
file.close();
cmSystemTools::SetPermissions(fileName.c_str(), mode);
if(mode)
{
cmSystemTools::SetPermissions(fileName.c_str(), mode);
}
return true;
}

View File

@ -54,24 +54,18 @@ bool cmWriteFileCommand
std::string dir = cmSystemTools::GetFilenamePath(fileName);
cmSystemTools::MakeDirectory(dir.c_str());
mode_t mode =
#if defined( _MSC_VER ) || defined( __MINGW32__ )
S_IREAD | S_IWRITE
#elif defined( __BORLANDC__ )
S_IRUSR | S_IWUSR
#else
0666
#endif
;
mode_t mode = 0;
// Set permissions to writable
if ( cmSystemTools::GetPermissions(fileName.c_str(), mode) )
{
cmSystemTools::SetPermissions(fileName.c_str(),
#if defined( _MSC_VER ) || defined( __MINGW32__ )
S_IREAD | S_IWRITE
mode | S_IWRITE
#elif defined( __BORLANDC__ )
mode | S_IWUSR
#else
0666
mode | S_IWUSR | S_IWGRP
#endif
);
}
@ -89,7 +83,10 @@ bool cmWriteFileCommand
}
file << message << std::endl;
file.close();
cmSystemTools::SetPermissions(fileName.c_str(), mode);
if(mode)
{
cmSystemTools::SetPermissions(fileName.c_str(), mode);
}
return true;
}