/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
-* (c) 1994-2001 Artsoft Entertainment *
+* (c) 1994-2002 Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
#if defined(PLATFORM_WIN32)
return ANONYMOUS_NAME;
#else
- struct passwd *pwd;
+ static char *login_name = NULL;
- if ((pwd = getpwuid(getuid())) == NULL)
- return ANONYMOUS_NAME;
- else
- return pwd->pw_name;
+ if (login_name == NULL)
+ {
+ struct passwd *pwd;
+
+ if ((pwd = getpwuid(getuid())) == NULL)
+ login_name = ANONYMOUS_NAME;
+ else
+ login_name = getStringCopy(pwd->pw_name);
+ }
+
+ return login_name;
#endif
}
#if defined(PLATFORM_UNIX)
static char *home_dir = NULL;
- if (!home_dir)
+ if (home_dir == NULL)
{
- if (!(home_dir = getenv("HOME")))
+ if ((home_dir = getenv("HOME")) == NULL)
{
struct passwd *pwd;
- if ((pwd = getpwuid(getuid())))
- home_dir = pwd->pw_dir;
- else
+ if ((pwd = getpwuid(getuid())) == NULL)
home_dir = ".";
+ else
+ home_dir = getStringCopy(pwd->pw_dir);
}
}
if (mode & ERR_WARN && !options.verbose)
return;
-#if !defined(PLATFORM_UNIX)
+#if defined(PLATFORM_MSDOS)
newline = "\r\n";
if ((error = openErrorFile()) == NULL)
/* ========================================================================= */
-/* functions only needed for non-Unix (non-command-line) systems */
+/* functions only needed for non-Unix (non-command-line) systems */
+/* (MS-DOS only; SDL/Windows creates files "stdout.txt" and "stderr.txt") */
/* ========================================================================= */
-#if !defined(PLATFORM_UNIX)
+#if defined(PLATFORM_MSDOS)
-#define ERROR_FILENAME "error.out"
+#define ERROR_FILENAME "stderr.txt"
void initErrorFile()
{
- char *filename;
-
- InitUserDataDirectory();
-
- filename = getPath2(getUserDataDir(), ERROR_FILENAME);
- unlink(filename);
- free(filename);
+ unlink(ERROR_FILENAME);
}
FILE *openErrorFile()
{
- char *filename;
- FILE *error_file;
-
- filename = getPath2(getUserDataDir(), ERROR_FILENAME);
- error_file = fopen(filename, MODE_APPEND);
- free(filename);
-
- return error_file;
+ return fopen(ERROR_FILENAME, MODE_APPEND);
}
void dumpErrorFile()
{
- char *filename;
- FILE *error_file;
-
- filename = getPath2(getUserDataDir(), ERROR_FILENAME);
- error_file = fopen(filename, MODE_READ);
- free(filename);
+ FILE *error_file = fopen(ERROR_FILENAME, MODE_READ);
if (error_file != NULL)
{