You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.3 KiB
38 lines
1.3 KiB
7 months ago
|
//===- FileSystem.cpp -----------------------------------------------------===//
|
||
|
//
|
||
|
// The MCLinker Project
|
||
|
//
|
||
|
// This file is distributed under the University of Illinois Open Source
|
||
|
// License. See LICENSE.TXT for details.
|
||
|
//
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
#include "mcld/Config/Config.h"
|
||
|
#include "mcld/Support/FileSystem.h"
|
||
|
#include "mcld/Support/Path.h"
|
||
|
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
// non-member functions
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
bool mcld::sys::fs::exists(const Path& pPath) {
|
||
|
mcld::sys::fs::FileStatus file_status;
|
||
|
mcld::sys::fs::detail::status(pPath, file_status);
|
||
|
return (file_status.type() != mcld::sys::fs::StatusError) &&
|
||
|
(file_status.type() != mcld::sys::fs::FileNotFound);
|
||
|
}
|
||
|
|
||
|
bool mcld::sys::fs::is_directory(const Path& pPath) {
|
||
|
FileStatus file_status;
|
||
|
detail::status(pPath, file_status);
|
||
|
return (file_status.type() == mcld::sys::fs::DirectoryFile);
|
||
|
}
|
||
|
|
||
|
// Include the truly platform-specific parts.
|
||
|
#if defined(MCLD_ON_UNIX)
|
||
|
#include "Unix/FileSystem.inc"
|
||
|
#include "Unix/PathV3.inc"
|
||
|
#endif
|
||
|
#if defined(MCLD_ON_WIN32)
|
||
|
#include "Windows/FileSystem.inc"
|
||
|
#include "Windows/PathV3.inc"
|
||
|
#endif
|