Loading...
--- dyld/dyld-1165.3/common/FileManager.cpp
+++ dyld/dyld-1042.1/common/FileManager.cpp
@@ -21,10 +21,6 @@
*
* @APPLE_LICENSE_HEADER_END@
*/
-
-#include <TargetConditionals.h>
-
-#if !TARGET_OS_EXCLAVEKIT
#include <fcntl.h>
#include <unistd.h>
@@ -55,14 +51,12 @@
}
-FileRecord FileManager::fileRecordForPath(Allocator& allocator, const char* filePath) {
- const char* str = nullptr;
- if ( filePath )
- str = allocator.strdup(filePath);
+FileRecord FileManager::fileRecordForPath(const char* filePath) {
+ auto str = _allocator->strdup(filePath);
return FileRecord(*this, UniquePtr<const char>(str));
}
-FileRecord FileManager::fileRecordForStat(const struct stat& sb) {
+FileRecord FileManager::fileRecordForStat(struct stat& sb) {
return FileRecord(*this, sb);
}
@@ -114,13 +108,13 @@
// groups that are not relevent here.
uint64_t f_fsid = (*((uint64_t*)&fsInfos[i].f_fsid)) & 0x00ffffffff;
if (_fsUUIDMap->find(f_fsid) != _fsUUIDMap->end()) { continue; }
-
- // getattrlist() can upcall when used against a non-root volume which results in a deadlock.
+#if TARGET_OS_OSX
+ // On macOS getattrlist() can upcall when used against a non-root volume which results in a deadlock.
if ((fsInfos[i].f_flags & MNT_ROOTFS) == 0) {
_fsUUIDMap->insert({f_fsid, UUID()});
continue;
}
-
+#endif
int err;
attrlist attrList;
VolAttrBuf attrBuf;
@@ -190,13 +184,13 @@
UniquePtr<char> FileManager::getPath(uint64_t fsid, uint64_t OID) {
if ((fsid == 0) || (OID == 0)) { return nullptr; }
- char path[PATH_MAX];
- ssize_t result = this->fsgetpath(&path[0], PATH_MAX, fsid, OID);
+ char path[MAXPATHLEN];
+ ssize_t result = this->fsgetpath(&path[0], MAXPATHLEN, fsid, OID);
#if !__LP64__
//FIXME: Workaround for missing stat high bit on 32 bit platforms
if (result == -1) {
OID = 0x0fffffff00000000ULL | OID;
- result = this->fsgetpath(&path[0], PATH_MAX, fsid, OID);
+ result = this->fsgetpath(&path[0], MAXPATHLEN, fsid, OID);
}
#endif
if (result == -1) {
@@ -249,7 +243,7 @@
}
}
-FileRecord::FileRecord(FileManager& fileManager, const struct stat& sb)
+FileRecord::FileRecord(FileManager& fileManager, struct stat& sb)
: _fileManager(&fileManager), _objectID(sb.st_ino), _device(sb.st_dev), _volume(_fileManager->uuidForFileSystem(_device)), _mtime(sb.st_mtime), _statResult(0) {}
FileRecord::FileRecord(const FileRecord& other)
@@ -383,5 +377,3 @@
}
}; /* namedpace dyld4 */
-
-#endif // !TARGET_OS_EXCLAVEKIT