Fixed log compilation on Mac

Change-Id: Ic231c56bdfd74c23d6086fb8ec485a0cec17d248
This commit is contained in:
Fredric Silberberg
2015-12-06 16:14:26 -05:00
parent db91e20ec7
commit 9e6635ec13

View File

@@ -14,6 +14,10 @@
#include <cstring>
#endif
#ifdef __APPLE__
#include <libgen.h>
#endif
using namespace nt;
ATOMIC_STATIC_INIT(Logger)
@@ -40,6 +44,13 @@ static void def_log_func(unsigned int level, const char* file,
_splitpath_s(file, nullptr, 0, nullptr, 0, fname, 60, ext, 10);
std::fprintf(stderr, "NT: %s: %s (%s%s:%d)\n", levelmsg, msg, fname, ext,
line);
#elif __APPLE__
int len = strlen(msg) + 1;
char* basestr = new char[len + 1];
strncpy(basestr, file, len);
std::fprintf(stderr, "NT: %s: %s (%s:%d)\n", levelmsg, msg, basename(basestr),
line);
delete[] basestr;
#else
std::fprintf(stderr, "NT: %s: %s (%s:%d)\n", levelmsg, msg, basename(file),
line);