Aggiunta funzione tempnam per WATCOM C++

git-svn-id: svn://10.65.10.50/trunk@1134 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1995-03-16 09:14:55 +00:00
parent b7c2e821d1
commit 11f28d4df5
2 changed files with 35 additions and 1 deletions

View File

@ -267,3 +267,33 @@ int stricmp(const char* s1, const char* s2)
}
#endif
#ifdef __WATCOMC__
char * tempnam(const char * dir , const char * prefix)
{
TFilename tmpdir(getenv("TMP"));
static word counter = 1;
if (tmpdir.empty() || !fexist(tmpdir))
{
tmpdir = dir;
if (tmpdir.empty() || !fexist(tmpdir))
tmpdir = "";
}
if (is_not_slash(tmpdir.right(1)[0]))
tmpdir << '/';
tmpdir << prefix ;
const int lastpos = tmpdir.len() ;
tmpdir << format("%ud", counter);
while (!fexist(tmpdir))
{
counter++;
if (counter == 0) counter = 1;
tmpdir.cut(lastpos);
tmpdir << format("%ud", counter);
}
return strdup(tmpdir);
}
#endif

View File

@ -14,10 +14,14 @@ bool fcopy(const char* orig, const char* dest, bool append=FALSE);
bool fexist(const char* file);
const char * encode(const char * data);
const char * decode(const char * data);
inline bool is_not_slash(char s) { return s != '\\' && s != '/'; }
#if XVT_OS == XVT_OS_SCOUNIX
int stricmp(const char*, const char*);
#endif
#ifdef __WATCOMC__
char * tempnam(const char * dir, const char * prefix);
#endif
const char* esc(const char*);
@ -32,5 +36,5 @@ extern char __tmp_string[1024];
/* @END */
#endif // __UTILITY_H
#endif /* __UTILITY_H */