ENH: Add an accessor for the maximum file length
This commit is contained in:
parent
18e14ba2af
commit
b93359f41d
|
@ -89,6 +89,18 @@ public:
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
#define _unlink unlink
|
#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)
|
inline int Mkdir(const char* dir)
|
||||||
{
|
{
|
||||||
return _mkdir(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)
|
inline void Realpath(const char *path, kwsys_stl::string & resolved_path)
|
||||||
{
|
{
|
||||||
# ifdef MAXPATHLEN
|
char resolved_name[KWSYS_SYSTEMTOOLS_MAXPATH];
|
||||||
char resolved_name[MAXPATHLEN];
|
|
||||||
# else
|
|
||||||
# ifdef PATH_MAX
|
|
||||||
char resolved_name[PATH_MAX];
|
|
||||||
# else
|
|
||||||
char resolved_name[5024];
|
|
||||||
# endif //PATH_MAX
|
|
||||||
# endif //MAXPATHLEN
|
|
||||||
|
|
||||||
realpath(path, resolved_name);
|
realpath(path, resolved_name);
|
||||||
resolved_path = resolved_name;
|
resolved_path = resolved_name;
|
||||||
|
@ -196,6 +200,7 @@ class SystemToolsTranslationMap :
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
double
|
double
|
||||||
SystemTools::GetTime(void)
|
SystemTools::GetTime(void)
|
||||||
{
|
{
|
||||||
|
@ -1848,6 +1853,13 @@ bool SystemTools::RemoveADirectory(const char* source)
|
||||||
return (Rmdir(source) == 0);
|
return (Rmdir(source) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
size_t SystemTools::GetMaximumFilePathLength()
|
||||||
|
{
|
||||||
|
return KWSYS_SYSTEMTOOLS_MAXPATH;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the file the given name. Searches the given path and then
|
* 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
|
* the system search path. Returns the full path to the file if it is
|
||||||
|
|
|
@ -472,6 +472,11 @@ public:
|
||||||
*/
|
*/
|
||||||
static bool RemoveADirectory(const char* source);
|
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
|
* Find a file in the system PATH, with optional extra paths
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue