From 8aacb4d5fbb4909efa1531e7883c14865387ccd5 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 24 Mar 2022 03:05:23 -0700 Subject: don't create temp file when not needed. --- cppawk | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/cppawk b/cppawk index f33cab8..7b166a0 100755 --- a/cppawk +++ b/cppawk @@ -154,25 +154,28 @@ done awk="command $(quote "$awk")" prepro="command $(quote "$prepro")" -trap 'rm -f $tmp_file' EXIT INT TERM - if [ -n "$awk_file" ] ; then - tmp_file=$(mktemp) awk_file_dir=$(dirname "$awk_file") - $delhashbang "$awk_file" | \ - eval "$prepro $incopt\"$awk_file_dir\" $prepro_opts -" | \ - collapse > $tmp_file - [ $prepro_only ] \ - && cat $tmp_file \ - || eval "$awk $awk_opts -f $tmp_file -- \"\$@\"" + if [ $prepro_only ] ; then + $delhashbang "$awk_file" \ + | eval "$prepro $incopt\"$awk_file_dir\" $prepro_opts - | collapse" + else + trap 'rm -f $tmp_file' EXIT INT TERM + tmp_file=$(mktemp) + $delhashbang "$awk_file" \ + | eval "$prepro $incopt\"$awk_file_dir\" $prepro_opts - | collapse" \ + > $tmp_file + eval "$awk $awk_opts -f $tmp_file -- \"\$@\"" + fi elif [ $# -gt 0 ] ; then - tmp_file=$(mktemp) if [ $prepro_only ] ; then - printf "%s" "$1" | $delhashbang | \ - eval "$prepro $incopt"$(pwd)" $prepro_opts - | collapse" + printf "%s" "$1" | $delhashbang \ + | eval "$prepro $incopt"$(pwd)" $prepro_opts - | collapse" else - printf "%s" "$1" | $delhashbang | \ - eval "$prepro $incopt"$(pwd)" $prepro_opts - | collapse" > $tmp_file + trap 'rm -f $tmp_file' EXIT INT TERM + tmp_file=$(mktemp) + printf "%s" "$1" | $delhashbang \ + | eval "$prepro $incopt"$(pwd)" $prepro_opts - | collapse" > $tmp_file shift eval "$awk $awk_opts -f $tmp_file -- \"\$@\"" fi -- cgit v1.2.3