Files
evolution/camel/tests/data/gendoc.pl
Not Zed 99e80d6ecf Add tests.
2000-11-24  Not Zed  <NotZed@HelixCode.com>

	* Makefile.am (SUBDIRS): Add tests.

	* camel-mime-filter-basic.c (filter): Well, I'll add the extra
	bytes here too, lathough not strictly needed, might save a
	re-malloc when we get to complete().

	* camel-mime-filter-charset.c (filter): Make sure we have room if
	we only convert very short data.
	(complete): and here too.

	* tests/Makefile.am: Initial test harness & tests.  Requires gcc
	for this.

	* camel-internet-address.c (d): Turn off debug.

	* camel-charset-map.c (camel_charset_step): Oops, & masks for set
	intersection, not | them.  Dunno how this got even close to
	working.

2000-11-23  Not Zed  <NotZed@HelixCode.com>

	* camel-mime-filter-basic.c (filter): For base64 encoding, the
	output size for 0, 1, or 2 bytes of input can exceed input*2, so
	make sure we account for that as well.
	(complete): And here.
	(complete): Similarly for qp encoding, if we have a trailing
	space, we need some extra bytes (not needed for 'filter()', as any
	such bytes are stored in state/save).

	* camel-mime-utils.c (quoted_decode_step): Removed fixme not required.
	(quoted_encode_close): Dont append a trailing afterall.  Otherwise
	a pass through the encode/decode will grow the message each time.

svn path=/trunk/; revision=6656
2000-11-24 03:18:20 +00:00

66 lines
1.1 KiB
Perl
Executable File

#!/usr/bin/perl
# Generate 'documents' in different encodings, from po files
if ($#ARGV < 0) {
print "Usage: gendoc.pl pofile pofile ...\n";
exit 1;
}
$fmt = "| fmt -u ";
sub read_msgstr()
{
my $str = "";
while (<IN>) {
if (m/^msgstr \"(.*)\"/) {
$str = $1;
if ($str eq "") {
while (<IN>) {
if (m/\"(.*)\"/) {
$str .= $1;
} else {
last;
}
}
}
return $str;
}
}
return "";
}
$unknown = "x-unknown-1";
foreach $name (@ARGV) {
if ($name =~ m@([^/]*).po$@) {
$poname = $1;
open IN,"<$name";
$header = read_msgstr;
if ($header =~ /Content-Type:.*charset=([-a-zA-Z0-9]*)/i) {
$charset = $1;
} else {
$charset = $unknown++;
}
print "Building $poname.$charset.txt from $name\n";
open OUT,"$fmt > $poname.$charset.txt";
while (!eof(IN)) {
$msg = read_msgstr;
# de-escape
$msg =~ s/\\n/\n/gso;
$msg =~ s/\\t/\t/gso;
$msg =~ s/\\(.)/$1/gso;
print OUT $msg." ";
}
close OUT;
close IN;
} else {
printf("ignoring $name, probably not intended\n");
}
}