[PATCH] Make mktokens accept a random TMPDIR, replace `...` with $(...).

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>From b9724fc82eda2b0d164c33ad3e871d38b298d1ad Mon Sep 17 00:00:00 2001
From: Devin Hussey <husseydevin@xxxxxxxxx>
Date: Thu, 15 Nov 2018 10:30:05 -0500
Subject: [PATCH] Make mktokens accept a random TMPDIR, replace `...` with
 $(...).

Sorry about the multiple commits at once.

Signed-off-by: Devin Hussey <husseydevin@xxxxxxxxx>
---
 src/mktokens | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/mktokens b/src/mktokens
index cd52241..ec801cc 100644
--- a/src/mktokens
+++ b/src/mktokens
@@ -37,7 +37,10 @@
 # token marks the end of a list.  The third column is the name to print in
 # error messages.

-cat > /tmp/ka$$ <<\!
+# set TMPDIR if it isn't already
+[ -z "${TMPDIR}" ] && TMPDIR="/tmp"
+
+cat > "${TMPDIR}/ka$$" <<\!
 TEOF    1    end of file
 TNL    0    newline
 TSEMI    0    ";"
@@ -68,28 +71,28 @@ TWHILE    0    "while"
 TBEGIN    0    "{"
 TEND    1    "}"
 !
-nl=`wc -l /tmp/ka$$`
+nl=$(wc -l "${TMPDIR}/ka$$")
 exec > token.h
-awk '{print "#define " $1 " " NR-1}' /tmp/ka$$
+awk '{print "#define " $1 " " NR-1}' "${TMPDIR}/ka$$"

 exec > token_vars.h

 echo '
 /* Array indicating which tokens mark the end of a list */
 static const char tokendlist[] = {'
-awk '{print "\t" $2 ","}' /tmp/ka$$
+awk '{print "\t" $2 ","}' "${TMPDIR}/ka$$"
 echo '};

 static const char *const tokname[] = {'
 sed -e 's/"/\\"/g' \
     -e 's/[^     ]*[     ][     ]*[^     ]*[     ][     ]*\(.*\)/    "\1",/' \
-    /tmp/ka$$
+    "${TMPDIR}/ka$$"
 echo '};
 '
-sed 's/"//g' /tmp/ka$$ | awk '
+sed 's/"//g' "${TMPDIR}/ka$$" | awk '
 /TNOT/{print "#define KWDOFFSET " NR-1; print "";
       print "static const char *const parsekwd[] = {"}
 /TNOT/,/neverfound/{if (last) print "    \"" last "\","; last = $3}
 END{print "    \"" last "\"\n};"}'

-rm /tmp/ka$$
+rm "${TMPDIR}/ka$$"
-- 
2.19.1



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux