#include #include "CommonDef.h" namespace hybridclr { void LogPanic(const char* errMsg) { std::cerr << "panic:" << std::endl; std::cerr << "\t" << errMsg << std::endl; exit(1); } const char* GetAssemblyNameFromPath(const char* assPath) { const char* last = nullptr; for (const char* p = assPath; *p; p++) { if (*p == '/' || *p == '\\') { last = p + 1; } } return last ? last : assPath; } const char* CopyString(const char* src) { size_t len = std::strlen(src); char* dst = (char*)HYBRIDCLR_MALLOC(len + 1); std::strcpy(dst, src); return dst; } const char* ConcatNewString(const char* s1, const char* s2) { size_t len1 = std::strlen(s1); size_t len = len1 + std::strlen(s2); char* dst = (char*)HYBRIDCLR_MALLOC(len + 1); std::strcpy(dst, s1); strcpy(dst + len1, s2); return dst; } void* CopyBytes(const void* src, size_t length) { void* dst = HYBRIDCLR_MALLOC(length); std::memcpy(dst, src, length); return dst; } }