# HG changeset patch # User Guido Berhoerster # Date 1565083264 -7200 # Node ID 2a8298bafec202db62d384b9b900e6db3de126b0 # Parent 34ada71ff3e56e63faa9da39c29a0abf45b45db3 Try to use $HOME for the user's home directory diff -r 34ada71ff3e5 -r 2a8298bafec2 pwm.c --- a/pwm.c Wed Jul 31 11:21:54 2019 +0200 +++ b/pwm.c Tue Aug 06 11:21:04 2019 +0200 @@ -341,6 +341,7 @@ const char *master_password_filename = NULL; struct pwm_ctx ctx = { 0 }; struct passwd *passwd; + char *home; FILE *fp = NULL; setprogname(argv[0]); @@ -394,11 +395,15 @@ goto out; } - passwd = getpwuid(getuid()); - if (passwd == NULL) { - err(1, "getpwuid"); + home = getenv("HOME"); + if (home == NULL) { + passwd = getpwuid(getuid()); + if (passwd == NULL) { + err(1, "getpwuid"); + } + home = passwd->pw_dir; } - xasprintf(&ctx.dirname, "%s/.pwm", passwd->pw_dir); + xasprintf(&ctx.dirname, "%s/.pwm", home); /* create ~/.pwm directory if necessary */ if ((mkdir(ctx.dirname, S_IRWXU) != 0) && (errno != EEXIST)) {