[svn:parrot] r43095 - trunk/runtime/parrot/library

fperrad at svn.parrot.org fperrad at svn.parrot.org
Wed Dec 16 12:33:14 UTC 2009


Author: fperrad
Date: Wed Dec 16 12:33:14 2009
New Revision: 43095
URL: https://trac.parrot.org/parrot/changeset/43095

Log:
[distutils] escape JSON strings

Modified:
   trunk/runtime/parrot/library/distutils.pir

Modified: trunk/runtime/parrot/library/distutils.pir
==============================================================================
--- trunk/runtime/parrot/library/distutils.pir	Wed Dec 16 12:32:44 2009	(r43094)
+++ trunk/runtime/parrot/library/distutils.pir	Wed Dec 16 12:33:14 2009	(r43095)
@@ -2445,7 +2445,8 @@
     name = get_name(kv :flat :named)
 
     .local string abstract
-    abstract = get_value('abstract', kv :flat :named)
+    $S0 = get_value('abstract', kv :flat :named)
+    abstract = _json_escape($S0)
 
     .local string authority
     authority = get_value('authority', kv :flat :named)
@@ -2460,10 +2461,12 @@
     license_uri = get_value('license_uri', kv :flat :named)
 
     .local string copyright_holder
-    copyright_holder = get_value('copyright_holder', kv :flat :named)
+    $S0 = get_value('copyright_holder', kv :flat :named)
+    copyright_holder = _json_escape($S0)
 
     .local string description
-    description = get_value('description', kv :flat :named)
+    $S0 = get_value('description', kv :flat :named)
+    description = _json_escape($S0)
 
     .local string keywords
     keywords = ''
@@ -2575,6 +2578,13 @@
     print $S0
 .end
 
+.sub '_json_escape' :anon
+    .param string str
+    $P0 = split '"', str
+    str = join '\"', $P0
+    .return (str)
+.end
+
 =head3 Step manifest
 
 =over 4


More information about the parrot-commits mailing list