From c8da8a640ae757a12a1692c76cea5f1902a5d2c7 Mon Sep 17 00:00:00 2001 From: Ingo Karkat Date: Thu, 26 Jan 2012 14:48:29 +0100 Subject: [PATCH] Get rid of cleanup, only use TMP_FILE in listall. After the recent refactorings, the temporary file is only needed for the listall action. Therefore, the creation-checks and eventual cleanup can be restricted to the listall action, which should slightly speed up the overall script execution. --- todo.sh | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/todo.sh b/todo.sh index 89062f01..45948a5a 100755 --- a/todo.sh +++ b/todo.sh @@ -302,12 +302,6 @@ die() exit 1 } -cleanup() -{ - [ -f "$TMP_FILE" ] && rm "$TMP_FILE" - return 0 -} - cleaninput() { # Parameters: When $1 = "for sed", performs additional escaping for use @@ -670,7 +664,6 @@ ACTION=${1:-$TODOTXT_DEFAULT_ACTION} [ -d "$TODO_DIR" ] || die "Fatal Error: $TODO_DIR is not a directory" ( cd "$TODO_DIR" ) || die "Fatal Error: Unable to cd to $TODO_DIR" -[ -w "$TMP_FILE" ] || echo -n > "$TMP_FILE" || die "Fatal Error: Unable to write to $TMP_FILE" [ -f "$TODO_FILE" ] || cp /dev/null "$TODO_FILE" [ -f "$DONE_FILE" ] || cp /dev/null "$DONE_FILE" [ -f "$REPORT_FILE" ] || cp /dev/null "$REPORT_FILE" @@ -854,9 +847,7 @@ then elif [ -d "$TODO_ACTIONS_DIR" -a -x "$TODO_ACTIONS_DIR/$action" ] then "$TODO_ACTIONS_DIR/$action" "$@" - status=$? - cleanup - exit $status + exit $? fi ## Only run if $action isn't found in .todo.actions.d @@ -1082,12 +1073,15 @@ case $action in "listall" | "lsa" ) shift ## Was lsa; new $1 is first search term + [ -w "$TMP_FILE" ] || echo -n > "$TMP_FILE" || die "Fatal Error: Unable to write to $TMP_FILE" cat "$TODO_FILE" "$DONE_FILE" > "$TMP_FILE" TOTAL=$( sed -n '$ =' "$TODO_FILE" ) post_filter_command="awk -v TOTAL=$TOTAL -v PADDING=${#TOTAL} '{ \$1 = sprintf(\"%\" PADDING \"d\", (\$1 > TOTAL ? 0 : \$1)); print }' " TODOTXT_VERBOSE=0 _list "$TMP_FILE" "$@" + [ -f "$TMP_FILE" ] && rm "$TMP_FILE" + if [ $TODOTXT_VERBOSE -gt 0 ]; then TDONE=$( sed -n '$ =' "$DONE_FILE" ) TASKNUM=$(TODOTXT_PLAIN=1 TODOTXT_VERBOSE=0 _list "$TODO_FILE" "$@" | sed -n '$ =') @@ -1283,5 +1277,3 @@ note: PRIORITY must be anywhere from A to Z." * ) usage;; esac - -cleanup