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

View File

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