it* dwm + patches Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/dwm-sdk URL:git://git.codevoid.de/dwm-sdk codevoid.de 70 1Log /git/dwm-sdk/log.gph codevoid.de 70 1Files /git/dwm-sdk/files.gph codevoid.de 70 1Refs /git/dwm-sdk/refs.gph codevoid.de 70 1README /git/dwm-sdk/file/README.gph codevoid.de 70 1LICENSE /git/dwm-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 9737fb78c8a2c027b908199ab347cac0bdbd609b /git/dwm-sdk/commit/9737fb78c8a2c027b908199ab347cac0bdbd609b.gph codevoid.de 70 1parent bae389fbaa1ee3691465ff3e46a013bc67ef52af /git/dwm-sdk/commit/bae389fbaa1ee3691465ff3e46a013bc67ef52af.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Fri, 8 Jun 2018 22:18:16 +0200 Err codevoid.de 70 i Err codevoid.de 70 iMerge stash (comment in config.h) Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M selfrestart.c | 17 +++++++++++++++-- Err codevoid.de 70 i Err codevoid.de 70 i1 file changed, 15 insertions(+), 2 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/selfrestart.c b/selfrestart.c /git/dwm-sdk/file/selfrestart.c.gph codevoid.de 70 it@@ -1,6 +1,7 @@ Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i+#include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i Err codevoid.de 70 it@@ -13,9 +14,21 @@ Err codevoid.de 70 i * @return char* the path of the current executable Err codevoid.de 70 i */ Err codevoid.de 70 i char *get_dwm_path(){ Err codevoid.de 70 i+ char *path = NULL; Err codevoid.de 70 i+#ifdef __FreeBSD__ Err codevoid.de 70 i+ int mib[4]; Err codevoid.de 70 i+ mib[0] = CTL_KERN; Err codevoid.de 70 i+ mib[1] = KERN_PROC; Err codevoid.de 70 i+ mib[2] = KERN_PROC_PATHNAME; Err codevoid.de 70 i+ mib[3] = -1; Err codevoid.de 70 i+ char buf[1024]; Err codevoid.de 70 i+ size_t cb = sizeof(buf); Err codevoid.de 70 i+ sysctl(mib, 4, buf, &cb, NULL, 0); Err codevoid.de 70 i+ path = buf; Err codevoid.de 70 i+ return path; Err codevoid.de 70 i+#else Err codevoid.de 70 i struct stat s; Err codevoid.de 70 i int r, length, rate = 42; Err codevoid.de 70 i- char *path = NULL; Err codevoid.de 70 i Err codevoid.de 70 i if(lstat("/proc/self/exe", &s) == -1){ Err codevoid.de 70 i perror("lstat:"); Err codevoid.de 70 it@@ -44,8 +57,8 @@ char *get_dwm_path(){ Err codevoid.de 70 i }while(r >= length); Err codevoid.de 70 i Err codevoid.de 70 i path[r] = '\0'; Err codevoid.de 70 i- Err codevoid.de 70 i return path; Err codevoid.de 70 i+#endif Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i /** Err codevoid.de 70 .