tFixing the last patch to the surf style. - surf - customized build of surf, th… | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 8682a4dffb33b37ba9d3e42b40f25fac3f92e510 | |
parent cee8f0186ce3277add9b6a8ac07588be40f0f080 | |
Author: Christoph Lohmann <[email protected]> | |
Date: Fri, 3 Jun 2016 15:14:53 +0200 | |
Fixing the last patch to the surf style. | |
Diffstat: | |
M surf.c | 33 +++++++++++++++++------------… | |
1 file changed, 18 insertions(+), 15 deletions(-) | |
--- | |
diff --git a/surf.c b/surf.c | |
t@@ -144,6 +144,8 @@ static void setup(void); | |
static void sigchld(int unused); | |
static char *buildfile(const char *path); | |
static char *buildpath(const char *path); | |
+static const char *getuserhomedir(const char *user); | |
+static const char *getcurrentuserhomedir(void); | |
static Client *newclient(Client *c); | |
static void loaduri(Client *c, const Arg *a); | |
static const char *geturi(Client *c); | |
t@@ -351,34 +353,35 @@ buildfile(const char *path) | |
} | |
static const char* | |
-get_user_homedir(const char *user) { | |
+getuserhomedir(const char *user) | |
+{ | |
struct passwd *pw = getpwnam(user); | |
- if (!pw) { | |
- die("Can't get user `%s' home directory.\n", user); | |
- } | |
+ | |
+ if (!pw) | |
+ die("Can't get user %s login information.\n", user); | |
+ | |
return pw->pw_dir; | |
} | |
static const char* | |
-get_current_user_homedir() { | |
+getcurrentuserhomedir(void) | |
+{ | |
const char *homedir; | |
const char *user; | |
struct passwd *pw; | |
homedir = getenv("HOME"); | |
- if (homedir) { | |
+ if (homedir) | |
return homedir; | |
- } | |
user = getenv("USER"); | |
- if (user) { | |
- return get_user_homedir(user); | |
- } | |
+ if (user) | |
+ return getuserhomedir(user); | |
pw = getpwuid(getuid()); | |
- if (!pw) { | |
+ if (!pw) | |
die("Can't get current user home directory\n"); | |
- } | |
+ | |
return pw->pw_dir; | |
} | |
t@@ -386,19 +389,19 @@ char * | |
buildpath(const char *path) | |
{ | |
char *apath, *name, *p, *fpath; | |
+ const char *homedir; | |
if (path[0] == '~') { | |
- const char *homedir; | |
if (path[1] == '/' || path[1] == '\0') { | |
p = (char *)&path[1]; | |
- homedir = get_current_user_homedir(); | |
+ homedir = getcurrentuserhomedir(); | |
} else { | |
if ((p = strchr(path, '/'))) | |
name = g_strndup(&path[1], --p - path); | |
else | |
name = g_strdup(&path[1]); | |
- homedir = get_user_homedir(name); | |
+ homedir = getuserhomedir(name); | |
g_free(name); | |
} | |
apath = g_build_filename(homedir, p, NULL); |