]> git.armaanb.net Git - dmenu.git/blobdiff - dmenu_path
using limits.h
[dmenu.git] / dmenu_path
index e725ede43beff1c161d2e04ca10336d9939f2283..d0a32c5ef2494295ea0405f3aa1ce27cbbffd057 100755 (executable)
@@ -1,22 +1,15 @@
 #!/bin/sh
 CACHE=$HOME/.dmenu_cache
-UPTODATE=1
 IFS=:
 
-uptodate() { [ $UPTODATE -eq 1 ]; }
-
-if test ! -f $CACHE 
-then
-       UPTODATE=0
-fi
-
-if uptodate
-then
+uptodate() {
+       test ! -f $CACHE && return 1
        for dir in $PATH
        do
-               test $dir -nt $CACHE && { UPTODATE=0; break; }
+               test $dir -nt $CACHE && return 1
        done
-fi
+       return 0
+}
 
 if ! uptodate
 then
@@ -26,7 +19,8 @@ then
                do
                        test -x "$file" && echo "${file##*/}"
                done
-       done | sort | uniq > $CACHE
+       done | sort | uniq > $CACHE.$$
+       mv $CACHE.$$ $CACHE
 fi
 
 cat $CACHE