FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
putty/licence.pl at master · github/putty · GitHub
This repository was archived by the owner on Oct 20, 2023. It is now read-only.
github
/
putty
Public archive
Notifications
You must be signed in to change notification settings
Fork
152
Star
342
Code
Pull requests
1
Actions
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
putty
/
licence.pl
Copy path
More file actions
More file actions
Latest commit
History
History
History
115 lines (91 loc) · 2.75 KB
Breadcrumbs
putty
/
licence.pl
Copy path
File metadata and controls
115 lines (91 loc) · 2.75 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#
!/usr/bin/env perl -w
#
This script generates licence.h (containing the PuTTY licence in the
#
form of macros expanding to C string literals) from the LICENCE
#
master file. It also regenerates the licence-related Halibut input
#
files.
use
File::Basename;
#
Read the input file.
$infile
=
"
LICENCE
"
;
open
my
$in
,
$infile
or
die
"
$infile
: open:
$!
\n
"
;
my
@lines
= ();
while
(<
$in
>) {
chomp
;
push
@lines
,
$_
;
}
close
$in
;
#
Format into paragraphs.
my
@paras
= ();
my
$para
=
undef
;
for
my
$line
(
@lines
) {
if
(
$line
eq
"
"
) {
$para
=
undef
;
}
elsif
(!
defined
$para
) {
push
@paras
,
$line
;
$para
= \
$paras
[
$#paras
];
}
else
{
$$para
.=
"
"
.
$line
;
}
}
#
Get the copyright years and short form of copyright holder.
die
"
bad format of first paragraph
\n
"
unless
$paras
[0] =~
m
!
copyright ([^
\.
]*)
\.
!
i
;
$shortdetails
=
$1
;
#
Write out licence.h.
$outfile
=
"
licence.h
"
;
open
my
$out
,
"
>
"
,
$outfile
or
die
"
$outfile
: open:
$!
\n
"
;
select
$out
;
print
"
/*
\n
"
;
print
"
*
$outfile
- macro definitions for the PuTTY licence.
\n
"
;
print
"
*
\n
"
;
print
"
* Generated by @{[basename __FILE__]} from
$infile
.
\n
"
;
print
"
* You should edit those files rather than editing this one.
\n
"
;
print
"
*/
\n
"
;
print
"
\n
"
;
print
"
#define LICENCE_TEXT(parsep)
\\\n
"
;
for
my
$i
(0..
$#paras
) {
my
$lit
= &stringlit(
$paras
[
$i
]);
print
"
parsep
\\\n
"
if
$i
> 0;
print
"
\"
$lit
\"
"
;
print
"
\\
"
if
$i
<
$#paras
;
print
"
\n
"
;
}
print
"
\n
"
;
printf
"
#define SHORT_COPYRIGHT_DETAILS
\"
%s
\"\n
"
, &stringlit(
$shortdetails
);
sub
stringlit
{
my
(
$lit
) =
@_
;
$lit
=~
s
!
\\
!
\\\\
!
g
;
$lit
=~
s
!
"
!
\\
"
!
g
;
return
$lit
;
}
close
$out
;
#
Write out doc/licence.but.
$outfile
=
"
doc/licence.but
"
;
open
$out
,
"
>
"
,
$outfile
or
die
"
$outfile
: open:
$!
\n
"
;
select
$out
;
print
"
\\
# Generated by @{[basename __FILE__]} from
$infile
.
\n
"
;
print
"
\\
# You should edit those files rather than editing this one.
\n\n
"
;
print
"
\\
A{licence} PuTTY
\\
ii{Licence}
\n\n
"
;
for
my
$i
(0..
$#paras
) {
my
$para
= &halibutescape(
$paras
[
$i
]);
if
(
$i
== 0) {
$para
=~
s
!
copyright
!
\\
i{copyright}
!
;
#
index term in paragraph 1
}
print
"
$para
\n\n
"
;
}
close
$out
;
#
And write out doc/copy.but, which defines a macro used in the manual
#
preamble blurb.
$outfile
=
"
doc/copy.but
"
;
open
$out
,
"
>
"
,
$outfile
or
die
"
$outfile
: open:
$!
\n
"
;
select
$out
;
print
"
\\
# Generated by @{[basename __FILE__]} from
$infile
.
\n
"
;
print
"
\\
# You should edit those files rather than editing this one.
\n\n
"
;
printf
"
\\
define{shortcopyrightdetails}
%s
\n\n
"
,
&halibutescape(
$shortdetails
);
close
$out
;
sub
halibutescape
{
my
(
$text
) =
@_
;
$text
=~
s
!
[
\\
{}]
!
\\
$&
!
g
;
#
Halibut escaping
$text
=~
s
!
"([^"]*)"
!
\\
q{
$1
}
!
g
;
#
convert quoted strings to \q{}
return
$text
;
}
Back
|
FazBrowse Home
|
New Git URL