cemcen / Delynoi

An object-oriented C++ library for the generation of polygonal meshes
18 stars 8 forks source link

Fix triangle.c pointer cast for x64 systems #6

Closed ppizarror closed 2 weeks ago

ppizarror commented 2 years ago

This PR fixes triangle.c library, which assumes that sizeof(long) equals 8, and uses unsigned long as the type of pointer. But sizeof(long) equals 4 when compiling in VS/mingw/x64, so unsigned long cannot be the type of the pointer in x64.

Now, I successfully compiled the project, and ran the tests!

Also, PR #4 should be merged as well.

Greetings,

Pablo

ppizarror commented 2 years ago

For OSX compatibility, on line 649 of triangle.c the following should be added:

[LINE 649]/* Random number seed is not constant, but I've made it global anyway.       */

/* Fix for MacOS*/
#ifndef __int64
#ifdef __APPLE__
typedef long long __int64;
#else
#error Must define __int64 for your platform
#endif
#endif

__int64 randomseed;                     /* Current random number seed. */