Author: bernhard
Date: Mon May 5 13:11:23 2008
New Revision: 27326
Modified:
trunk/languages/plumhead/src/common/builtins.pir
trunk/languages/plumhead/src/phc/past_xml_to_past_nqp.xsl
Log:
[Plumhead]
decode Base64 encoded string, before using them in setting up PAST
Modified: trunk/languages/plumhead/src/common/builtins.pir
==============================================================================
--- trunk/languages/plumhead/src/common/builtins.pir (original)
+++ trunk/languages/plumhead/src/common/builtins.pir Mon May 5 13:11:23 2008
@@ -1,5 +1,18 @@
# $Id$
+# a helper for the PHC variant
+.sub 'decode_base64'
+ .param string base64
+
+ .local pmc dec_sub
+ dec_sub = get_global [ "MIME"; "Base64" ], 'decode_base64'
+
+ .local string result_decode
+ result_decode = dec_sub( base64 )
+
+ .return ( result_decode )
+.end
+
.sub 'print_newline'
say ''
.end
Modified: trunk/languages/plumhead/src/phc/past_xml_to_past_nqp.xsl
==============================================================================
--- trunk/languages/plumhead/src/phc/past_xml_to_past_nqp.xsl (original)
+++ trunk/languages/plumhead/src/phc/past_xml_to_past_nqp.xsl Mon May 5
13:11:23 2008
@@ -52,7 +52,7 @@
<xsl:template match="@value">
<xsl:choose>
<xsl:when test="../@encoding = 'base64'" >
- :<xsl:value-of select="name()" />( "\n" ),
+ :<xsl:value-of select="name()" />( decode_base64( '<xsl:value-of
select="." />' ) ),
</xsl:when>
<xsl:otherwise>
:<xsl:value-of select="name()" />( '<xsl:value-of select="." />' ),