Backporting Angelscript Haiku support fix.

Fixing segfault on OpenGL extensions listing.
This commit is contained in:
David Carlier 2020-08-31 17:09:17 +00:00
parent 738c7e509e
commit d69b75f83e
2 changed files with 17 additions and 7 deletions

View File

@ -1079,15 +1079,23 @@
// Haiku OS // Haiku OS
#elif __HAIKU__ #elif __HAIKU__
#define AS_HAIKU #define AS_HAIKU
// Only x86-32 is currently supported by Haiku, but they do plan to support
// x86-64 and PowerPC in the future, so should go ahead and check the platform
// for future compatibility
#if (defined(i386) || defined(__i386) || defined(__i386__)) && !defined(__LP64__) #if (defined(i386) || defined(__i386) || defined(__i386__)) && !defined(__LP64__)
#define AS_X86 #define AS_X86
#define THISCALL_PASS_OBJECT_POINTER_ON_THE_STACK #define THISCALL_PASS_OBJECT_POINTER_ON_THE_STACK
#define THISCALL_RETURN_SIMPLE_IN_MEMORY #define THISCALL_RETURN_SIMPLE_IN_MEMORY
#define CDECL_RETURN_SIMPLE_IN_MEMORY #define CDECL_RETURN_SIMPLE_IN_MEMORY
#define STDCALL_RETURN_SIMPLE_IN_MEMORY #define STDCALL_RETURN_SIMPLE_IN_MEMORY
#elif defined(__x86_64__)
#define AS_X64_GCC
#define HAS_128_BIT_PRIMITIVES
#undef COMPLEX_MASK
#define COMPLEX_MASK (asOBJ_APP_CLASS_CONSTRUCTOR | asOBJ_APP_CLASS_DESTRUCTOR)
#undef COMPLEX_RETURN_MASK
#define COMPLEX_RETURN_MASK (asOBJ_APP_CLASS_CONSTRUCTOR | asOBJ_APP_CLASS_DESTRUCTOR)
#define AS_LARGE_OBJS_PASSED_BY_REF
#define AS_LARGE_OBJ_MIN_SIZE 5
#undef STDCALL
#define STDCALL
#else #else
#define AS_MAX_PORTABILITY #define AS_MAX_PORTABILITY
#endif #endif

View File

@ -322,10 +322,12 @@ namespace spades {
"GL_EXT_framebuffer_object", "GL_EXT_framebuffer_object",
NULL}; NULL};
SPLog("--- Extensions ---"); if (str) {
std::vector<std::string> strs = spades::Split(str, " "); SPLog("--- Extensions ---");
for (size_t i = 0; i < strs.size(); i++) { std::vector<std::string> strs = spades::Split(str, " ");
SPLog("%s", strs[i].c_str()); for (size_t i = 0; i < strs.size(); i++) {
SPLog("%s", strs[i].c_str());
}
} }
SPLog("------------------"); SPLog("------------------");