Author: sebor
Date: Wed May 28 13:42:53 2008
New Revision: 661075

URL: http://svn.apache.org/viewvc?rev=661075&view=rev
Log:
2008-05-28  Martin Sebor  <[EMAIL PROTECTED]>

        * bin/genxviews (tmpout): New name of a temporary file to replace
        the final output file with at the end of execution.
        (output): Used tmpout instead of outfile.
        Replaced the final output file only at the end of execution of
        the script.

Modified:
    stdcxx/branches/4.2.x/bin/genxviews

Modified: stdcxx/branches/4.2.x/bin/genxviews
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/bin/genxviews?rev=661075&r1=661074&r2=661075&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/bin/genxviews (original)
+++ stdcxx/branches/4.2.x/bin/genxviews Wed May 28 13:42:53 2008
@@ -73,6 +73,9 @@
 
         o)  # argument is the name of output file (stdout by default)
             outfile=$OPTARG
+
+            # temporary output file (will replace outfile when done)
+            tmpout=$outfile.$$
             ;;
 
         V)  # specify stdcxx branch/version to generate cross-build
@@ -152,16 +155,16 @@
 output ()
 {
     if [ $# -eq 0 ]; then
-        # no arguments provided, copy its own stdin to outfile
-        if [ -z $outfile ]; then
+        # no arguments provided, copy its own stdin to tmpout
+        if [ -z $tmpout ]; then
             cat
         else
-            cat >>$outfile
+            cat >>$tmpout
         fi
-    elif [ -z $outfile ]; then
+    elif [ -z $tmpout ]; then
         echo "$*"
     else
-        echo "$*" >>$outfile
+        echo "$*" >>$tmpout
     fi
 }
 
@@ -644,3 +647,9 @@
   </body>
 </html>
 EOF
+
+# rerame the temporary output file to $outfile, possibly replacing
+# the original $outfile if it exists
+if [ -f "$tmpout" ]; then
+    mv $tmpout $outfile
+fi


Reply via email to