ENH: Added FileIsFullPath test method.

This commit is contained in:
Brad King 2002-09-13 16:38:35 -04:00
parent ee592e9b98
commit 0815091e26
2 changed files with 36 additions and 0 deletions

View File

@ -1900,6 +1900,39 @@ cmSystemTools::GetFilenameWithoutLastExtension(const std::string& filename)
}
}
bool cmSystemTools::FileIsFullPath(const char* in_name)
{
std::string name = in_name;
#if defined(_WIN32)
// On Windows, the name must be at least two characters long.
if(name.length() < 2)
{
return false;
}
if(name[1] == ':')
{
return true;
}
if(name[0] == '\\')
{
return true;
}
#else
// On UNIX, the name must be at least one character long.
if(name.length() < 1)
{
return false;
}
#endif
// On UNIX, the name must begin in a '/'.
// On Windows, if the name begins in a '/', then it is a full
// network path.
if(name[0] == '/')
{
return true;
}
return false;
}
void cmSystemTools::Glob(const char *directory, const char *regexp,
std::vector<std::string>& files)

View File

@ -258,6 +258,9 @@ public:
///! return file name without its last (shortest) extension.
static std::string GetFilenameWithoutLastExtension(const std::string&);
/** Return whether the path represents a full path (not relative). */
static bool FileIsFullPath(const char*);
static long int ModifiedTime(const char* filename);
/**