Ticket #2875: xml.2.patch

File xml.2.patch, 2.7 KB (added by cjr@…, 19 years ago)

Revised patch to base

  • portpkg.tcl

    RCS file: /Volumes/src/cvs/od/proj/darwinports/base/src/package1.0/portpkg.tcl,v
    retrieving revision 1.2
    diff -b -u -r1.2 portpkg.tcl
     
    115115        close $infofd
    116116}
    117117
     118proc xml_escape {s} {
     119        regsub -all {&} $s {\&} s
     120        regsub -all {<} $s {\&lt;} s
     121        regsub -all {>} $s {\&gt;} s
     122        return $s
     123}
     124
    118125proc write_info_plist {infofile portname portversion portrevision} {
     126        set portname [xml_escape $portname]
     127        set portversion [xml_escape $portversion]
     128        set portrevision [xml_escape $portrevision]
    119129
    120130        set infofd [open ${infofile} w+]
    121131        puts $infofd {<?xml version="1.0" encoding="UTF-8"?>
     
    161171}
    162172
    163173proc write_description_plist {infofile portname portversion description} {
     174        set portname [xml_escape $portname]
     175        set portversion [xml_escape $portversion]
     176        set description [xml_escape $description]
     177       
    164178        set infofd [open ${infofile} w+]
    165179        puts $infofd {<?xml version="1.0" encoding="UTF-8"?>
    166180<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     
    186200        set long_description $description
    187201    }
    188202
     203        set portname [xml_escape $portname]
     204        set portversion [xml_escape $portversion]
     205        set long_description [xml_escape $long_description]
     206        set description [xml_escape $description]
     207        set homepage [xml_escape $homepage]
     208       
    189209puts $fd "
    190210<html lang=\"en\">
    191211<head>
  • portmpkg.tcl

    RCS file: /Volumes/src/cvs/od/proj/darwinports/base/src/package1.0/portmpkg.tcl,v
    retrieving revision 1.5
    diff -b -u -r1.5 portmpkg.tcl
     
    145145        return 0
    146146}
    147147
     148proc xml_escape {s} {
     149        regsub -all {&} $s {\&amp;} s
     150        regsub -all {<} $s {\&lt;} s
     151        regsub -all {>} $s {\&gt;} s
     152        return $s
     153}
     154
    148155proc mpkg_write_info_plist {infofile portname portversion portrevision destination dependencies} {
    149156        set vers [split $portversion "."]
    150157       
     
    154161       
    155162        set depxml ""
    156163        foreach dep $dependencies {
     164                set dep [xml_escape $dep]
    157165                append depxml "<dict>
    158166                        <key>IFPkgFlagPackageLocation</key>
    159167                        <string>${dep}</string>
     
    163171                "
    164172        }
    165173
     174        set portname [xml_escape $portname]
     175        set portversion [xml_escape $portversion]
     176        set portrevision [xml_escape $portrevision]
    166177        set infofd [open ${infofile} w+]
    167178        puts $infofd {<?xml version="1.0" encoding="UTF-8"?>
    168179<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">