summaryrefslogtreecommitdiffstats
path: root/src/platform/windows.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/windows.c')
-rw-r--r--src/platform/windows.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/platform/windows.c b/src/platform/windows.c
index 96678ab..50cb722 100644
--- a/src/platform/windows.c
+++ b/src/platform/windows.c
@@ -15,6 +15,7 @@
#include <io.h>
#include <windows.h>
+#include <string.h>
#include <sys/types.h>
#include "platform.h"
@@ -90,6 +91,9 @@ void *cc4group_mmap(void *start, size_t length, int prot, int flags, int fd, off
return ret;
}
+#undef DWORD_HI
+#undef DWORD_LO
+
int cc4group_munmap(void *addr, size_t length)
{
(void)length;
@@ -102,6 +106,13 @@ char* cc4group_absolutePath(const char* path)
return _fullpath(NULL, path, 0);
}
-
-#undef DWORD_HI
-#undef DWORD_LO
+char* cc4group_basename(const char* path)
+{
+ char fname[_MAX_FNAME];
+ char ext[_MAX_EXT];
+ _splitpath(path, NULL, NULL, fname, ext);
+ char* result = malloc(sizeof(char) * (strlen(fname) + strlen(ext) + 1);
+ strcpy(result, fname);
+ strcat(result, ext);
+ return result;
+}