diff --git a/zsnes/src/linux/zfilew.c b/zsnes/src/linux/zfilew.c index 993ac7ea..33a58e98 100644 --- a/zsnes/src/linux/zfilew.c +++ b/zsnes/src/linux/zfilew.c @@ -36,6 +36,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include #include #include +#include #else #include #include @@ -466,16 +467,16 @@ char zcfgdir[1024]; void obtaindir() { - char *homedir = 0; + struct passwd *userinfo; DIR *tmp; - if ((homedir = (char *)getenv("HOME")) == 0) + if ((userinfo = getpwuid(getuid()))) { - getcwd(zcfgdir, ZCFG_DIR_LEN); + strcpy(zcfgdir, userinfo->pw_dir); } else { - strcpy(zcfgdir, homedir); + getcwd(zcfgdir, ZCFG_DIR_LEN); } strcat(zcfgdir, ZCFG_DIR); tmp = opendir(zcfgdir);