From 2d1c8327c936600deca28a15230804a448e3f8a2 Mon Sep 17 00:00:00 2001 From: Date: Sun, 10 Feb 2019 16:24:29 -0500 Subject: MSVC build fix: gbasename: basename()/libgen.h don't exist in MSVC-land. Instead, use _splitpath_s. --- goo/gbasename.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'goo') diff --git a/goo/gbasename.cc b/goo/gbasename.cc index dd4607b4..819de885 100644 --- a/goo/gbasename.cc +++ b/goo/gbasename.cc @@ -39,13 +39,21 @@ //======================================================================== #include "gbasename.h" -#include +#ifndef _MSC_VER +# include +#endif #include std::string gbasename(const char* filename) { +#ifdef _MSC_VER + char fname[_MAX_FNAME] = {}, fext[_MAX_EXT] = {}; + errno_t z = _splitpath_s(filename, NULL, 0, NULL, 0, fname, _countof(fname), fext, _countof(fext)); + return std::string(fname) + std::string(fext); +#else char* mutabl = strdup(filename); std::string retu = basename(mutabl); free(mutabl); return retu; +#endif } -- cgit v1.2.3