tisum.awk: make flush work everywhere else again - plan9port - [fork] Plan 9 from user space (HTM) git clone git://src.adamsgaard.dk/plan9port (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 7c8e7ef4c47b40ab9996fe98d72341cde0b5ab40 (DIR) parent 1a22c43f78a9accbcfcffca1b0e3718e4d90e869 (HTM) Author: Russ Cox <rsc@swtch.com> Date: Sat, 6 Dec 2008 15:45:15 -0800 isum.awk: make flush work everywhere else again Diffstat: M dist/isum.awk | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) --- (DIR) diff --git a/dist/isum.awk b/dist/isum.awk t@@ -10,8 +10,9 @@ BEGIN { updates = "/dev/stderr" } -function fflush(filename) +function myflush(f) { + # fflush is not available on sun, but system("") appears to work everywhere system("") } t@@ -23,7 +24,7 @@ function clearstatus(noflush, i) printf("\b \b") >updates statuslen = 0 if(!noflush) - fflush(updates) + myflush(updates) } function status(s) t@@ -33,7 +34,7 @@ function status(s) clearstatus(1) printf(" %s ", s) >updates statuslen = length(s)+5 - fflush(updates) + myflush(updates) } debug!=0 { print "# " $0 } t@@ -47,10 +48,10 @@ debug!=0 { print "# " $0 } clearstatus() if(debug) print "% mark" print >out - fflush(out) + myflush(out) if(copy){ print >copy - fflush(copy) + myflush(copy) } cmd = "" printtabs = 1 # print indented lines immediately following t@@ -61,10 +62,10 @@ debug!=0 { print "# " $0 } /^ / && printtabs!=0 { clearstatus() print >out - fflush(out) + myflush(out) if(copy){ print >copy - fflush(copy) + myflush(copy) } next } t@@ -92,10 +93,10 @@ debug!=0 { print "# " $0 } errors = 0 if(verbose){ print >out - fflush(out) + myflush(out) if(copy){ print >copy - fflush(copy) + myflush(copy) } } cd = $0 "\n" t@@ -111,10 +112,10 @@ errors != 0 { clearstatus() if(debug) print "% errors" printf "%s", cmd >out - fflush(out) + myflush(out) if(copy){ printf "%s", cmd >copy - fflush(copy) + myflush(copy) } cmd = "" next t@@ -144,10 +145,10 @@ errors != 0 { if(debug) print "% errors1" errors = 1 printf ">>> %s", cmd >out - fflush(out) + myflush(out) if(copy){ printf ">>> %s", cmd >copy - fflush(copy) + myflush(copy) } cmd = "" }