BUG: FileIsDirectory should work when the name contains a trailing slash.

This commit is contained in:
Brad King 2006-08-21 17:34:40 -04:00
parent bed79f6c6b
commit c58777ec47
1 changed files with 11 additions and 0 deletions

View File

@ -2256,6 +2256,17 @@ kwsys_stl::string SystemTools
bool SystemTools::FileIsDirectory(const char* name)
{
// Remove any trailing slash from the name.
char buffer[KWSYS_SYSTEMTOOLS_MAXPATH];
int last = static_cast<int>(strlen(name))-1;
if(last >= 0 && (name[last] == '/' || name[last] == '\\'))
{
memcpy(buffer, name, last);
buffer[last] = 0;
name = buffer;
}
// Now check the file node type.
struct stat fs;
if(stat(name, &fs) == 0)
{