projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into releases
[rocksndiamonds.git]
/
src
/
libgame
/
misc.c
diff --git
a/src/libgame/misc.c
b/src/libgame/misc.c
index 8fe3200d3c4a28b22675eeccd81a9fc00f7450da..8bc69396cb464a0ad20b666dbced14501277c85e 100644
(file)
--- a/
src/libgame/misc.c
+++ b/
src/libgame/misc.c
@@
-1,7
+1,7
@@
/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
-* (c) 1994-200
1
Artsoft Entertainment *
+* (c) 1994-200
2
Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
@@
-306,12
+306,19
@@
char *getLoginName()
#if defined(PLATFORM_WIN32)
return ANONYMOUS_NAME;
#else
#if defined(PLATFORM_WIN32)
return ANONYMOUS_NAME;
#else
- st
ruct passwd *pwd
;
+ st
atic 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
}
#endif
}
@@
-357,16
+364,16
@@
char *getHomeDir()
#if defined(PLATFORM_UNIX)
static char *home_dir = NULL;
#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;
{
struct passwd *pwd;
- if ((pwd = getpwuid(getuid())))
- home_dir = pwd->pw_dir;
- else
+ if ((pwd = getpwuid(getuid())) == NULL)
home_dir = ".";
home_dir = ".";
+ else
+ home_dir = getStringCopy(pwd->pw_dir);
}
}
}
}
@@
-628,7
+635,7
@@
void Error(int mode, char *format, ...)
if (mode & ERR_WARN && !options.verbose)
return;
if (mode & ERR_WARN && !options.verbose)
return;
-#if
!defined(PLATFORM_UNIX
)
+#if
defined(PLATFORM_MSDOS
)
newline = "\r\n";
if ((error = openErrorFile()) == NULL)
newline = "\r\n";
if ((error = openErrorFile()) == NULL)
@@
-1258,44
+1265,27
@@
boolean FileIsArtworkType(char *basename, int type)
/* ========================================================================= */
/* ========================================================================= */
-/* 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.ou
t"
+#define ERROR_FILENAME "
stderr.tx
t"
void initErrorFile()
{
void initErrorFile()
{
- char *filename;
-
- InitUserDataDirectory();
-
- filename = getPath2(getUserDataDir(), ERROR_FILENAME);
- unlink(filename);
- free(filename);
+ unlink(ERROR_FILENAME);
}
FILE *openErrorFile()
{
}
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()
{
}
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)
{
if (error_file != NULL)
{