summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmCPluginAPI.cxx9
-rw-r--r--Source/cmCPluginAPI.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx
index e7ffe3f..bdf0b94 100644
--- a/Source/cmCPluginAPI.cxx
+++ b/Source/cmCPluginAPI.cxx
@@ -453,6 +453,14 @@ char *cmGetFilenameWithoutExtension(const char *name)
return result;
}
+char *cmGetFilenamePath(const char *name)
+{
+ std::string sres = cmSystemTools::GetFilenamePath(name);
+ char *result = (char *)malloc(sres.size()+1);
+ strcpy(result,sres.c_str());
+ return result;
+}
+
char *cmCapitalized(const char *name)
{
std::string sres = cmSystemTools::Capitalized(name);
@@ -522,6 +530,7 @@ cmCAPI cmStaticCAPI =
cmCapitalized,
cmCopyFileIfDifferent,
cmGetFilenameWithoutExtension,
+ cmGetFilenamePath,
cmRemoveFile,
};
diff --git a/Source/cmCPluginAPI.h b/Source/cmCPluginAPI.h
index 1f679d7..eaa98d9 100644
--- a/Source/cmCPluginAPI.h
+++ b/Source/cmCPluginAPI.h
@@ -137,6 +137,7 @@ typedef struct
char *(*Capitalized)(const char *);
void (*CopyFileIfDifferent)(const char *f1, const char *f2);
char *(*GetFilenameWithoutExtension)(const char *);
+ char *(*GetFilenamePath)(const char *);
void (*RemoveFile)(const char *f1);
/* this is the end of the C function stub API structure */