pmccabe2html: fix portability issues
authorMats Erik Andersson <gnu@gisladisker.se>
Thu, 19 Sep 2013 17:47:29 +0000 (19:47 +0200)
committerPádraig Brady <P@draigBrady.com>
Thu, 19 Sep 2013 18:54:25 +0000 (19:54 +0100)
Allow awk versions other than Gawk.
Correct wrong HTML tag closures.

ChangeLog
build-aux/pmccabe2html

index 2cc6c94..b58a877 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
+
+       pmccabe2html: Portability to other awk versions.
+       The functions systime() and strftime() are available
+       in Gawk only.  Properly close two HTML-tags 'style'
+       and 'span'.
+       * build-aux/pmccabe2html (BEGIN): Store timing
+       strings in EPOCH_TIME and CHRONOS_TIME.  Replace
+       systime() in HTML_COMMENT.
+       (html_header): Correctly close tag 'style'.
+       (END): Replace strftime() by CHRONOS_TIME.  Close
+       tag 'span' correctly, not as 'div'.
+
 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
 
        getgroups: statement without effect
index 863c73e..094c3e9 100644 (file)
 
 # Prologue & configuration
 BEGIN {
+    # Portable lookup of present time.
+    "date +%s" | getline epoch_time
+    "date" | getline chronos_time
+
     section_global_stats_p = 1
     section_function_cyclo_p = 1
 
@@ -69,7 +73,7 @@ BEGIN {
 Copyright (c) 2007, 2008 Free Software Foundation, Inc."
     html_doctype = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \
 \"http://www.w3.org/TR/html401/loose.dtd\">"
-    html_comment = "<!-- Generated by gnulib's pmccabe2html at " systime() " -->"
+    html_comment = "<!-- Generated by gnulib's pmccabe2html at " epoch_time " -->"
     html_title = "Cyclomatic Complexity report for " package_name
 
     # Wiki options
@@ -211,7 +215,7 @@ function html_header ()
            print cssline
        }
         print "-->"
-       print "</style />"
+       print "</style>"
        close(css)
     }
     print "</head>"
@@ -852,12 +856,12 @@ END {
     if (output_lang == "html")
     {
         print "<div class=\"page_title\">" package_name " Cyclomatic Complexity Report</div>"
-        print "<p>Report generated at: <span class=\"report_timestamp\">" strftime() "</div></p>"
+        print "<p>Report generated at: <span class=\"report_timestamp\">" chronos_time "</span></p>"
     }
     if (output_lang == "wiki")
     {
         print "==" package_name " Cyclomatic Complexity Report=="
-        print "Report generated at: '''" strftime() "'''"
+        print "Report generated at: '''" chronos_time "'''"
     }
 
     if (section_global_stats_p)