|
|
@@ -332,11 +332,21 @@ uint64 File::getFileIdentifier() const |
|
|
|
return juce_stat (fullPath, info) ? (uint64) info.st_ino : 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static bool hasEffectiveRootFilePermissions()
|
|
|
|
{
|
|
|
|
#if JUCE_LINUX
|
|
|
|
return (geteuid() == 0);
|
|
|
|
#else
|
|
|
|
return false;
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
bool File::hasWriteAccess() const
|
|
|
|
{
|
|
|
|
if (exists())
|
|
|
|
return access (fullPath.toUTF8(), W_OK) == 0;
|
|
|
|
return (hasEffectiveRootFilePermissions()
|
|
|
|
|| access (fullPath.toUTF8(), W_OK) == 0);
|
|
|
|
|
|
|
|
if ((! isDirectory()) && fullPath.containsChar (separator))
|
|
|
|
return getParentDirectory().hasWriteAccess();
|
|
|
|