fixed escaping handling and added direct links to bugzilla report for bug
* doc/ChangeLog.awk doc/ChangeLog.xsl: fixed escaping
handling and added direct links to bugzilla report for
bug numbers.
Daniel
diff --git a/ChangeLog b/ChangeLog
index 85bf1da..fbb9e2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun May 16 01:07:16 CEST 2004 Daniel Veillard <daniel@veillard.com>
+
+ * doc/ChangeLog.awk doc/ChangeLog.xsl: fixed escaping
+ handling and added direct links to bugzilla report for
+ bug numbers.
+
Sun May 16 11:11:13 HKT 2004 William Brack <wbrack@mmm.com.hk>
* error.c: modified to assure proper user data is sent to
diff --git a/doc/ChangeLog.awk b/doc/ChangeLog.awk
index 9a4cfb6..eb0db03 100755
--- a/doc/ChangeLog.awk
+++ b/doc/ChangeLog.awk
@@ -1,4 +1,12 @@
#!/bin/awk -f
+function translate(str) {
+ while (sub(/&/, "#amp;", str) == 1);
+ while (sub(/#amp;/, "\\&", str) == 1); # fun isn't it ?
+ while (sub(/</, "\\<", str) == 1);
+ while (sub(/>/, "\\>", str) == 1);
+ sub(/[0-9][0-9][0-9][0-9][0-9]+/, "<bug number='&'/>", str)
+ return(str)
+}
BEGIN {
nb_entry = 0
in_entry = 0
@@ -7,14 +15,14 @@
print "<log>"
}
END {
- if (in_item == 1) printf("%s</item>\n", item)
+ if (in_item == 1) printf("%s</item>\n", translate(item))
if (in_entry == 1) print " </entry>"
print "</log>"
}
/^[ \t]*$/ { next }
/^[A-Za-z0-9]/ {
match($0, "\(.*\) \([A-Z]+\) \([0-9][0-9][0-9][0-9]\) \(.*\) <\(.*\)>", loge)
- if (in_item == 1) printf("%s</item>\n", item)
+ if (in_item == 1) printf("%s</item>\n", translate(item))
if (in_entry == 1) print " </entry>"
nb_entry = nb_entry + 1
if (nb_entry > 50) {
@@ -27,7 +35,7 @@
printf(" <entry date='%s' timezone='%s' year='%s'\n who='%s' email='%s'>\n", loge[1], loge[2], loge[3], loge[4], loge[5])
}
/^[ \t]*\*/ {
- if (in_item == 1) printf("%s</item>\n", item)
+ if (in_item == 1) printf("%s</item>\n", translate(item))
in_item = 1
printf(" <item>")
match($0, "[ \t]*. *\(.*\)", loge)
diff --git a/doc/ChangeLog.xsl b/doc/ChangeLog.xsl
index be44abe..a19c3a1 100644
--- a/doc/ChangeLog.xsl
+++ b/doc/ChangeLog.xsl
@@ -39,8 +39,13 @@
</ul>
</xsl:variable>
+ <xsl:template match="bug">
+ <a href="http://bugzilla.gnome.org/show_bug.cgi?id={@number}">
+ <xsl:value-of select="@number"/></a>
+ </xsl:template>
+
<xsl:template match="item">
- <li><xsl:value-of select="."/></li>
+ <li><xsl:apply-templates/></li>
</xsl:template>
<xsl:template match="entry">