cmFileSys.h/c : Added 'user' directory prefixed functions for cmFileSysMakeFn() and cmFileSysMakeDir().
This commit is contained in:
parent
b1f5026916
commit
2a6739ab0f
171
cmFileSys.c
171
cmFileSys.c
@ -467,6 +467,11 @@ const cmChar_t* cmFileSysVMakeFn( cmFileSysH_t h, const cmChar_t* dir, const cmC
|
|||||||
return rp;
|
return rp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const cmChar_t* cmFileSysVMakeUserFn( cmFileSysH_t h, const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, va_list vl )
|
||||||
|
{
|
||||||
|
return cmFileSysMakeFn(h,cmFileSysUserDir(h),fn,ext,dirPrefix,NULL);
|
||||||
|
}
|
||||||
|
|
||||||
const cmChar_t* cmFileSysMakeFn( cmFileSysH_t h, const cmChar_t* dir, const cmChar_t* fn, const cmChar_t* ext, ... )
|
const cmChar_t* cmFileSysMakeFn( cmFileSysH_t h, const cmChar_t* dir, const cmChar_t* fn, const cmChar_t* ext, ... )
|
||||||
{
|
{
|
||||||
va_list vl;
|
va_list vl;
|
||||||
@ -476,6 +481,41 @@ const cmChar_t* cmFileSysMakeFn( cmFileSysH_t h, const cmChar_t* dir, const cmCh
|
|||||||
return retPtr;
|
return retPtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const cmChar_t* cmFileSysMakeUserFn( cmFileSysH_t h, const cmChar_t* dir, const cmChar_t* fn, const cmChar_t* ext, ... )
|
||||||
|
{
|
||||||
|
va_list vl;
|
||||||
|
va_start(vl,ext);
|
||||||
|
const cmChar_t* retPtr = cmFileSysVMakeUserFn(h,dir,fn,ext,vl);
|
||||||
|
va_end(vl);
|
||||||
|
return retPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const cmChar_t* cmFileSysVMakeDir( cmFileSysH_t h, const cmChar_t* dir, va_list vl )
|
||||||
|
{ return cmFileSysVMakeFn(h,dir,NULL,NULL,vl); }
|
||||||
|
|
||||||
|
const cmChar_t* cmFileSysMakeDir( cmFileSysH_t h, const cmChar_t* dir, ... )
|
||||||
|
{
|
||||||
|
va_list vl;
|
||||||
|
va_start(vl,dir);
|
||||||
|
const cmChar_t* retPtr = cmFileSysVMakeFn(h,dir,NULL,NULL,vl);
|
||||||
|
va_end(vl);
|
||||||
|
return retPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
const cmChar_t* cmFileSysVMakeUserDir( cmFileSysH_t h, const cmChar_t* dir, va_list vl )
|
||||||
|
{ return cmFileSysVMakeUserFn(h,dir,NULL,NULL,vl); }
|
||||||
|
|
||||||
|
const cmChar_t* cmFileSysMakeUserDir( cmFileSysH_t h, const cmChar_t* dir, ... )
|
||||||
|
{
|
||||||
|
va_list vl;
|
||||||
|
va_start(vl,dir);
|
||||||
|
const cmChar_t* retPtr = cmFileSysVMakeUserFn(h,dir,NULL,NULL,vl);
|
||||||
|
va_end(vl);
|
||||||
|
return retPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void cmFileSysFreeFn( cmFileSysH_t h, const cmChar_t* fn )
|
void cmFileSysFreeFn( cmFileSysH_t h, const cmChar_t* fn )
|
||||||
{
|
{
|
||||||
cmFs_t* p = _cmFileSysHandleToPtr(h);
|
cmFs_t* p = _cmFileSysHandleToPtr(h);
|
||||||
@ -535,6 +575,19 @@ cmFsRC_t cmFileSysMkDir( cmFileSysH_t h, const cmChar_t* dir )
|
|||||||
return kOkFsRC;
|
return kOkFsRC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmFsRC_t cmFileSysMkUserDir( cmFileSysH_t h, const cmChar_t* dir0 )
|
||||||
|
{
|
||||||
|
const cmChar_t* dir = cmFileSysMakeUserFn(h,dir0,NULL,NULL,NULL);
|
||||||
|
|
||||||
|
if( dir == NULL )
|
||||||
|
return _cmFileSysError(_cmFileSysHandleToPtr(h),kFormFnFailFsRC,0, "The specified directory string /<user>/%s could not be formed.",cmStringNullGuard(dir0));
|
||||||
|
|
||||||
|
cmFsRC_t rc = cmFileSysMkDir(h,dir);
|
||||||
|
cmFileSysFreeFn(h,dir);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
cmFsRC_t cmFileSysMkDirAll( cmFileSysH_t h, const cmChar_t* dir )
|
cmFsRC_t cmFileSysMkDirAll( cmFileSysH_t h, const cmChar_t* dir )
|
||||||
{
|
{
|
||||||
cmFsRC_t rc = kOkFsRC;
|
cmFsRC_t rc = kOkFsRC;
|
||||||
@ -561,6 +614,18 @@ cmFsRC_t cmFileSysMkDirAll( cmFileSysH_t h, const cmChar_t* dir )
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmFsRC_t cmFileSysMkUserDirAll( cmFileSysH_t h, const cmChar_t* dir0 )
|
||||||
|
{
|
||||||
|
const cmChar_t* dir = cmFileSysMakeUserFn(h,dir0,NULL,NULL,NULL);
|
||||||
|
|
||||||
|
if( dir == NULL )
|
||||||
|
return _cmFileSysError(_cmFileSysHandleToPtr(h),kFormFnFailFsRC,0,"The specified directory string /<user>/%s could not be formed.",cmStringNullGuard(dir0));
|
||||||
|
|
||||||
|
cmFsRC_t rc = cmFileSysMkDirAll(h,dir);
|
||||||
|
cmFileSysFreeFn(h,dir);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
cmFileSysPathPart_t* cmFileSysPathParts( cmFileSysH_t h, const cmChar_t* pathStr )
|
cmFileSysPathPart_t* cmFileSysPathParts( cmFileSysH_t h, const cmChar_t* pathStr )
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -1171,6 +1236,42 @@ const cmChar_t* cmFsMakeFn( const cmChar_t* dirPrefix, const cmChar_t* fn,
|
|||||||
return retPtr;
|
return retPtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const cmChar_t* cmFsVMakeUserFn( const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, va_list vl )
|
||||||
|
{ return cmFileSysVMakeUserFn(_cmFsH,dirPrefix,fn,ext,vl); }
|
||||||
|
|
||||||
|
const cmChar_t* cmFsMakeUserFn( const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, ... )
|
||||||
|
{
|
||||||
|
va_list vl;
|
||||||
|
va_start(vl,ext);
|
||||||
|
const cmChar_t* retPtr = cmFsVMakeUserFn(dirPrefix,fn,ext,vl);
|
||||||
|
va_end(vl);
|
||||||
|
return retPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
const cmChar_t* cmFsVMakeDir( const cmChar_t* dir, va_list vl )
|
||||||
|
{ return cmFileSysVMakeDir(_cmFsH,dir,vl); }
|
||||||
|
|
||||||
|
const cmChar_t* cmFsMakeDir( const cmChar_t* dir, ... )
|
||||||
|
{
|
||||||
|
va_list vl;
|
||||||
|
va_start(vl,dir);
|
||||||
|
const cmChar_t* retPtr = cmFsVMakeDir(dir,vl);
|
||||||
|
va_end(vl);
|
||||||
|
return retPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
const cmChar_t* cmFsVMakeUserDir( const cmChar_t* dir, va_list vl )
|
||||||
|
{ return cmFileSysVMakeUserDir(_cmFsH,dir,vl); }
|
||||||
|
|
||||||
|
const cmChar_t* cmFsMakeUserDir( const cmChar_t* dir, ... )
|
||||||
|
{
|
||||||
|
va_list vl;
|
||||||
|
va_start(vl,dir);
|
||||||
|
const cmChar_t* retPtr = cmFsVMakeUserDir(dir,vl);
|
||||||
|
va_end(vl);
|
||||||
|
return retPtr;
|
||||||
|
}
|
||||||
|
|
||||||
void cmFsFreeFn( const cmChar_t* fn )
|
void cmFsFreeFn( const cmChar_t* fn )
|
||||||
{ cmFileSysFreeFn(_cmFsH, fn); }
|
{ cmFileSysFreeFn(_cmFsH, fn); }
|
||||||
|
|
||||||
@ -1183,6 +1284,12 @@ cmFsRC_t cmFsMkDir( const cmChar_t* dir )
|
|||||||
cmFsRC_t cmFsMkDirAll( const cmChar_t* dir )
|
cmFsRC_t cmFsMkDirAll( const cmChar_t* dir )
|
||||||
{ return cmFileSysMkDirAll(_cmFsH,dir); }
|
{ return cmFileSysMkDirAll(_cmFsH,dir); }
|
||||||
|
|
||||||
|
cmFsRC_t cmFsMkUserDir( const cmChar_t* dir )
|
||||||
|
{ return cmFileSysMkUserDir(_cmFsH,dir); }
|
||||||
|
|
||||||
|
cmFsRC_t cmFsMkUserDirAll( const cmChar_t* dir )
|
||||||
|
{ return cmFileSysMkUserDirAll(_cmFsH,dir); }
|
||||||
|
|
||||||
cmFileSysPathPart_t* cmFsPathParts( const cmChar_t* pathNameStr )
|
cmFileSysPathPart_t* cmFsPathParts( const cmChar_t* pathNameStr )
|
||||||
{ return cmFileSysPathParts(_cmFsH,pathNameStr); }
|
{ return cmFileSysPathParts(_cmFsH,pathNameStr); }
|
||||||
|
|
||||||
@ -1222,21 +1329,14 @@ cmFsRC_t cmFsErrorCode()
|
|||||||
//(
|
//(
|
||||||
//
|
//
|
||||||
// cmFileSysTest() function gives usage and testing examples
|
// cmFileSysTest() function gives usage and testing examples
|
||||||
// for some of the cmFileSys functions.
|
// for some of the cmFileSys functions. Note that the
|
||||||
// Note that the HOME_DIR macro should be set to your true
|
// 'dir0' directory should exist and contain files and
|
||||||
// $HOME directroy and SRC_DIR should be set to any existing
|
// a shallow sub-tree in order to exercise the directory
|
||||||
// and accessible directory.
|
// tree walking routine.
|
||||||
//
|
//
|
||||||
//)
|
//)
|
||||||
//(
|
//(
|
||||||
|
|
||||||
#if defined(OS_OSX)
|
|
||||||
#define HOME_DIR "/Users/kevin"
|
|
||||||
#else
|
|
||||||
#define HOME_DIR "/home/kevin"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SRC_DIR HOME_DIR"/src"
|
|
||||||
|
|
||||||
void _cmFileSysTestFnParser(
|
void _cmFileSysTestFnParser(
|
||||||
cmFileSysH_t h,
|
cmFileSysH_t h,
|
||||||
@ -1250,10 +1350,10 @@ cmFsRC_t cmFileSysTest( cmCtx_t* ctx )
|
|||||||
|
|
||||||
cmFsRC_t rc = kOkFsRC;
|
cmFsRC_t rc = kOkFsRC;
|
||||||
cmFileSysH_t h = cmFileSysNullHandle;
|
cmFileSysH_t h = cmFileSysNullHandle;
|
||||||
const char dir0[] = SRC_DIR;
|
const char* dir0 = cmFsMakeUserDir("src/kc",NULL);
|
||||||
const char dir1[] = HOME_DIR"/blah";
|
const char* dir1 = cmFsMakeUserDir("blah",NULL,NULL,NULL);
|
||||||
const char file0[] = HOME_DIR"/.emacs";
|
const char* file0 = cmFsMakeUserFn(NULL,".emacs",NULL,NULL);
|
||||||
const char file1[] = HOME_DIR"/blah.txt";
|
const char* file1 = cmFsMakeUserFn(NULL,"blah","txt",NULL);
|
||||||
const char not[] = " not ";
|
const char not[] = " not ";
|
||||||
const char e[] = " ";
|
const char e[] = " ";
|
||||||
bool fl = false;
|
bool fl = false;
|
||||||
@ -1288,15 +1388,15 @@ cmFsRC_t cmFileSysTest( cmCtx_t* ctx )
|
|||||||
//----------------------------------------------------------
|
//----------------------------------------------------------
|
||||||
// Test the file name creation functions
|
// Test the file name creation functions
|
||||||
//
|
//
|
||||||
if((fn = cmFileSysMakeFn(h,HOME_DIR,"cmFileSys",
|
if((fn = cmFileSysMakeUserFn(h,"src","cmFileSys",
|
||||||
"c","src","cm","src",NULL)) != NULL)
|
"c","cm","src",NULL)) != NULL)
|
||||||
{
|
{
|
||||||
printf("File:'%s'\n",fn);
|
printf("File:'%s'\n",fn);
|
||||||
}
|
}
|
||||||
cmFileSysFreeFn(h,fn);
|
cmFileSysFreeFn(h,fn);
|
||||||
|
|
||||||
if((fn = cmFileSysMakeFn(h,HOME_DIR,"cmFileSys",
|
if((fn = cmFileSysMakeUserFn(h,"src","cmFileSys",
|
||||||
".c","/src/","/cm/","/src/",NULL)) != NULL )
|
".c","/cm/","/src/",NULL)) != NULL )
|
||||||
{
|
{
|
||||||
printf("File:'%s'\n",fn);
|
printf("File:'%s'\n",fn);
|
||||||
}
|
}
|
||||||
@ -1305,23 +1405,26 @@ cmFsRC_t cmFileSysTest( cmCtx_t* ctx )
|
|||||||
//----------------------------------------------------------
|
//----------------------------------------------------------
|
||||||
// Test the file name parsing functions
|
// Test the file name parsing functions
|
||||||
//
|
//
|
||||||
_cmFileSysTestFnParser(h,&ctx->rpt,
|
|
||||||
HOME_DIR"/src/cm/src/cmFileSys.c");
|
|
||||||
|
|
||||||
_cmFileSysTestFnParser(h,&ctx->rpt,
|
const char* fn0 = cmFileSysMakeUserFn(h,"src/cm/src","cmFileSys","c",NULL);
|
||||||
HOME_DIR"/src/cm/src/cmFileSys");
|
const char* fn1 = cmFileSysMakeUserFn(h,"src/cm/src","cmFileSys",NULL,NULL);
|
||||||
|
const char* fn2 = cmFileSysMakeUserDir(h,"src/cm/src/cmFileSys/",NULL);
|
||||||
|
|
||||||
_cmFileSysTestFnParser(h,&ctx->rpt,
|
_cmFileSysTestFnParser(h,&ctx->rpt,fn0);
|
||||||
HOME_DIR"/src/cm/src/cmFileSys/");
|
_cmFileSysTestFnParser(h,&ctx->rpt,fn1);
|
||||||
|
_cmFileSysTestFnParser(h,&ctx->rpt,fn2);
|
||||||
|
|
||||||
_cmFileSysTestFnParser(h,&ctx->rpt,"cmFileSys.c");
|
_cmFileSysTestFnParser(h,&ctx->rpt,"cmFileSys.c");
|
||||||
_cmFileSysTestFnParser(h,&ctx->rpt,"/");
|
_cmFileSysTestFnParser(h,&ctx->rpt,"/");
|
||||||
_cmFileSysTestFnParser(h,&ctx->rpt," ");
|
_cmFileSysTestFnParser(h,&ctx->rpt," ");
|
||||||
|
|
||||||
|
cmFileSysFreeFn(h,fn0);
|
||||||
|
cmFileSysFreeFn(h,fn1);
|
||||||
|
cmFileSysFreeFn(h,fn1);
|
||||||
|
|
||||||
//----------------------------------------------------------
|
//----------------------------------------------------------
|
||||||
// Test the directory tree walking routines.
|
// Test the directory tree walking routines.
|
||||||
//
|
//
|
||||||
cmRptPrintf(&ctx->rpt,"Dir Entry Test:\n");
|
|
||||||
cmFileSysDirEntry_t* dep;
|
cmFileSysDirEntry_t* dep;
|
||||||
unsigned dirEntCnt;
|
unsigned dirEntCnt;
|
||||||
unsigned filterFlags = kDirFsFl
|
unsigned filterFlags = kDirFsFl
|
||||||
@ -1329,8 +1432,11 @@ cmFsRC_t cmFileSysTest( cmCtx_t* ctx )
|
|||||||
| kRecurseFsFl
|
| kRecurseFsFl
|
||||||
| kFullPathFsFl;
|
| kFullPathFsFl;
|
||||||
|
|
||||||
if((dep = cmFileSysDirEntries(h,SRC_DIR"/doc",filterFlags,
|
const char* src_dir = cmFileSysMakeFn(h,dir0,"doc",NULL,NULL);
|
||||||
&dirEntCnt)) != NULL)
|
|
||||||
|
cmRptPrintf(&ctx->rpt,"Dir Entry Test: %s\n",src_dir);
|
||||||
|
|
||||||
|
if((dep = cmFileSysDirEntries(h,src_dir,filterFlags,&dirEntCnt)) != NULL)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
for(i=0; i<dirEntCnt; ++i)
|
for(i=0; i<dirEntCnt; ++i)
|
||||||
@ -1339,6 +1445,8 @@ cmFsRC_t cmFileSysTest( cmCtx_t* ctx )
|
|||||||
cmFileSysDirFreeEntries(h,dep);
|
cmFileSysDirFreeEntries(h,dep);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmFileSysFreeFn(h,src_dir);
|
||||||
|
|
||||||
//----------------------------------------------------------
|
//----------------------------------------------------------
|
||||||
// Test the directory parsing/building routines.
|
// Test the directory parsing/building routines.
|
||||||
//
|
//
|
||||||
@ -1372,7 +1480,7 @@ cmFsRC_t cmFileSysTest( cmCtx_t* ctx )
|
|||||||
//----------------------------------------------------------
|
//----------------------------------------------------------
|
||||||
// Test the extended mkdir routine.
|
// Test the extended mkdir routine.
|
||||||
//
|
//
|
||||||
if( cmFileSysMkDirAll(h, HOME_DIR"/temp/doc/doc" )!=kOkFsRC )
|
if( cmFileSysMkUserDirAll(h, "/temp/doc/doc" )!=kOkFsRC )
|
||||||
{
|
{
|
||||||
cmRptPrint(&ctx->rpt,"cmFileSysMkDirAll() failed.\n");
|
cmRptPrint(&ctx->rpt,"cmFileSysMkDirAll() failed.\n");
|
||||||
}
|
}
|
||||||
@ -1383,6 +1491,11 @@ cmFsRC_t cmFileSysTest( cmCtx_t* ctx )
|
|||||||
|
|
||||||
cmRptPrintf(&ctx->rpt,"File Test done\n");
|
cmRptPrintf(&ctx->rpt,"File Test done\n");
|
||||||
|
|
||||||
|
cmFsFreeFn(dir0);
|
||||||
|
cmFsFreeFn(dir1);
|
||||||
|
cmFsFreeFn(file0);
|
||||||
|
cmFsFreeFn(file1);
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
43
cmFileSys.h
43
cmFileSys.h
@ -35,7 +35,8 @@ extern "C" {
|
|||||||
kLinuxFailFsRC,
|
kLinuxFailFsRC,
|
||||||
kInvalidDirFsRC,
|
kInvalidDirFsRC,
|
||||||
kGenFileFailFsRC,
|
kGenFileFailFsRC,
|
||||||
kAccessFailFsRC
|
kAccessFailFsRC,
|
||||||
|
kFormFnFailFsRC
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -87,9 +88,23 @@ extern "C" {
|
|||||||
// or the cmFileSys object is finalized.
|
// or the cmFileSys object is finalized.
|
||||||
const cmChar_t* cmFileSysMakeFn( cmFileSysH_t h, const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, ... );
|
const cmChar_t* cmFileSysMakeFn( cmFileSysH_t h, const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, ... );
|
||||||
|
|
||||||
// Same as cmFileSysMakeFn with but with a va_list argument to accept the var. args. parameters.
|
// Same as cmFileSysMakeFn but prefixes the entire file path with the current users
|
||||||
|
// home directory. (i.e. /home/me/<dirPrefix>/<var-args-dir-0>/<var-args-dir1>/<fn>.<ext>)
|
||||||
|
const cmChar_t* cmFileSysMakeUserFn( cmFileSysH_t h, const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, ... );
|
||||||
|
|
||||||
|
// Same as cmFileSysMakeFn but with a va_list argument to accept the var. args. parameters.
|
||||||
const cmChar_t* cmFileSysVMakeFn( cmFileSysH_t h, const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, va_list vl );
|
const cmChar_t* cmFileSysVMakeFn( cmFileSysH_t h, const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, va_list vl );
|
||||||
|
|
||||||
|
// Same as cmFileSysMakeUserFn but with a va_list argument to accept the var. args parameters.
|
||||||
|
const cmChar_t* cmFileSysVMakeUserFn( cmFileSysH_t h, const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, va_list vl );
|
||||||
|
|
||||||
|
// Equivalent to same named cmFileSysMakeFn() functions but form a directory
|
||||||
|
// path rather than a file name path.
|
||||||
|
const cmChar_t* cmFileSysVMakeDir( cmFileSysH_t h, const cmChar_t* dir, va_list vl );
|
||||||
|
const cmChar_t* cmFileSysMakeDir( cmFileSysH_t h, const cmChar_t* dir, ... );
|
||||||
|
const cmChar_t* cmFileSysVMakeUserDir( cmFileSysH_t h, const cmChar_t* dir, va_list vl );
|
||||||
|
const cmChar_t* cmFileSysMakeUserDir( cmFileSysH_t h, const cmChar_t* dir, ... );
|
||||||
|
|
||||||
// Release the file name created through an earlier call to cmFileSysMakeFn().
|
// Release the file name created through an earlier call to cmFileSysMakeFn().
|
||||||
void cmFileSysFreeFn( cmFileSysH_t h, const cmChar_t* fn );
|
void cmFileSysFreeFn( cmFileSysH_t h, const cmChar_t* fn );
|
||||||
|
|
||||||
@ -103,10 +118,16 @@ extern "C" {
|
|||||||
// final directory.
|
// final directory.
|
||||||
cmFsRC_t cmFileSysMkDir( cmFileSysH_t h, const cmChar_t* dir );
|
cmFsRC_t cmFileSysMkDir( cmFileSysH_t h, const cmChar_t* dir );
|
||||||
|
|
||||||
|
// Same as cmFileSysMkDir() but 'dir' is automatically prefixed with the users home directory.
|
||||||
|
cmFsRC_t cmFileSysMkUserDir( cmFileSysH_t h, const cmChar_t* dir );
|
||||||
|
|
||||||
// Create a complete directory path - where any of the path segments may
|
// Create a complete directory path - where any of the path segments may
|
||||||
// not already exist.
|
// not already exist.
|
||||||
cmFsRC_t cmFileSysMkDirAll( cmFileSysH_t h, const cmChar_t* dir );
|
cmFsRC_t cmFileSysMkDirAll( cmFileSysH_t h, const cmChar_t* dir );
|
||||||
|
|
||||||
|
// Same as cmFileSysMkDir() but 'dir' is automatically prefixed with the users home directory.
|
||||||
|
cmFsRC_t cmFileSysMkUserDirAll( cmFileSysH_t h, const cmChar_t* dir );
|
||||||
|
|
||||||
// Parse a path into its parts:
|
// Parse a path into its parts:
|
||||||
//
|
//
|
||||||
// Return record used by cmFileSysParts()
|
// Return record used by cmFileSysParts()
|
||||||
@ -212,14 +233,24 @@ extern "C" {
|
|||||||
bool cmFsIsFile( const cmChar_t* fnStr );
|
bool cmFsIsFile( const cmChar_t* fnStr );
|
||||||
bool cmFsIsLink( const cmChar_t* fnStr );
|
bool cmFsIsLink( const cmChar_t* fnStr );
|
||||||
|
|
||||||
const cmChar_t* cmFsVMakeFn( const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, va_list vl );
|
const cmChar_t* cmFsVMakeFn( const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, va_list vl );
|
||||||
const cmChar_t* cmFsMakeFn( const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, ... );
|
const cmChar_t* cmFsMakeFn( const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, ... );
|
||||||
void cmFsFreeFn( const cmChar_t* fn );
|
const cmChar_t* cmFsVMakeUserFn( const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, va_list vl );
|
||||||
cmFsRC_t cmFsGenFn( const cmChar_t* dir, const cmChar_t* prefixStr, const cmChar_t* extStr, const cmChar_t** fnPtr );
|
const cmChar_t* cmFsMakeUserFn( const cmChar_t* dirPrefix, const cmChar_t* fn, const cmChar_t* ext, ... );
|
||||||
|
|
||||||
|
const cmChar_t* cmFsVMakeDir( const cmChar_t* dirPrefix, va_list vl );
|
||||||
|
const cmChar_t* cmFsMakeDir( const cmChar_t* dirPrefix, ... );
|
||||||
|
const cmChar_t* cmFsVMakeUserDir( const cmChar_t* dirPrefix, va_list vl );
|
||||||
|
const cmChar_t* cmFsMakeUserDir( const cmChar_t* dirPrefix, ... );
|
||||||
|
|
||||||
|
void cmFsFreeFn( const cmChar_t* fn );
|
||||||
|
cmFsRC_t cmFsGenFn( const cmChar_t* dir, const cmChar_t* prefixStr, const cmChar_t* extStr, const cmChar_t** fnPtr );
|
||||||
|
|
||||||
|
|
||||||
cmFsRC_t cmFsMkDir( const cmChar_t* dir );
|
cmFsRC_t cmFsMkDir( const cmChar_t* dir );
|
||||||
|
cmFsRC_t cmFsMkUserDir( const cmChar_t* dir );
|
||||||
cmFsRC_t cmFsMkDirAll( const cmChar_t* dir );
|
cmFsRC_t cmFsMkDirAll( const cmChar_t* dir );
|
||||||
|
cmFsRC_t cmFsMkUserDirAll( const cmChar_t* dir );
|
||||||
|
|
||||||
cmFileSysPathPart_t* cmFsPathParts( const cmChar_t* pathNameStr );
|
cmFileSysPathPart_t* cmFsPathParts( const cmChar_t* pathNameStr );
|
||||||
void cmFsFreePathParts( cmFileSysPathPart_t* p );
|
void cmFsFreePathParts( cmFileSysPathPart_t* p );
|
||||||
|
Loading…
Reference in New Issue
Block a user