3 # Yeah, I know, probably 1000 other persons already wrote a script like
4 # this, but I'll tell ya:
6 # THEY DON'T FIT ME :-)
8 # Get readme file as parameter:
10 if($ARGV[0] eq "-c") {
15 my $README = $ARGV[0];
18 print "usage: mkreadme.pl [-c] <README> < manpage\n";
23 push @out, " _ _ ____ _ \n";
24 push @out, " Project ___| | | | _ \\| | \n";
25 push @out, " / __| | | | |_) | | \n";
26 push @out, " | (__| |_| | _ <| |___ \n";
27 push @out, " \\___|\\___/|_| \\_\\_____|\n";
33 # this should be removed:
34 $line =~ s/(\b.|_\b)//g;
36 if($line =~ /^([ \t]*\n|curl)/i) {
37 # cut off headers and empty lines
38 $wline++; # count number of cut off lines
43 $text =~ s/^\s+//g; # cut off preceeding...
44 $text =~ s/\s+$//g; # and trailing whitespaces
46 $tlen = length($text);
48 if($wline && ($olen == $tlen)) {
49 # if the previous line with contents was exactly as long as
50 # this line, then we ignore the newlines!
52 # We do this magic because a header may abort a paragraph at
53 # any line, but we don't want that to be noticed in the output
60 # we only make one empty line max
66 push @out, "\n"; # just an extra newline
68 open(READ
, "<$README") ||
69 die "couldn't read the README infile $README";
78 my @test = `gzip --version 2>&1`;
79 if($test[0] =~ /gzip/) {
80 open(GZIP
, ">dumpit") ||
81 die "can't create the dumpit file, try without -c";
89 system("gzip --best --no-name dumpit");
91 open(GZIP
, "<dumpit.gz") ||
92 die "can't read the dumpit.gz file, try without -c";
96 $gzipped += length($_);
103 # no gzip, no compression!
105 print STDERR
"MEEEP: Couldn't find gzip, disable compression\n";
112 * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
113 * Generation time: $now
117 #include "hugehelp.h"
125 static const unsigned char hugehelpgz[] = {
126 /* This mumbo-jumbo is the huge help text compressed with gzip.
127 Thanks to this operation, the size of this data shrunk from $gzip
128 to $gzipped bytes. You can disable the use of compressed help
129 texts by NOT passing -c to the mkhelp.pl tool. */
135 my @all=split(//, $_);
138 printf(" 0x%02x,", 0+$num);
148 #define BUF_SIZE 0x10000
149 /* Decompress and send to stdout a gzip-compressed buffer */
153 int status,headerlen;
156 /* Make sure no gzip options are set */
157 if (hugehelpgz[3] & 0xfe)
161 z.avail_in = (unsigned int)(sizeof(hugehelpgz) - headerlen);
162 z.next_in = (unsigned char *)hugehelpgz + headerlen;
163 z.zalloc = (alloc_func)Z_NULL;
164 z.zfree = (free_func)Z_NULL;
167 if (inflateInit2(&z, -MAX_WBITS) != Z_OK)
170 buf = malloc(BUF_SIZE);
173 z.avail_out = BUF_SIZE;
175 status = inflate(&z, Z_SYNC_FLUSH);
176 if (status == Z_OK || status == Z_STREAM_END) {
177 fwrite(buf, BUF_SIZE - z.avail_out, 1, stdout);
178 if (status == Z_STREAM_END)
208 $outsize += length($new)+1; # one for the newline
213 # gcc 2.96 claims ISO C89 only is required to support 509 letter strings
215 # terminate and make another fputs() call here
216 print ", stdout);\n fputs(\n";
217 $outsize=length($new)+1;
219 printf("\"%s\\n\"\n", $new);
223 print ", stdout) ;\n}\n";
229 #endif /* USE_MANUAL */