fix sys.c for win32

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2245 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2008-05-23 13:16:13 +00:00
parent 5974495e87
commit fbc1f5e4a9

View File

@ -8,8 +8,11 @@
* * * *
************************************************************************** **************************************************************************
* * * *
* $Id: sys.c,v 1.34 2008-05-22 23:25:21 vsc Exp $ * * $Id: sys.c,v 1.35 2008-05-23 13:16:13 vsc Exp $ *
* mods: $Log: not supported by cvs2svn $ * mods: $Log: not supported by cvs2svn $
* mods: Revision 1.34 2008/05/22 23:25:21 vsc
* mods: add tmp_file/2
* mods:
* mods: Revision 1.33 2007/10/05 18:24:30 vsc * mods: Revision 1.33 2007/10/05 18:24:30 vsc
* mods: fix garbage collector and fix LeaveGoal * mods: fix garbage collector and fix LeaveGoal
* mods: * mods:
@ -501,7 +504,6 @@ p_tmpnam(void)
static int static int
p_tmpdir(void) p_tmpdir(void)
{ {
char *s;
#if defined(__MINGW32__) || _MSC_VER #if defined(__MINGW32__) || _MSC_VER
char buf[512]; char buf[512];
DWORD out = GetTempPath(512, buf); DWORD out = GetTempPath(512, buf);
@ -509,17 +511,18 @@ p_tmpdir(void)
return(YAP_Unify(YAP_ARG2, WinError())); return(YAP_Unify(YAP_ARG2, WinError()));
} }
if (out > 511) { if (out > 511) {
nbuf = malloc(out+1); char *nbuf = malloc(out+1);
if (!nbuf) if (!nbuf)
return YAP_Unify(YAP_ARG2, YAP_MkAtomTerm(YAP_LookupAtom("no malloc memory"))); return YAP_Unify(YAP_ARG2, YAP_MkAtomTerm(YAP_LookupAtom("no malloc memory")));
out = GetTempPath(512, nbuf); out = GetTempPath(512, nbuf);
if (!out) { if (!out) {
return(YAP_Unify(YAP_ARG2, WinError())); return YAP_Unify(YAP_ARG2, WinError());
} }
return YAP_Unify(YAP_ARG1,YAP_MkAtomTerm(YAP_LookupAtom(nbuf))); return YAP_Unify(YAP_ARG1,YAP_MkAtomTerm(YAP_LookupAtom(nbuf)));
} }
return YAP_Unify(YAP_ARG1,YAP_MkAtomTerm(YAP_LookupAtom(buf))); return YAP_Unify(YAP_ARG1,YAP_MkAtomTerm(YAP_LookupAtom(buf)));
#else #else
char *s;
if ((s = getenv("TMPDIR"))) if ((s = getenv("TMPDIR")))
return YAP_Unify(YAP_ARG1,YAP_MkAtomTerm(YAP_LookupAtom(s))); return YAP_Unify(YAP_ARG1,YAP_MkAtomTerm(YAP_LookupAtom(s)));
#ifdef P_tmpdir #ifdef P_tmpdir