Removed platform-specific functions from Code/IO/itkIOCommon, fixed code to use kwsys/SystemTools
This commit is contained in:
parent
5e9b2b94da
commit
756653cbb8
|
@ -1016,6 +1016,29 @@ bool SystemTools::CopyFileAlways(const char* source, const char* destination)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// return size of file; also returns zero if no file exists
|
||||||
|
unsigned long SystemTools::FileLength(const char* filename)
|
||||||
|
{
|
||||||
|
struct stat fs;
|
||||||
|
if (stat(filename, &fs) != 0)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return fs.st_size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int SystemTools::Strucmp(const char *s1, const char *s2)
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
return _stricmp(s1,s2);
|
||||||
|
#else
|
||||||
|
return strcasecmp(s1,s2);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// return true if the file exists
|
// return true if the file exists
|
||||||
long int SystemTools::ModifiedTime(const char* filename)
|
long int SystemTools::ModifiedTime(const char* filename)
|
||||||
{
|
{
|
||||||
|
@ -1042,6 +1065,45 @@ bool SystemTools::RemoveFile(const char* source)
|
||||||
return unlink(source) != 0 ? false : true;
|
return unlink(source) != 0 ? false : true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *SystemTools
|
||||||
|
::RealPath(const char *path, char *resolved_path)
|
||||||
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
char pathpart[itk::IOCommon::ITK_MAXPATHLEN];
|
||||||
|
strcpy(pathpart,path);
|
||||||
|
char fnamepart[itk::IOCommon::ITK_MAXPATHLEN];
|
||||||
|
char *slash;
|
||||||
|
|
||||||
|
if((slash = strrchr(pathpart,'/')) == NULL)
|
||||||
|
{
|
||||||
|
slash = strrchr(pathpart,'\\');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(slash == NULL) // no path part, so just use current dir.
|
||||||
|
{
|
||||||
|
Getcwd(pathpart,sizeof(pathpart));
|
||||||
|
strcpy(fnamepart,path);
|
||||||
|
}
|
||||||
|
else // change directory to path part, getcwd to find OS resolved path
|
||||||
|
{
|
||||||
|
*slash = '\0';
|
||||||
|
strcpy(fnamepart,slash+1);
|
||||||
|
|
||||||
|
char savedir[itk::IOCommon::ITK_MAXPATHLEN];
|
||||||
|
Getcwd(savedir,sizeof(savedir));
|
||||||
|
Chdir(pathpart);
|
||||||
|
Getcwd(pathpart,sizeof(pathpart));
|
||||||
|
Chdir(savedir);
|
||||||
|
}
|
||||||
|
strcpy(resolved_path,pathpart);
|
||||||
|
strcat(resolved_path,"/");
|
||||||
|
strcat(resolved_path,fnamepart);
|
||||||
|
return resolved_path;
|
||||||
|
#else
|
||||||
|
return realpath(path,resolved_path);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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
|
||||||
|
|
|
@ -100,6 +100,11 @@ public:
|
||||||
*/
|
*/
|
||||||
static kwsys_std::string UpperCase(const kwsys_std::string&);
|
static kwsys_std::string UpperCase(const kwsys_std::string&);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* do a case-independent string comparison
|
||||||
|
*/
|
||||||
|
static int Strucmp(const char *s1, const char *s2);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Replace Windows file system slashes with Unix-style slashes.
|
* Replace Windows file system slashes with Unix-style slashes.
|
||||||
*/
|
*/
|
||||||
|
@ -123,6 +128,12 @@ public:
|
||||||
/** Return true if a file exists in the current directory. */
|
/** Return true if a file exists in the current directory. */
|
||||||
static bool FileExists(const char* filename);
|
static bool FileExists(const char* filename);
|
||||||
|
|
||||||
|
static unsigned long FileLength(const char *filename);
|
||||||
|
/**
|
||||||
|
* given a (possibly) relative path, return the completely
|
||||||
|
* qualified path to a file system entity
|
||||||
|
*/
|
||||||
|
static char *RealPath(const char *path, char *resolved_path);
|
||||||
/**
|
/**
|
||||||
* Add the paths from the environment variable PATH to the
|
* Add the paths from the environment variable PATH to the
|
||||||
* string vector passed in.
|
* string vector passed in.
|
||||||
|
|
Loading…
Reference in New Issue