diff --git a/sourcepawn/compiler/AMBuilder b/sourcepawn/compiler/AMBuilder index 31ab6fd6..dac2bab9 100644 --- a/sourcepawn/compiler/AMBuilder +++ b/sourcepawn/compiler/AMBuilder @@ -18,7 +18,7 @@ elif compiler.cc.name == 'msvc': if AMBuild.target['platform'] == 'linux': compiler['CDEFINES'].extend(['LINUX', 'HAVE_STDINT_H', 'AMX_ANSIONLY', 'ENABLE_BINRELOC', '_GNU_SOURCE']) elif AMBuild.target['platform'] == 'darwin': - compiler['CDEFINES'].extend(['DARWIN', 'HAVE_STDINT_H', 'AMX_ANSIONLY', 'ENABLE_BINRELOC']) + compiler['CDEFINES'].extend(['DARWIN', 'HAVE_STDINT_H', 'AMX_ANSIONLY', 'ENABLE_BINRELOC', 'HAVE_SAFESTR']) extension = AMBuild.AddJob('spcomp') binary = Cpp.ExecutableBuilder('spcomp', AMBuild, extension, compiler) diff --git a/sourcepawn/compiler/sc1.c b/sourcepawn/compiler/sc1.c index 5d8dc850..cc7d1706 100644 --- a/sourcepawn/compiler/sc1.c +++ b/sourcepawn/compiler/sc1.c @@ -267,7 +267,9 @@ int pc_compile(int argc, char *argv[]) tname=NULL; sname=NULL; #else - tname=tempnam(NULL,"pawn"); + char buffer[] = P_tmpdir "/pawn.XXXXXX"; + close(mkstemp(buffer)); + tname=buffer; #endif ftmp=(FILE*)pc_createsrc(tname); for (fidx=0; (sname=get_sourcefile(fidx))!=NULL; fidx++) {