aboutsummaryrefslogtreecommitdiff
path: root/dmenu_path.c
diff options
context:
space:
mode:
Diffstat (limited to 'dmenu_path.c')
-rw-r--r--dmenu_path.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/dmenu_path.c b/dmenu_path.c
index 1575f1d..15d0da0 100644
--- a/dmenu_path.c
+++ b/dmenu_path.c
@@ -8,22 +8,21 @@
#define CACHE ".dmenu_cache"
-static int qstrcmp(const void *a, const void *b);
static void die(const char *s);
+static int qstrcmp(const void *a, const void *b);
static void scan(void);
static int uptodate(void);
static char **items = NULL;
-static const char *Home, *Path;
-static size_t count = 0;
+static const char *home, *path;
int
main(void) {
- if(!(Home = getenv("HOME")))
+ if(!(home = getenv("HOME")))
die("no $HOME");
- if(!(Path = getenv("PATH")))
+ if(!(path = getenv("PATH")))
die("no $PATH");
- if(chdir(Home) < 0)
+ if(chdir(home) < 0)
die("chdir failed");
if(uptodate()) {
execlp("cat", "cat", CACHE, NULL);
@@ -47,15 +46,16 @@ qstrcmp(const void *a, const void *b) {
void
scan(void) {
char buf[PATH_MAX];
- char *dir, *path;
- size_t i;
+ char *dir, *p;
+ size_t i, count;
struct dirent *ent;
DIR *dp;
FILE *cache;
- if(!(path = strdup(Path)))
+ count = 0;
+ if(!(p = strdup(path)))
die("strdup failed");
- for(dir = strtok(path, ":"); dir; dir = strtok(NULL, ":")) {
+ for(dir = strtok(p, ":"); dir; dir = strtok(NULL, ":")) {
if(!(dp = opendir(dir)))
continue;
while((ent = readdir(dp))) {
@@ -79,23 +79,23 @@ scan(void) {
fprintf(stdout, "%s\n", items[i]);
}
fclose(cache);
- free(path);
+ free(p);
}
int
uptodate(void) {
- char *dir, *path;
+ char *dir, *p;
time_t mtime;
struct stat st;
if(stat(CACHE, &st) < 0)
return 0;
mtime = st.st_mtime;
- if(!(path = strdup(Path)))
+ if(!(p = strdup(path)))
die("strdup failed");
- for(dir = strtok(path, ":"); dir; dir = strtok(NULL, ":"))
+ for(dir = strtok(p, ":"); dir; dir = strtok(NULL, ":"))
if(!stat(dir, &st) && st.st_mtime > mtime)
return 0;
- free(path);
+ free(p);
return 1;
}