diff options
Diffstat (limited to 'user/i3wm/i3wm-musl-glob-tilde.patch')
-rw-r--r-- | user/i3wm/i3wm-musl-glob-tilde.patch | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/user/i3wm/i3wm-musl-glob-tilde.patch b/user/i3wm/i3wm-musl-glob-tilde.patch index 82ad6195b..d4c2d832e 100644 --- a/user/i3wm/i3wm-musl-glob-tilde.patch +++ b/user/i3wm/i3wm-musl-glob-tilde.patch @@ -4,7 +4,7 @@ diff -urp i3-4.11/i3bar/src/main.c i3-4.11.new/i3bar/src/main.c @@ -45,14 +45,20 @@ void debuglog(char *fmt, ...) { * */ - char *expand_path(char *path) { + static char *expand_path(char *path) { - static glob_t globbuf; - if (glob(path, GLOB_NOCHECK | GLOB_TILDE, NULL, &globbuf) < 0) { - ELOG("glob() failed\n"); @@ -28,11 +28,11 @@ diff -urp i3-4.11/i3bar/src/main.c i3-4.11.new/i3bar/src/main.c + return sstrdup(path); } - void print_usage(char *elf_name) { + static void print_usage(char *elf_name) { diff -urp i3-4.11/libi3/resolve_tilde.c i3-4.11.new/libi3/resolve_tilde.c --- i3-4.11/libi3/resolve_tilde.c 2015-09-30 07:55:10.000000000 +0100 +++ i3-4.11.new/libi3/resolve_tilde.c 2016-02-08 20:03:47.849230953 +0000 -@@ -19,27 +19,18 @@ +@@ -19,28 +19,18 @@ * */ char *resolve_tilde(const char *path) { @@ -53,9 +53,9 @@ diff -urp i3-4.11/libi3/resolve_tilde.c i3-4.11.new/libi3/resolve_tilde.c - } else { - head = globbuf.gl_pathv[0]; - result = scalloc(strlen(head) + (tail ? strlen(tail) : 0) + 1, 1); -- strncpy(result, head, strlen(head)); -- if (tail) -- strncat(result, tail, strlen(tail)); +- strcpy(result, head); +- if (tail) { +- strcat(result, tail); + if (strncmp(path, "~/", 2) == 0) { + home = getenv("HOME"); + if (home != NULL) { @@ -64,7 +64,7 @@ diff -urp i3-4.11/libi3/resolve_tilde.c i3-4.11.new/libi3/resolve_tilde.c + strcpy(expanded, home); + strcat(expanded, path+1); + return expanded; -+ } + } } - globfree(&globbuf); |