Files
llvm-6502/lib/System/Linux/Path.cpp
T
Reid Spencer 8e66595512 Revise the design of the Path concept per peer review. Too many changes to
note individually but these essence of it is to not derive from
std::string, clarify the interface, and provide better documentation.
There is now also (untested) implementations for AIX, Darwin, and SunOS.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16078 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 05:24:01 +00:00

39 lines
1.3 KiB
C++

//===- llvm/System/Linux/Path.cpp - Linux Path Implementation ---*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file was developed by Reid Spencer and is distributed under the
// University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file provides the Linux specific implementation of the Path class.
//
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
//=== WARNING: Implementation here must contain only Linux specific code
//=== and must not be generic UNIX code (see ../Unix/Path.cpp)
//===----------------------------------------------------------------------===//
// Include the generic Unix implementation
#include "../Unix/Path.cpp"
namespace llvm {
using namespace sys;
bool
Path::is_valid() const {
if (path.empty())
return false;
char pathname[MAXPATHLEN];
if (0 == realpath(path.c_str(), pathname))
if (errno != EACCES && errno != EIO && errno != ENOENT && errno != ENOTDIR)
return false;
return true;
}
}
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab