1#!/usr/bin/env perl 2# 3# Copyright (C) 2006-2008, 2012, 2014 Internet Systems Consortium, Inc. ("ISC") 4# 5# Permission to use, copy, modify, and/or distribute this software for any 6# purpose with or without fee is hereby granted, provided that the above 7# copyright notice and this permission notice appear in all copies. 8# 9# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15# PERFORMANCE OF THIS SOFTWARE. 16 17# Id: convertxsl.pl,v 1.14 2008/07/17 23:43:26 jinmei Exp 18 19use strict; 20use warnings; 21 22my $rev = 'Id: convertxsl.pl,v 1.14 2008/07/17 23:43:26 jinmei Exp '; 23$rev =~ s/\$//g; 24$rev =~ s/,v//g; 25$rev =~ s/Id: //; 26 27my $xsl = "unknown"; 28my $lines = ''; 29 30while (<>) { 31 chomp; 32 # pickout the id for comment. 33 $xsl = $_ if (/<!-- .Id:.* -->/); 34 # convert Id string to a form not recognisable by cvs. 35 $_ =~ s/<!-- .Id:(.*). -->/<!-- \\045Id: $1\\045 -->/; 36 s/[\ \t]+/ /g; 37 s/\>\ \</\>\</g; 38 s/\"/\\\"/g; 39 s/^/\t\"/; 40 s/[\ \t]+$//g; 41 s/$/\\n\"/; 42 if ($lines eq "") { 43 $lines .= $_; 44 } else { 45 $lines .= "\n" . $_; 46 } 47} 48 49$xsl =~ s/\$//g; 50$xsl =~ s/<!-- Id: //; 51$xsl =~ s/ -->.*//; 52$xsl =~ s/,v//; 53 54print "/*\n * Generated by $rev \n * From $xsl\n */\n"; 55print 'static char xslmsg[] =',"\n"; 56print $lines; 57 58print ';', "\n"; 59