Skip to content

Commit

Permalink
Username is now accurately reported, which means that the default use…
Browse files Browse the repository at this point in the history
…r dir works more correctly.
  • Loading branch information
icculus committed Apr 2, 2002
1 parent af1452a commit 6519a24
Showing 1 changed file with 24 additions and 11 deletions.
35 changes: 24 additions & 11 deletions platform/macclassic.c
Expand Up @@ -13,16 +13,16 @@
* Please note that I haven't tried this code with CarbonLib or under
* MacOS X at all. The code in unix.c is known to work with Darwin,
* and you may or may not be better off using that.
*
* GetDefaultUser() from PPCToolbox.h isn't supported in CarbonLib, for one.
*/
#ifdef __PHYSFS_CARBONIZED__
#include <Carbon.h>
#else
#include <OSUtils.h>
#include <Processes.h>
#include <Files.h>
#include <PPCToolbox.h>
#include <TextUtils.h>
#include <Resources.h>
#include <MacMemory.h>
#endif

#define __PHYSICSFS_INTERNAL__
Expand Down Expand Up @@ -118,14 +118,27 @@ char *__PHYSFS_platformCalcBaseDir(const char *argv0)
char *__PHYSFS_platformGetUserName(void)
{
char *retval = NULL;
Str32 name;
UInt32 ref;
BAIL_IF_MACRO(GetDefaultUser(&ref, name) != noErr, ERR_OS_ERROR, NULL);

retval = (char *) malloc(name[0] + 1);
BAIL_IF_MACRO(retval == NULL, ERR_OUT_OF_MEMORY, NULL);
memcpy(retval, &name[1], name[0]);
retval[name[0]] = '\0'; /* null-terminate it. */
StringHandle strHandle;
short origResourceFile = CurResFile();

/* use the System resource file. */
UseResFile(0);
/* apparently, -16096 specifies the username. */
strHandle = GetString(-16096);
UseResFile(origResourceFile);
BAIL_IF_MACRO(strHandle == NULL, ERR_OS_ERROR, NULL);

HLock((Handle) strHandle);
retval = (char *) malloc((*strHandle)[0] + 1);
if (retval == NULL)
{
HUnlock((Handle) strHandle);
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
} /* if */
memcpy(retval, &(*strHandle)[1], (*strHandle)[0]);
retval[(*strHandle)[0]] = '\0'; /* null-terminate it. */
HUnlock((Handle) strHandle);

return(retval);
} /* __PHYSFS_platformGetUserName */

Expand Down

0 comments on commit 6519a24

Please sign in to comment.