Skip to content
Snippets Groups Projects
Commit bb721a40 authored by rswindell's avatar rswindell
Browse files

Added getdirname(): returns the filename or lastdirectory portion of a full

pathname (directories must end in a '/'). Unlike getfname() which returns an
empty string if passed a path ending in a '/'.
Useful with glob(.., GLOB_MARK).
parent c683fd1d
No related branches found
No related tags found
No related merge requests found
...@@ -108,7 +108,26 @@ char* DLLCALL getfname(const char* path) ...@@ -108,7 +108,26 @@ char* DLLCALL getfname(const char* path)
} }
/****************************************************************************/ /****************************************************************************/
/* Return a pointer to a file's extesion (beginning with '.') */ /* Return the filename or last directory portion of a full pathname */
/* A directory pathname is expected to end in a '/' */
/****************************************************************************/
char* DLLCALL getdirname(const char* path)
{
char* last = lastchar(path);
if(*last == '/') {
if(last == path)
return last;
for(last--; last > path; last--) {
if(*last == '/' || *last == '\\')
return last + 1;
}
return last;
}
return getfname(path);
}
/****************************************************************************/
/* Return a pointer to a file's extension/suffix (beginning with '.') */
/****************************************************************************/ /****************************************************************************/
char* DLLCALL getfext(const char* path) char* DLLCALL getfext(const char* path)
{ {
......
...@@ -228,6 +228,7 @@ DLLEXPORT char* DLLCALL getfname(const char* path); ...@@ -228,6 +228,7 @@ DLLEXPORT char* DLLCALL getfname(const char* path);
DLLEXPORT char* DLLCALL getfext(const char* path); DLLEXPORT char* DLLCALL getfext(const char* path);
DLLEXPORT int DLLCALL getfattr(const char* filename); DLLEXPORT int DLLCALL getfattr(const char* filename);
DLLEXPORT ulong DLLCALL getfilecount(const char *inpath, const char* spec); DLLEXPORT ulong DLLCALL getfilecount(const char *inpath, const char* spec);
DLLEXPORT char* DLLCALL getdirname(const char* path);
DLLEXPORT long DLLCALL getdirsize(const char* path, BOOL include_subdirs, BOOL subdir_only); DLLEXPORT long DLLCALL getdirsize(const char* path, BOOL include_subdirs, BOOL subdir_only);
DLLEXPORT ulong DLLCALL getdisksize(const char* path, ulong unit); DLLEXPORT ulong DLLCALL getdisksize(const char* path, ulong unit);
DLLEXPORT ulong DLLCALL getfreediskspace(const char* path, ulong unit); DLLEXPORT ulong DLLCALL getfreediskspace(const char* path, ulong unit);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment