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 = ""
        }