ENH: Add an accessor for the maximum file length

This commit is contained in:
Andy Cedilnik 2005-10-12 12:08:49 -04:00
parent 18e14ba2af
commit b93359f41d
2 changed files with 26 additions and 9 deletions

View File

@ -89,6 +89,18 @@ public:
#include <io.h>
#include <direct.h>
#define _unlink unlink
#endif
/* The maximum length of a file name. */
#if defined(PATH_MAX)
# define KWSYS_SYSTEMTOOLS_MAXPATH PATH_MAX
#elif defined(MAXPATHLEN)
# define KWSYS_SYSTEMTOOLS_MAXPATH MAXPATHLEN
#else
# define KWSYS_SYSTEMTOOLS_MAXPATH 16384
#endif
#if defined(_WIN32) && (defined(_MSC_VER) || defined(__BORLANDC__) || defined(__MINGW32__))
inline int Mkdir(const char* dir)
{
return _mkdir(dir);
@ -141,15 +153,7 @@ inline int Chdir(const char* dir)
}
inline void Realpath(const char *path, kwsys_stl::string & resolved_path)
{
# ifdef MAXPATHLEN
char resolved_name[MAXPATHLEN];
# else
# ifdef PATH_MAX
char resolved_name[PATH_MAX];
# else
char resolved_name[5024];
# endif //PATH_MAX
# endif //MAXPATHLEN
char resolved_name[KWSYS_SYSTEMTOOLS_MAXPATH];
realpath(path, resolved_name);
resolved_path = resolved_name;
@ -196,6 +200,7 @@ class SystemToolsTranslationMap :
{
};
double
SystemTools::GetTime(void)
{
@ -1848,6 +1853,13 @@ bool SystemTools::RemoveADirectory(const char* source)
return (Rmdir(source) == 0);
}
/**
*/
size_t SystemTools::GetMaximumFilePathLength()
{
return KWSYS_SYSTEMTOOLS_MAXPATH;
}
/**
* Find the file the given name. Searches the given path and then
* the system search path. Returns the full path to the file if it is

View File

@ -472,6 +472,11 @@ public:
*/
static bool RemoveADirectory(const char* source);
/**
* Get the maximum full file path length
*/
static size_t GetMaximumFilePathLength();
/**
* Find a file in the system PATH, with optional extra paths
*/