Deleted Added
full compact
dofile.pl (1.1.1.4) dofile.pl (1.1.1.1)
1#! /usr/bin/env perl
1#! /usr/bin/env perl
2# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
2# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
3#
4# Licensed under the OpenSSL license (the "License"). You may not use
5# this file except in compliance with the License. You can obtain a copy
6# in the file LICENSE in the source distribution or at
7# https://www.openssl.org/source/license.html
8
9# Reads one or more template files and runs it through Text::Template
10#
11# It is assumed that this scripts is called with -Mconfigdata, a module
12# that holds configuration data in %config
13
14use strict;
15use warnings;
16
3#
4# Licensed under the OpenSSL license (the "License"). You may not use
5# this file except in compliance with the License. You can obtain a copy
6# in the file LICENSE in the source distribution or at
7# https://www.openssl.org/source/license.html
8
9# Reads one or more template files and runs it through Text::Template
10#
11# It is assumed that this scripts is called with -Mconfigdata, a module
12# that holds configuration data in %config
13
14use strict;
15use warnings;
16
17use FindBin;
18use Getopt::Std;
19
20# We actually expect to get the following hash tables from configdata:
21#
22# %config
23# %target
24# %withargs
25# %unified_info

--- 8 unchanged lines hidden (view full) ---

34# http://search.cpan.org/~mjd/Text-Template-1.46/lib/Text/Template.pm#Automatic_postprocessing_of_template_hunks
35
36package OpenSSL::Template;
37
38# Because we know that Text::Template isn't a core Perl module, we use
39# a fallback in case it's not installed on the system
40use File::Basename;
41use File::Spec::Functions;
17use Getopt::Std;
18
19# We actually expect to get the following hash tables from configdata:
20#
21# %config
22# %target
23# %withargs
24# %unified_info

--- 8 unchanged lines hidden (view full) ---

33# http://search.cpan.org/~mjd/Text-Template-1.46/lib/Text/Template.pm#Automatic_postprocessing_of_template_hunks
34
35package OpenSSL::Template;
36
37# Because we know that Text::Template isn't a core Perl module, we use
38# a fallback in case it's not installed on the system
39use File::Basename;
40use File::Spec::Functions;
42use lib "$FindBin::Bin/perl";
43use with_fallback "Text::Template 1.46";
41use lib catdir(dirname(__FILE__));
42use with_fallback qw(Text::Template);
44
45#use parent qw/Text::Template/;
46use vars qw/@ISA/;
47push @ISA, qw/Text::Template/;
48
49# Override constructor
50sub new {
51 my ($class) = shift;

--- 35 unchanged lines hidden (view full) ---

87
88# Come back to main
89
90package main;
91
92# Helper functions for the templates #################################
93
94# It might be practical to quotify some strings and have them protected
43
44#use parent qw/Text::Template/;
45use vars qw/@ISA/;
46push @ISA, qw/Text::Template/;
47
48# Override constructor
49sub new {
50 my ($class) = shift;

--- 35 unchanged lines hidden (view full) ---

86
87# Come back to main
88
89package main;
90
91# Helper functions for the templates #################################
92
93# It might be practical to quotify some strings and have them protected
95# from possible harm. These functions primarily quote things that might
94# from possible harm. These functions primarly quote things that might
96# be interpreted wrongly by a perl eval.
97
98# quotify1 STRING
99# This adds quotes (") around the given string, and escapes any $, @, \,
100# " and ' by prepending a \ to them.
101sub quotify1 {
102 my $s = shift @_;
103 $s =~ s/([\$\@\\"'])/\\$1/g;
104 '"'.$s.'"';
105}
106
107# quotify_l LIST
108# For each defined element in LIST (i.e. elements that aren't undef), have
95# be interpreted wrongly by a perl eval.
96
97# quotify1 STRING
98# This adds quotes (") around the given string, and escapes any $, @, \,
99# " and ' by prepending a \ to them.
100sub quotify1 {
101 my $s = shift @_;
102 $s =~ s/([\$\@\\"'])/\\$1/g;
103 '"'.$s.'"';
104}
105
106# quotify_l LIST
107# For each defined element in LIST (i.e. elements that aren't undef), have
109# it quotified with 'quotify1'
108# it quotified with 'quotofy1'
110sub quotify_l {
111 map {
112 if (!defined($_)) {
113 ();
114 } else {
115 quotify1($_);
116 }
117 } @_;

--- 53 unchanged lines hidden (view full) ---

171 $x } @ARGV)
172 : join("", <STDIN>);
173
174# Engage! ############################################################
175
176# Load the full template (combination of files) into Text::Template
177# and fill it up with our data. Output goes directly to STDOUT
178
109sub quotify_l {
110 map {
111 if (!defined($_)) {
112 ();
113 } else {
114 quotify1($_);
115 }
116 } @_;

--- 53 unchanged lines hidden (view full) ---

170 $x } @ARGV)
171 : join("", <STDIN>);
172
173# Engage! ############################################################
174
175# Load the full template (combination of files) into Text::Template
176# and fill it up with our data. Output goes directly to STDOUT
177
179my $template =
180 OpenSSL::Template->new(TYPE => 'STRING',
181 SOURCE => $text,
182 PREPEND => qq{use lib "$FindBin::Bin/perl";});
178my $template = OpenSSL::Template->new(TYPE => 'STRING', SOURCE => $text );
183
184sub output_reset_on {
185 $template->output_reset_on();
186 "";
187}
188sub output_on {
189 $template->output_on();
190 "";

--- 20 unchanged lines hidden ---
179
180sub output_reset_on {
181 $template->output_reset_on();
182 "";
183}
184sub output_on {
185 $template->output_on();
186 "";

--- 20 unchanged lines hidden ---